309 lines
10 KiB
TeX
309 lines
10 KiB
TeX
%!TEX TS-program = xelatex
|
|
%!TEX encoding = UTF-8 Unicode
|
|
|
|
\documentclass[11pt, letterpaper]{article}
|
|
|
|
% LAYOUT
|
|
%--------------------------------
|
|
% Margins
|
|
\usepackage{geometry}
|
|
\geometry{margin=0in}
|
|
|
|
% Do not indent paragraphs
|
|
\setlength\parindent{0in}
|
|
|
|
% Enable multicolumns
|
|
\usepackage{vwcol}
|
|
\usepackage{multicol}
|
|
|
|
% Colors
|
|
\usepackage{xcolor}
|
|
\definecolor{sidebar}{HTML}{$primary}
|
|
\definecolor{content}{HTML}{$secondary}
|
|
\definecolor{topbar}{HTML}{$tertiary}
|
|
\definecolor{text}{HTML}{$text}
|
|
\definecolor{accent}{HTML}{$tertiary}
|
|
\color{text}
|
|
|
|
% Uncomment to suppress page numbers
|
|
\pagenumbering{gobble}
|
|
|
|
% LANGUAGE
|
|
%--------------------------------
|
|
% Set the main language
|
|
% List Indents
|
|
\usepackage{enumitem}
|
|
|
|
% TYPOGRAPHY
|
|
%--------------------------------
|
|
% Font Awesome
|
|
\usepackage{fontawesome5}
|
|
\usepackage{fontspec}
|
|
\usepackage{xunicode}
|
|
\usepackage{xltxtra}
|
|
% converts LaTeX specials (quotes, dashes etc.) to Unicode
|
|
\defaultfontfeatures{Mapping=tex-text}
|
|
\setromanfont [Ligatures={Common}, Numbers={OldStyle}]{Roboto}
|
|
\newfontfamily{\fallbackfont}{FiraCode Nerd Font}
|
|
% Special characters
|
|
\newcommand{\amper}{{\fontspec[Scale=.95]{Roboto}\selectfont\itshape\&}}
|
|
\newcommand{\fullstar}{{\scriptsize\faStar}}
|
|
\newcommand{\emptystar}{{\scriptsize\faStar[regular]}}
|
|
|
|
% GRAPHICS
|
|
\usepackage{tikz}
|
|
\usepackage{eso-pic}
|
|
|
|
% HEADINGS
|
|
%--------------------------------
|
|
\usepackage{sectsty}
|
|
\usepackage[normalem]{ulem}
|
|
\sectionfont{\rmfamily\mdseries}
|
|
\subsectionfont{\rmfamily\mdseries\scshape\normalsize}
|
|
\subsubsectionfont{\rmfamily\bfseries\upshape\normalsize}
|
|
|
|
% SHAMELESSLY STOLEN STUFF
|
|
% ----------------------------------------------------------------------------
|
|
% based on https://tex.stackexchange.com/questions/65731
|
|
\makeatletter
|
|
\def\cv@hrulefill{{\color{accent}\leavevmode\leaders\hrule height 1pt\hfill\kern\z@}}
|
|
|
|
% line before and after text (some tweaking is required here)
|
|
% based on https://tex.stackexchange.com/questions/15119
|
|
\NewDocumentCommand{\ruleline}{m}{\par\noindent\raisebox{\baselineskip/4}{\makebox[\linewidth]{\cv@hrulefill\hspace{1ex}\raisebox{-\baselineskip/4}{#1}\hspace{1ex}\cv@hrulefill}}}
|
|
\makeatother
|
|
|
|
% PDF SETUP
|
|
%--------------------------------
|
|
\usepackage{hyperref}
|
|
\hypersetup
|
|
{
|
|
pdfauthor={Connor Johnstone},
|
|
pdfsubject={Connor Johnstone's CV},
|
|
pdftitle={Connor Johnstone's CV},
|
|
colorlinks, breaklinks, xetex, bookmarks,
|
|
filecolor=black,
|
|
urlcolor=[HTML]{$tertiary},
|
|
linkcolor=[HTML]{$tertiary},
|
|
citecolor=[HTML]{$tertiary}
|
|
}
|
|
|
|
%=============================================================================
|
|
\begin{document}
|
|
|
|
% Basically the margins of each box section
|
|
\setlength\fboxsep{10pt}
|
|
% Set this to 1pt to see the box outlines
|
|
\setlength\fboxrule{0pt}
|
|
|
|
% BACKGROUND -----------------------------------------------------------------
|
|
\hspace{-10pt}
|
|
\vspace{0.15in}
|
|
\begin{tikzpicture}[remember picture, overlay]
|
|
\filldraw[sidebar, opacity=0.6] (current page.north west) -- (0in,-12in) -- (2.75in,-12in) -- (2.75in,1in) -- cycle;
|
|
\filldraw[topbar, opacity=0.6] (current page.north west) -- (0,-0.7in) -- (10in,-1.4in) -- (current page.north east) -- cycle;
|
|
\filldraw[white] (1.325in,-0.79275in) circle (0.6in);
|
|
\node (logo) at (1.325in,-0.79275in) {\includegraphics[width=1.25in]{logo.png}};
|
|
\end{tikzpicture}
|
|
|
|
% TOP BAR --------------------------------------------------------------------
|
|
\hspace{3.25in}
|
|
\noindent\fbox{%
|
|
\begin{minipage}[t][0.4in]{4.5in}
|
|
\begin{center}
|
|
\Huge Richard \strong{Connor} Johnstone
|
|
\end{center}
|
|
\end{minipage}}
|
|
\vspace{0.5in}
|
|
|
|
% LEFT SIDEBAR ---------------------------------------------------------------
|
|
\noindent\fbox{%
|
|
\begin{minipage}[t][9in]{2.35in}
|
|
\vspace{5pt}
|
|
\hspace{1.25pt}\href{mailto:c@rcjohnstone.com}{\faEnvelope \hspace{10pt} c@rcjohnstone.com}
|
|
|
|
\href{https://rcjohnstone.com}{\faWifi \hspace{9.25pt} rcjohnstone.com}
|
|
|
|
\hspace{1.25pt}\href{https://gitlab.rcjohnstone.com}{\faGitlab \hspace{10pt} gitlab.rcjohnstone.com}
|
|
|
|
\hspace{1.5pt}\href{https://www.linkedin.com/in/rconnorjohnstone/}{\faLinkedin \hspace{10pt} rconnorjohnstone}
|
|
|
|
\vspace{10pt}
|
|
|
|
\setlength\columnsep{2pt}
|
|
|
|
\ruleline{Programming Languages}
|
|
\vspace{-25pt}
|
|
\begin{multicols}{2}
|
|
\begin{flushright}
|
|
\footnotesize
|
|
Python \fullstar\fullstar\fullstar\fullstar \\
|
|
Rust \fullstar\fullstar\fullstar\fullstar \\
|
|
Julia \fullstar\fullstar\fullstar\fullstar \\
|
|
C++ \fullstar\fullstar\fullstar\emptystar \\
|
|
LaTeX \fullstar\fullstar\fullstar\emptystar \\
|
|
Javascript \fullstar\fullstar\fullstar\emptystar \\
|
|
HTML \fullstar\fullstar\fullstar\emptystar \\
|
|
Matlab \fullstar\fullstar\emptystar\emptystar \\
|
|
CSS \fullstar\fullstar\emptystar\emptystar \\
|
|
Haskell \fullstar\fullstar\emptystar\emptystar \\
|
|
Bash \fullstar\fullstar\emptystar\emptystar \\
|
|
FORTRAN \fullstar\fullstar\emptystar\emptystar
|
|
\end{flushright}
|
|
\end{multicols}
|
|
|
|
\ruleline{Languages}
|
|
\vspace{-25pt}
|
|
\begin{multicols}{2}
|
|
\begin{center}
|
|
\footnotesize
|
|
English (Native) \\
|
|
Italian (B2)
|
|
\end{center}
|
|
\end{multicols}
|
|
|
|
\ruleline{Technologies}
|
|
\vspace{-25pt}
|
|
\begin{multicols}{2}
|
|
\begin{flushright}
|
|
\footnotesize
|
|
Docker \fullstar\fullstar\fullstar\fullstar \\
|
|
REST \fullstar\fullstar\fullstar\fullstar \\
|
|
AWS \fullstar\fullstar\fullstar\emptystar \\
|
|
Actix-Web \fullstar\fullstar\fullstar\emptystar \\
|
|
Kubernetes \fullstar\fullstar\emptystar\emptystar
|
|
\end{flushright}
|
|
\end{multicols}
|
|
|
|
\ruleline{Other}
|
|
\vspace{-25pt}
|
|
\begin{multicols}{2}
|
|
\begin{center}
|
|
\footnotesize
|
|
Git \\
|
|
Vim \\
|
|
GNU/Linux \\
|
|
CI/CD \\
|
|
Microsoft Office365 \\
|
|
Agile
|
|
\end{center}
|
|
\end{multicols}
|
|
|
|
\ruleline{Skills}
|
|
|
|
\vspace{-35pt}
|
|
\subsection*{\center{\textbf{Astrodynamics}}}
|
|
\vspace{-5pt}
|
|
\footnotesize{
|
|
Experience writing software for satellite estimation, guidance, navigation, and control,
|
|
including statistical orbit determination using Kalman Filters, and orbital propagation
|
|
including multiple special perturbations.
|
|
}
|
|
|
|
\vspace{-35pt}
|
|
\subsection*{\center{\textbf{ADCS}}}
|
|
\vspace{-5pt}
|
|
\footnotesize{
|
|
Experience writing, testing, and debugging spacecraft attitude determination and control
|
|
software for multiple on-orbit spacecraft.
|
|
}
|
|
|
|
\vspace{-35pt}
|
|
\subsection*{\center{\textbf{Trajectory Optimization}}}
|
|
\vspace{-5pt}
|
|
\footnotesize{
|
|
Academic and on-the-job experience writing optimal control laws for low and impulsive thrust
|
|
spacecraft thrust systems.
|
|
}
|
|
|
|
\vspace{-35pt}
|
|
\subsection*{\center{\textbf{REST Microservices}}}
|
|
\vspace{-5pt}
|
|
\footnotesize{
|
|
Experience architecting, developing, and deploying operationalized assimilative
|
|
space-weather models as well as a handful of other projects. Well versed in the
|
|
lifecycle of RESTful HTTP microservice applications.
|
|
}
|
|
|
|
\vspace{-35pt}
|
|
\subsection*{\center{\textbf{Embedded Software}}}
|
|
\vspace{-5pt}
|
|
\footnotesize{
|
|
Some experience writing on-board satellite flight software for a variety of applications.
|
|
}
|
|
|
|
\end{minipage}}
|
|
\hspace{-5pt}
|
|
% MAIN CONTENT ---------------------------------------------------------------
|
|
\noindent\fbox{%
|
|
\begin{minipage}[t][9in]{\dimexpr\textwidth-4\fboxsep-2.35in\relax}
|
|
|
|
\vspace{-10pt}
|
|
|
|
\subsection*{\textbf{Education}}
|
|
\vspace{-18pt}
|
|
\hrulefill \\
|
|
Master's of Science -- \textbf{Aerospace Engineering} -- University of Colorado at Boulder \\
|
|
\textit{Focus Area: Astrodynamics} \\
|
|
\vspace{-5pt}
|
|
|
|
Bachelor's of Science -- \textbf{Mechanical Engineering} -- University of Kentucky \\
|
|
Bachelor's of Science -- \textbf{Physics} -- University of Kentucky \\
|
|
\textit{Magna Cum Laude, Patterson Scholar, Math Minor} \\
|
|
|
|
\vspace{-20pt}
|
|
|
|
\subsection*{\textbf{Experience}}
|
|
\vspace{-18pt}
|
|
\hrulefill \\
|
|
\textbf{Orion Space Solutions} -- Aerospace Software Engineer -- \textit{Louisville, CO} \\
|
|
Developed astrodynamics software and satellite control algorithms for multiple cube-sat projects
|
|
in LEO and VLEO (under 300km altitude). Also developed and debugged attitude and determination
|
|
software code for use in the validation of on-orbit ADCS systems.
|
|
|
|
Architected, led and contributed to numerous space-weather models of the thermosphere and
|
|
ionosphere. During this effort, I led the push to operationalize scientific code in Fortran and
|
|
IDL into a modern RESTful architecture of containerized micro-services, often beginning by
|
|
breaking down complicated scientific models into requisite components and leading a team to
|
|
develop the core components in modern Rust and Python-based API containers.
|
|
|
|
\vspace{5pt}
|
|
|
|
\textbf{Maxar Space Infrastructure} -- Satellite Flight Software Engineer -- \textit{Westminster, CO} \\
|
|
Developed several embedded algorithms onboard the RTOS flight software for the OSAM-1 satellite
|
|
re-fueling mission, including mission-critical Fault Detection and Recovery algorithms, as well
|
|
as operational solar array code. During this time, I also led a large push for the modernization
|
|
of Maxar SI's software development life cycle, including the inclusion of modern VCS and CI/CD
|
|
best practices.
|
|
|
|
\vspace{5pt}
|
|
|
|
\textbf{Palski and Associates} -- Associate Systems Engineer -- \textit{Colorado Springs, CO} \\
|
|
Maintained and improved both front and back end of a web application, written in Angular and
|
|
deployed through AWS, that provides satellite commanding simulations for the US Air Force in
|
|
conjunction with an educational training program designed to train upcoming satellite operators.
|
|
Also spent several months working on a development initiative to leverage hardware and
|
|
computer-vision tools to create a realistic laboratory simulation of common rendesvous and
|
|
proximity satellite operations using a 1/32 scale model of an operational satellite as well as
|
|
several months developing the tools to perform satellite observations and orbit determination
|
|
using imagery generated from our in-house telescope.
|
|
|
|
\subsection*{\textbf{Research}}
|
|
\vspace{-18pt}
|
|
\hrulefill \\
|
|
\textbf{University of Kentucky} -- Active/Passive Magnetic Shielding -- \textit{Lexington, KY} \\
|
|
Spent two years working on a project that utilized the passive magnetic field shielding
|
|
capabilities of µ-metal material and combined it with an active shielding concept utilizing a
|
|
Helmholtz-coil design.
|
|
|
|
\vspace{5pt}
|
|
|
|
\textbf{University of Kentucky} -- IEC Plasma Generation -- \textit{Lexington, KY} \\
|
|
As a Senior Capstone design project I led a team of Mechanical Engineering students to create an
|
|
inertial-electrostatically confined plasma generated in a vaccuum environment using a Paaschen
|
|
discharge event. Demonstrated applications in high voltage circuitry design and spectrographic
|
|
analysis of plasma in a spacecraft propulsion capacity
|
|
|
|
\end{minipage}}
|
|
\end{document}
|