%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,sans]{moderncv}        % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')

% This is a hack to fix a weird build error in all styles but the contemporary one
% https://tex.stackexchange.com/a/621308
\makeatletter % this will go in the .sty file
\AddToHook{begindocument/before}{%
    \@ifpackageloaded{tikz}{\usetikzlibrary{tikzmark}}{}%
}
\makeatother

% moderncv themes
\moderncvcolor{green}                           % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
\moderncvstyle[]{classic}                     % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
% the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
%\renewcommand{\familydefault}{\sfdefault}         % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
\nopagenumbers{}                                  % uncomment to suppress automatic page numbering for CVs longer than one page

% adjust the page margins
\usepackage[scale=0.94]{geometry}
%\setlength{\hintscolumnwidth}{3cm}                % if you want to change the width of the column with the dates
%\setlength{\makecvheadnamewidth}{10cm}            % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
%\setlength{\listitemsymbolspace}{10pt}            % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)

% font loading
% for luatex and xetex, do not use inputenc and fontenc
% see https://tex.stackexchange.com/a/496643
\ifxetexorluatex
\usepackage{fontspec}
\usepackage{unicode-math}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Latin Modern Roman}
\setsansfont{Latin Modern Sans}
\setmonofont{Latin Modern Mono}
\setmathfont{Latin Modern Math}

% you may also consider Fira Sans Light for a extra modern look
%\setsansfont[ItalicFont={Fira Sans Light Italic},%
%           BoldFont={Fira Sans},%
%           BoldItalicFont={Fira Sans Italic}]%
%           {Fira Sans Light}%
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\fi

% additional packages
\usepackage{moderncvfooti}

% document language
\usepackage[english]{babel}

% personal data
\name{Corwin A.}{Perren}
\address{2724 W. Crestline Dr.}{Bellingham, WA 98226}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
\phone[mobile]{+1~(360)~298~4396}                   % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
\email{caperren@caperren.com}                               % optional, remove / comment the line if not wanted
\homepage{www.caperren.com}                         % optional, remove / comment the line if not wanted

% Social icons
\social[linkedin]{caperren}                        % optional, remove / comment the line if not wanted
\social[github]{caperren}                              % optional, remove / comment the line if not wanted

\photo[64pt][0pt]{_assets/logo}                       % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file

%----------------------------------------------------------------------------------
%            content
%----------------------------------------------------------------------------------
\begin{document}
%-----       resume       ---------------------------------------------------------
    \makecvtitle

    \vspace{-2.5em}


    \section{Education}  % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
    \cventry{June 2019}{B.S. Computer Science}{Oregon State University}{Corvallis, OR}{}{GPA: 3.21 | Program Focus: Mobile, Embedded, and Connected Robotics}  % arguments 3 to 6 can be left empty


    \section{Experience}
    \cventry{Sept. 2019 --\\Apr. 2025}{Hardware Test Engineer I/II}{SpaceX}{Redmond, WA \& Remote}{}{General description no longer than 1--2 lines.\newline{}
    Detailed achievements:
        \begin{itemize}
            \item Achievement 1
            \item Achievement 2 (with sub-achievements)
            \begin{itemize}
                \item Sub-achievement (a);
                \item Sub-achievement (b), with sub-sub-achievements (don't do this!);
                \begin{itemize}
                    \item Sub-sub-achievement i;
                    \item Sub-sub-achievement ii;
                    \item Sub-sub-achievement iii;
                \end{itemize}
                \item Sub-achievement (c);
            \end{itemize}
            \item Achievement 3
            \item Achievement 4
        \end{itemize}}
    \cventry{Jan. 2019 --\\Mar. 2019}{Avionics Test Engineer (Intern)}{SpaceX}{Hawthorne, CA}{}{\small Wrote software in Python for automation of avionics hardware test systems. Performed circuit debugging on test system hardware. Validated test software performance per aerospace standards. Automated Jira work ticket generation for two internal avionics teams to improve product investigation, test, and repair workflows.}
    \cventry{Sept. 2013 -- \\Aug. 2019}{Automation Engineer/Student Automation Engineer}{Sinnhuber Aquatic Research Lab}{Corvalli, OR}{}{Description}
    \cventry{Apr. 2016 -- \\May 2018}{Student Software \& Electrical Engineer}{CEOAS Ocean Mixing Group}{Corvallis, OR}{}{Description}


    \section{Languages}
    \cvitemwithcomment{Language 1}{Skill level}{Comment}


    \section{Computer skills}
    \cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
    \cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
    \cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
    \cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}


    \section{Skills}
%    \cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
% Skill matrix as an alternative to rate one's skills, computer or other.

% Adjusts width of skill matrix columns.
% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
% Examples:
% \setcvskillcolumns[5em][][]%    adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]%   adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]%     adjust fourth (years) column.
% \setcvskillcolumns[][0.45][\widthof{``Year''}]%
% \setcvskillcolumns[\widthof{``Languag''}][0.48][]
% \setcvskillcolumns[\widthof{``Languag''}]%

% Adjusts width of legend columns. Usage \setcvskilllegendcolumns[<width>][<factor>]
% <factor> needs to be between 0 and 1. <width> should be a length smaller than \textwidth
% Examples:
% \setcvskilllegendcolumns[][0.45]
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
% \setcvskilllegendcolumns[0ex][0.46]% this is useful for the banking style

%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry
%% Usage \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
%    \cvskilllegend % insert default legend without lines
%\cvskilllegend*[1em]{}% adjust post spacing
% \cvskilllegend*{Legend}%  Alternatively add a description string
%% adjust the legend entries for other languages, here German
% \cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}

%% Alternative legend style with the first three skill levels in one column
%% Usage \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
    \setcvskilllegendcolumns[][0.6]%  works for classic, casual, banking
% \setcvskilllegendcolumns[][0.55]%  works better for oldstyle and fancy
% \cvskillplainlegend{}
% \cvskillplainlegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}

%% Add a head of the skill matrix table with descriptions.
%% Usage \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
    \cvskillhead[-0.1em]%   this inserts the standard legend in english and adjust padding
%% Adjust head of the skill matrix for other languages
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]

%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
%% Example usages:
    \cvskillentry*{Language:}{3}{Python}{2}{Experienced in Python.}
    \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
    \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
    \cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
    \cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
% \cvskill{<0-5>} command
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}


    \section{Interests}
    \cvitem{hobby 1}{Description}

%
%\section{Extra 1}
%\cvlistitem{Item 1}
%\cvlistitem{Item 2}
%\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?}
%
%\section{Extra 2}
%\cvlistdoubleitem{Item 1}{Item 4}
%\cvlistdoubleitem{Item 2}{Item 5\cite{book2}}
%\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}

%----------------------------------------------------------------------------------------
%	FOOTER
%----------------------------------------------------------------------------------------
    \addtofoot[]{\textit{\small{References available upon request. Detailed experiences are available on my website.}}}

\end{document}
