Compare commits
	
		
			25 Commits
		
	
	
		
			ccb8cb4acc
			...
			2024-04/mb
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| efa0f0760f | |||
| e349dc89bb | |||
| 3964c315df | |||
| 9dffb95070 | |||
| 52871bdf71 | |||
| b080d4af53 | |||
| b4a9e73113 | |||
| 64aab159fa | |||
| 8bdcf88fdc | |||
| 276c709e15 | |||
| 2e08eab36c | |||
| a5768cdb0a | |||
| f146b4b097 | |||
| 5a636bb9aa | |||
| 88a7198f3a | |||
| 6a3676e53d | |||
| 22675b8d45 | |||
| 03353d85ad | |||
| 371d7e8d27 | |||
| 43b8a31053 | |||
| f13cd071c0 | |||
| 97cb5388db | |||
| 6881580482 | |||
| 1fa031cd04 | |||
| 50b888ca24 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -15,3 +15,4 @@ | ||||
| ## Output | ||||
| *.pdf | ||||
| publish/ | ||||
| build/ | ||||
|   | ||||
							
								
								
									
										24
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,5 +1,7 @@ | ||||
| # personal resume makefile | ||||
|  | ||||
| LETTERS = $(shell command ls letters/*.tex -1 | sed 's/letters\///' | sed 's/.tex//') | ||||
|  | ||||
| .PHONY: help | ||||
| # Put it first so that "make" without argument is like "make help" | ||||
| # Adapted from: | ||||
| @@ -10,8 +12,22 @@ help: ## List Makefile targets | ||||
|  | ||||
| clean:  ## Clean up temp resources | ||||
| 	rm --recursive --force publish/ | ||||
| 	rm Awesome-CV/*.log | ||||
| 	rm --recursive --force build/ | ||||
| 	rm --force Awesome-CV/*.log | ||||
|  | ||||
| pdf:  ## Build the resume PDF | ||||
| 	mkdir --parents publish/ | ||||
| 	xelatex -output-directory=publish/ resume.tex content/ | ||||
| resume:  ## Build the resume PDF | ||||
| 	@mkdir --parents publish/ | ||||
| 	@mkdir --parents build/ | ||||
| 	@xelatex -output-directory=build/ resume.tex content/ | ||||
| 	@mv build/resume.pdf publish/resume.pdf | ||||
| 	@echo Publishable build artifact written to publish/resume.pdf | ||||
|  | ||||
| $(LETTERS): | ||||
| 	@mkdir --parents publish/ | ||||
| 	@mkdir --parents build/ | ||||
| 	@cp letters/$@.tex build/coverletter-content.tex | ||||
| 	@xelatex -output-directory=build/ coverletter.tex build/ | ||||
| 	@mv build/coverletter.pdf publish/$@.pdf | ||||
| 	@echo Publishable build artifact written to publish/$@.pdf | ||||
|  | ||||
| letters: $(LETTERS);  ## Build all cover letters, or use <letter name> to build a specific letter | ||||
|   | ||||
							
								
								
									
										17
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								README.md
									
									
									
									
									
								
							| @@ -5,9 +5,18 @@ | ||||
| This work is licensed under a | ||||
| [Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License](https://creativecommons.org/licenses/by-nc-nd/4.0/). | ||||
|  | ||||
| After cloning, be certain to initialize the git submodules. | ||||
| View the published version of this document at the permalink [here](https://cdn.enp.one/resume.pdf). | ||||
|  | ||||
| ## System requirements (Fedora): | ||||
| * `tetex` | ||||
| * `texlive-fontawesome5` | ||||
| * `texlive-sourcesanspro` | ||||
|  | ||||
| - `tetex` | ||||
| - `texlive-fontawesome5` | ||||
| - `texlive-sourcesanspro` | ||||
|  | ||||
| ## System requirements (Ubuntu): | ||||
|  | ||||
| - `texlive` | ||||
| - `texlive-fonts-extra` | ||||
| - `texlive-xelatex` | ||||
|  | ||||
| *After cloning, be certain to initialize the git submodules.* | ||||
|   | ||||
							
								
								
									
										794
									
								
								awesome-cv.cls
									
									
									
									
									
								
							
							
						
						
									
										794
									
								
								awesome-cv.cls
									
									
									
									
									
								
							| @@ -1,794 +0,0 @@ | ||||
| %% Start of file `awesome-cv.cls'. | ||||
| % Awesome CV Class File | ||||
| % | ||||
| % This class has been downloaded from: | ||||
| % https://github.com/posquit0/Awesome-CV | ||||
| % | ||||
| % Author: | ||||
| % Claud D. Park <posquit0.bj@gmail.com> | ||||
| % http://www.posquit0.com | ||||
| % | ||||
| % Notes: | ||||
| % 1) This class file defines the structure and layout of the template file (cv.tex, resume.tex). | ||||
| % 2) It has been written in such a way that under most circumstances you | ||||
| % should not need to edit it. | ||||
| % | ||||
| % Class license: | ||||
| % LPPL v1.3c (http://www.latex-project.org/lppl) | ||||
| % | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Identification | ||||
| %------------------------------------------------------------------------------- | ||||
| \ProvidesClass{awesome-cv}[2017/02/05 v1.6.1 Awesome Curriculum Vitae Class] | ||||
| \NeedsTeXFormat{LaTeX2e} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Class options | ||||
| % | ||||
| % (need to be done before the external package loading, for example because | ||||
| % we need \paperwidth, \paperheight and \@ptsize to be defined before loading | ||||
| % geometry and fancyhdr) | ||||
| %------------------------------------------------------------------------------- | ||||
| % Options for draft or final | ||||
| \DeclareOption{draft}{\setlength\overfullrule{5pt}} | ||||
| \DeclareOption{final}{\setlength\overfullrule{0pt}} | ||||
| % Inherit options of article | ||||
| \DeclareOption*{% | ||||
|   \PassOptionsToClass{\CurrentOption}{article} | ||||
| } | ||||
| \ProcessOptions\relax | ||||
| \LoadClass{article} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                3rd party packages | ||||
| %------------------------------------------------------------------------------- | ||||
| % Needed to make fixed length table | ||||
| \RequirePackage{array} | ||||
| % Needed to handle list environment | ||||
| \RequirePackage{enumitem} | ||||
| % Needed to handle text alignment | ||||
| \RequirePackage{ragged2e} | ||||
| % Needed to configure page layout | ||||
| \RequirePackage{geometry} | ||||
| % Needed to make header & footer effeciently | ||||
| \RequirePackage{fancyhdr} | ||||
| % Needed to manage colors | ||||
| \RequirePackage{xcolor} | ||||
| % Needed to use \ifxetex-\else-\fi statement | ||||
| \RequirePackage{ifxetex} | ||||
| % Needed to use \if-\then-\else statement | ||||
| \RequirePackage{xifthen} | ||||
| % Needed to use a toolbox of programming tools | ||||
| \RequirePackage{etoolbox} | ||||
| % Needed to change line spacing in specific environment | ||||
| \RequirePackage{setspace} | ||||
| % Needed to manage fonts | ||||
| \RequirePackage[quiet]{fontspec} | ||||
| % To support LaTeX quoting style | ||||
| \defaultfontfeatures{Ligatures=TeX} | ||||
| % Needed to manage math fonts | ||||
| \RequirePackage{unicode-math} | ||||
| % Needed to use icons from font-awesome | ||||
| \RequirePackage{fontawesome5} | ||||
| \RequirePackage[default,opentype]{sourcesanspro} | ||||
| % Needed for the photo ID | ||||
| \RequirePackage[skins]{tcolorbox} | ||||
| % Needed to deal a paragraphs | ||||
| \RequirePackage{parskip} | ||||
| % Needed to deal hyperlink | ||||
| \RequirePackage[hidelinks,unicode]{hyperref} | ||||
| \hypersetup{% | ||||
|   pdftitle={}, | ||||
|   pdfauthor={}, | ||||
|   pdfsubject={}, | ||||
|   pdfkeywords={} | ||||
| } | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Configuration for directory locations | ||||
| %------------------------------------------------------------------------------- | ||||
| % Configure a directory location for fonts(default: 'fonts/') | ||||
| \newcommand*{\fontdir}[1][fonts/]{\def\@fontdir{#1}} | ||||
| \fontdir | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Configuration for layout | ||||
| %------------------------------------------------------------------------------- | ||||
| %% Page Layout | ||||
| % Configure page margins with geometry | ||||
| \geometry{left=2.0cm, top=1.5cm, right=2.0cm, bottom=2.0cm, footskip=.5cm} | ||||
|  | ||||
| %% Header & Footer | ||||
| % Set offset to each header and footer | ||||
| \fancyhfoffset{0em} | ||||
| % Remove head rule | ||||
| \renewcommand{\headrulewidth}{0pt} | ||||
| % Clear all header & footer fields | ||||
| \fancyhf{} | ||||
| % Enable if you want to make header or footer using fancyhdr | ||||
| \pagestyle{fancy} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Configuration for colors | ||||
| %------------------------------------------------------------------------------- | ||||
| % Gray-scale colors | ||||
| \definecolor{white}{HTML}{FFFFFF} | ||||
| \definecolor{black}{HTML}{000000} | ||||
| \definecolor{darkgray}{HTML}{333333} | ||||
| \definecolor{gray}{HTML}{5D5D5D} | ||||
| \definecolor{lightgray}{HTML}{999999} | ||||
| % Basic colors | ||||
| \definecolor{green}{HTML}{C2E15F} | ||||
| \definecolor{orange}{HTML}{FDA333} | ||||
| \definecolor{purple}{HTML}{D3A4F9} | ||||
| \definecolor{red}{HTML}{FB4485} | ||||
| \definecolor{blue}{HTML}{6CE0F1} | ||||
| % Text colors | ||||
| \definecolor{darktext}{HTML}{414141} | ||||
| \colorlet{text}{darkgray} | ||||
| \colorlet{graytext}{gray} | ||||
| \colorlet{lighttext}{lightgray} | ||||
| \colorlet{sectiondivider}{gray} | ||||
| % Awesome colors | ||||
| \definecolor{awesome-emerald}{HTML}{00A388} | ||||
| \definecolor{awesome-skyblue}{HTML}{0395DE} | ||||
| \definecolor{awesome-red}{HTML}{DC3522} | ||||
| \definecolor{awesome-pink}{HTML}{EF4089} | ||||
| \definecolor{awesome-orange}{HTML}{FF6138} | ||||
| \definecolor{awesome-nephritis}{HTML}{27AE60} | ||||
| \definecolor{awesome-concrete}{HTML}{95A5A6} | ||||
| \definecolor{awesome-darknight}{HTML}{131A28} | ||||
| \colorlet{awesome}{awesome-red} | ||||
|  | ||||
| % Boolean value to switch section color highlighting | ||||
| \newbool{acvSectionColorHighlight} | ||||
| \setbool{acvSectionColorHighlight}{true} | ||||
|  | ||||
| % Awesome section color | ||||
| \def\@sectioncolor#1#2#3{% | ||||
|   \ifbool{acvSectionColorHighlight}{{\color{awesome}#1#2#3}}{#1#2#3}% | ||||
| } | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Configuration for fonts | ||||
| %------------------------------------------------------------------------------- | ||||
| % Set font for header (default is Roboto) | ||||
| \newfontfamily\headerfont[ | ||||
|   Path=\@fontdir, | ||||
|   UprightFont=*-Regular, | ||||
|   ItalicFont=*-Italic, | ||||
|   BoldFont=*-Bold, | ||||
|   BoldItalicFont=*-BoldItalic, | ||||
| ]{Roboto} | ||||
|  | ||||
| \newfontfamily\headerfontlight[ | ||||
|   Path=\@fontdir, | ||||
|   UprightFont=*-Thin, | ||||
|   ItalicFont=*-ThinItalic, | ||||
|   BoldFont=*-Medium, | ||||
|   BoldItalicFont=*-MediumItalic, | ||||
| ]{Roboto} | ||||
|  | ||||
| \newcommand*{\footerfont}{\sourcesanspro} | ||||
| \newcommand*{\bodyfont}{\sourcesanspro} | ||||
| \newcommand*{\bodyfontlight}{\sourcesansprolight} | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Configuration for styles | ||||
| %------------------------------------------------------------------------------- | ||||
| % Configure styles for each CV elements | ||||
| % For fundamental structures | ||||
| \newcommand*{\headerfirstnamestyle}[1]{{\fontsize{32pt}{1em}\headerfontlight\color{graytext} #1}} | ||||
| \newcommand*{\headerlastnamestyle}[1]{{\fontsize{32pt}{1em}\headerfont\bfseries\color{text} #1}} | ||||
| \newcommand*{\headerpositionstyle}[1]{{\fontsize{7.6pt}{1em}\bodyfont\scshape\color{awesome} #1}} | ||||
| \newcommand*{\headeraddressstyle}[1]{{\fontsize{8pt}{1em}\headerfont\itshape\color{lighttext} #1}} | ||||
| \newcommand*{\headersocialstyle}[1]{{\fontsize{6.8pt}{1em}\headerfont\color{text} #1}} | ||||
| \newcommand*{\headerquotestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\itshape\color{darktext} #1}} | ||||
| \newcommand*{\footerstyle}[1]{{\fontsize{8pt}{1em}\footerfont\scshape\color{lighttext} #1}} | ||||
| \newcommand*{\sectionstyle}[1]{{\fontsize{16pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}} | ||||
| \newcommand*{\subsectionstyle}[1]{{\fontsize{12pt}{1em}\bodyfont\scshape\textcolor{text}{#1}}} | ||||
| \newcommand*{\paragraphstyle}{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{text}} | ||||
|  | ||||
| % For elements of entry | ||||
| \newcommand*{\entrytitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}} | ||||
| \newcommand*{\entrypositionstyle}[1]{{\fontsize{8pt}{1em}\bodyfont\scshape\color{graytext} #1}} | ||||
| \newcommand*{\entrydatestyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} | ||||
| \newcommand*{\entrylocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{awesome} #1}} | ||||
| \newcommand*{\descriptionstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{text} #1}} | ||||
|  | ||||
| % For elements of subentry | ||||
| \newcommand*{\subentrytitlestyle}[1]{{\fontsize{8pt}{1em}\bodyfont\mdseries\color{graytext} #1}} | ||||
| \newcommand*{\subentrypositionstyle}[1]{{\fontsize{7pt}{1em}\bodyfont\scshape\color{graytext} #1}} | ||||
| \newcommand*{\subentrydatestyle}[1]{{\fontsize{7pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} | ||||
| \newcommand*{\subentrylocationstyle}[1]{{\fontsize{7pt}{1em}\bodyfontlight\slshape\color{awesome} #1}} | ||||
| \newcommand*{\subdescriptionstyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\upshape\color{text} #1}} | ||||
|  | ||||
| % For elements of honor | ||||
| \newcommand*{\honortitlestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\color{graytext} #1}} | ||||
| \newcommand*{\honorpositionstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\bfseries\color{darktext} #1}} | ||||
| \newcommand*{\honordatestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\color{graytext} #1}} | ||||
| \newcommand*{\honorlocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{awesome} #1}} | ||||
|  | ||||
| % For elements of skill | ||||
| \newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}} | ||||
| \newcommand*{\skillsetstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\color{text} #1}} | ||||
|  | ||||
| % For elements of the cover letter | ||||
| \newcommand*{\lettersectionstyle}[1]{{\fontsize{14pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}} | ||||
| \newcommand*{\recipientaddressstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\scshape\color{graytext} #1}} | ||||
| \newcommand*{\recipienttitlestyle}[1]{{\fontsize{11pt}{1em}\bodyfont\bfseries\color{darktext} #1}} | ||||
| \newcommand*{\lettertitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{darktext} \underline{#1}}} | ||||
| \newcommand*{\letterdatestyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} | ||||
| \newcommand*{\lettertextstyle}{\fontsize{10pt}{1.4em}\bodyfontlight\upshape\color{graytext}} | ||||
| \newcommand*{\letternamestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}} | ||||
| \newcommand*{\letterenclosurestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{lighttext} #1}} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Commands for personal information | ||||
| %------------------------------------------------------------------------------- | ||||
| % Define photo ID | ||||
| % Usage: \photo[circle|rectangle,edge|noedge,left|right]{<path-to-image>} | ||||
| \newcommand{\photo}[2][circle,edge,left]{% | ||||
|   \def\@photo{#2} | ||||
|   \@for\tmp:=#1\do{% | ||||
|     \ifthenelse{\equal{\tmp}{circle} \or \equal{\tmp}{rectangle}}% | ||||
|       {\let\@photoshape\tmp}{}% | ||||
|     \ifthenelse{\equal{\tmp}{edge} \or \equal{\tmp}{noedge}}% | ||||
|       {\let\@photoedge\tmp}{}% | ||||
|     \ifthenelse{\equal{\tmp}{left} \or \equal{\tmp}{right}}% | ||||
|       {\let\@photoalign\tmp}{}% | ||||
|   }% | ||||
| } | ||||
| \def\@photoshape{circle} | ||||
| \def\@photoedge{edge} | ||||
| \def\@photoalign{left} | ||||
|  | ||||
| % Define writer's name | ||||
| % Usage: \name{<firstname>}{<lastname>} | ||||
| % Usage: \firstname{<firstname>} | ||||
| % Usage: \lastname{<lastname>} | ||||
| % Usage: \familyname{<familyname>} | ||||
| \newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}} | ||||
| \newcommand*{\firstname}[1]{\def\@firstname{#1}} | ||||
| \newcommand*{\lastname}[1]{\def\@lastname{#1}} | ||||
| \newcommand*{\familyname}[1]{\def\@lastname{#1}} | ||||
| \def\@familyname{\@lastname} | ||||
|  | ||||
| % Define writer's address | ||||
| % Usage: \address{<address>} | ||||
| \newcommand*{\address}[1]{\def\@address{#1}} | ||||
|  | ||||
| % Define writer's position | ||||
| % Usage: \position{<position>} | ||||
| \newcommand*{\position}[1]{\def\@position{#1}} | ||||
|  | ||||
| % Defines writer's mobile (optional) | ||||
| % Usage: \mobile{<mobile number>} | ||||
| \newcommand*{\mobile}[1]{\def\@mobile{#1}} | ||||
|  | ||||
| % Defines writer's email (optional) | ||||
| % Usage: \email{<email address>} | ||||
| \newcommand*{\email}[1]{\def\@email{#1}} | ||||
|  | ||||
| % Defines writer's date of birth (optional) | ||||
| % Usage: \dateofbirth{<date>} | ||||
| \newcommand*{\dateofbirth}[1]{\def\@dateofbirth{#1}} | ||||
|  | ||||
| % Defines writer's homepage (optional) | ||||
| % Usage: \homepage{<url>} | ||||
| \newcommand*{\homepage}[1]{\def\@homepage{#1}} | ||||
|  | ||||
| % Defines writer's github (optional) | ||||
| % Usage: \github{<github-nick>} | ||||
| \newcommand*{\github}[1]{\def\@github{#1}} | ||||
|  | ||||
| % Defines writer's gitlab (optional) | ||||
| % Usage: \gitlab{<gitlab-nick>} | ||||
| \newcommand*{\gitlab}[1]{\def\@gitlab{#1}} | ||||
|  | ||||
| % Defines writer's bitbucket (optional) | ||||
| % Usage: \bitbucket{<bitbucket-nick>} | ||||
| \newcommand*{\bitbucket}[1]{\def\@bitbucket{#1}} | ||||
|  | ||||
| % Defines writer's stackoverflow profile (optional) | ||||
| % Usage: \stackoverflow{<so userid>}{<so username>} | ||||
| %   e.g.https://stackoverflow.com/users/123456/sam-smith | ||||
| %       would be \stackoverflow{123456}{sam-smith} | ||||
| \newcommand*{\stackoverflow}[2]{\def\@stackoverflowid{#1}\def\@stackoverflowname{#2}} | ||||
|  | ||||
| % Defines writer's linked-in (optional) | ||||
| % Usage: \linkedin{<linked-in-nick>} | ||||
| \newcommand*{\linkedin}[1]{\def\@linkedin{#1}} | ||||
|  | ||||
| % Defines writer's orcid (optional) | ||||
| % Usage: \orcid{<orcid-num>} | ||||
| \newcommand*{\orcid}[1]{\def\@orcid{#1}} | ||||
|  | ||||
| % Defines writer's twitter (optional) | ||||
| % Usage: \twitter{<twitter handle>} | ||||
| \newcommand*{\twitter}[1]{\def\@twitter{#1}} | ||||
|  | ||||
| % Defines writer's Mastodon (optional) | ||||
| % Usage: \mastodon{<instance>}{<mastodon-nick>} | ||||
| \newcommand*{\mastodon}[2]{\def\@mastodoninstance{#1}\def\@mastodonname{#2}} | ||||
|  | ||||
| % Defines writer's resarchgate (optional) | ||||
| % Usage: \researchgate{<researchgate-account>} | ||||
| \newcommand*{\researchgate}[1]{\def\@researchgate{#1}} | ||||
|  | ||||
| % Defines writer's skype (optional) | ||||
| % Usage: \skype{<skype account>} | ||||
| \newcommand*{\skype}[1]{\def\@skype{#1}} | ||||
|  | ||||
| % Defines writer's reddit (optional) | ||||
| % Usage: \reddit{<reddit account>} | ||||
| \newcommand*{\reddit}[1]{\def\@reddit{#1}} | ||||
|  | ||||
| % Defines writer's xing (optional) | ||||
| % Usage: \xing{<xing name>} | ||||
| \newcommand*{\xing}[1]{\def\@xing{#1}} | ||||
|  | ||||
| % Defines writer's medium profile (optional) | ||||
| % Usage: \medium{<medium account>} | ||||
| \newcommand*{\medium}[1]{\def\@medium{#1}} | ||||
|  | ||||
| % Defines writer's kaggle (optional) | ||||
| % Usage: \kaggle{<kaggle handle>} | ||||
| \newcommand*{\kaggle}[1]{\def\@kaggle{#1}} | ||||
|  | ||||
| % Defines writer's google scholar profile (optional) | ||||
| % Usage: \googlescholar{<googlescholar userid>}{<googlescholar username>} | ||||
| % e.g.https://scholar.google.co.uk/citations?user=wpZDx1cAAAAJ | ||||
| % would be \googlescholar{wpZDx1cAAAAJ}{Name-to-display-next-icon} | ||||
| % If 'googlescholar-name' is not provided than it defaults to | ||||
| % '\firstname \lastname' | ||||
| \newcommand*{\googlescholar}[2]{% | ||||
|   \def\@googlescholarid{#1}% | ||||
|   \ifthenelse{\equal{#2}{}}{% | ||||
|     \def\@googlescholarname{\@firstname~\@lastname}% | ||||
|   }{% | ||||
|     \def\@googlescholarname{#2}% | ||||
|   }% | ||||
| } | ||||
|  | ||||
| % Defines writer's extra information (optional) | ||||
| % Usage: \extrainfo{<extra information>} | ||||
| \newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} | ||||
|  | ||||
| % Defines writer's quote (optional) | ||||
| % Usage: \quote{<quote>} | ||||
| \renewcommand*{\quote}[1]{\def\@quote{#1}} | ||||
|  | ||||
| % Defines recipient's information (cover letter only) | ||||
| % Usage: \recipient{<recipient name>}{<recipient address>} | ||||
| % Usage: \recipientname{<recipient name>} | ||||
| % Usage: \recipientaddress{<recipient address>} | ||||
| \newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}} | ||||
| \newcommand*{\recipientname}[1]{\def\@recipientname{#1}} | ||||
| \newcommand*{\recipientaddress}[1]{\def\@recipientaddress{#1}} | ||||
|  | ||||
| % Defines the title for letter (cover letter only, optional) | ||||
| % Usage: \lettertitle{<title>} | ||||
| \newcommand*{\lettertitle}[1]{\def\@lettertitle{#1}} | ||||
|  | ||||
| % Defines the date for letter (cover letter only) | ||||
| % Usage: \letterdate{<date>} | ||||
| \newcommand*{\letterdate}[1]{\def\@letterdate{#1}} | ||||
|  | ||||
| % Defines a message of opening for letter (cover letter only) | ||||
| % Usage: \letteropening{<message>} | ||||
| \newcommand*{\letteropening}[1]{\def\@letteropening{#1}} | ||||
|  | ||||
| % Defines a message of closing for letter (cover letter only) | ||||
| % Usage: \letterclosing{<message>} | ||||
| \newcommand*{\letterclosing}[1]{\def\@letterclosing{#1}} | ||||
|  | ||||
| % Defines an enclosure for letter (cover letter only, optional) | ||||
| % Usage: \letterenclosure[<enclosure name>]{<enclosure>} | ||||
| \newcommand*{\letterenclname}[1][Enclosure]{\def\@letterenclname{#1}} | ||||
| \newcommand*{\letterenclosure}[2][]{% | ||||
|   % if an optional argument is provided, use it to redefine \enclname | ||||
|   \ifthenelse{\equal{#1}{}}{}{\def\@letterenclname{#1}} | ||||
|   \def\@letterenclosure{#2} | ||||
| } | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Commands for extra | ||||
| %------------------------------------------------------------------------------- | ||||
| %% Define helper macros a user can change easily | ||||
| % Header | ||||
| \newcommand{\acvHeaderNameDelim}{\space} | ||||
| \newcommand{\acvHeaderAfterNameSkip}{.4mm} | ||||
| \newcommand{\acvHeaderAfterPositionSkip}{.4mm} | ||||
| \newcommand{\acvHeaderAfterAddressSkip}{-.5mm} | ||||
| \newcommand{\acvHeaderIconSep}{\space} | ||||
| \newcommand{\acvHeaderSocialSep}{\quad\textbar\quad} | ||||
| \newcommand{\acvHeaderAfterSocialSkip}{6mm} | ||||
| \newcommand{\acvHeaderAfterQuoteSkip}{5mm} | ||||
|  | ||||
| % Others | ||||
| \newcommand{\acvSectionTopSkip}{3mm} | ||||
| \newcommand{\acvSectionContentTopSkip}{2.5mm} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Commands for utilities | ||||
| %------------------------------------------------------------------------------- | ||||
| % Use to align an element of tabular table | ||||
| \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} | ||||
| \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} | ||||
| \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} | ||||
|  | ||||
| % Use to draw horizontal line with specific thickness | ||||
| \def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@} | ||||
|  | ||||
| % Use to execute conditional statements by checking empty string | ||||
| \newcommand*{\ifempty}[3]{\ifthenelse{\isempty{#1}}{#2}{#3}} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Commands for elements of CV structure | ||||
| %------------------------------------------------------------------------------- | ||||
| % Define a header for CV | ||||
| % Usage: \makecvheader | ||||
| \newcommand*{\makecvheader}[1][C]{% | ||||
|   \newcommand*{\drawphoto}{% | ||||
|     \ifthenelse{\isundefined{\@photo}}{}{% | ||||
|       \newlength{\photodim} | ||||
|       \ifthenelse{\equal{\@photoshape}{circle}}% | ||||
|         {\setlength{\photodim}{1.3cm}}% | ||||
|         {\setlength{\photodim}{1.8cm}}% | ||||
|       \ifthenelse{\equal{\@photoedge}{edge}}% | ||||
|         {\def\@photoborder{darkgray}}% | ||||
|         {\def\@photoborder{none}}% | ||||
|       \begin{tikzpicture}% | ||||
|         \node[\@photoshape, draw=\@photoborder, line width=0.3mm, inner sep=\photodim, fill overzoom image=\@photo] () {}; | ||||
|       \end{tikzpicture} | ||||
|     }% | ||||
|   } | ||||
|   \newlength{\headertextwidth} | ||||
|   \newlength{\headerphotowidth} | ||||
|   \ifthenelse{\isundefined{\@photo}}{ | ||||
|     \setlength{\headertextwidth}{\textwidth} | ||||
|     \setlength{\headerphotowidth}{0cm} | ||||
|   }{% | ||||
|     \setlength{\headertextwidth}{0.76\textwidth} | ||||
|     \setlength{\headerphotowidth}{0.24\textwidth} | ||||
|   }% | ||||
|   \begin{minipage}[c]{\headerphotowidth}% | ||||
|     \ifthenelse{\equal{\@photoalign}{left}}{\raggedright\drawphoto}{} | ||||
|   \end{minipage} | ||||
|   \begin{minipage}[c]{\headertextwidth} | ||||
|     \ifthenelse{\equal{#1}{L}}{\raggedright}{\ifthenelse{\equal{#1}{R}}{\raggedleft}{\centering}} | ||||
|     \headerfirstnamestyle{\@firstname}\headerlastnamestyle{{}\acvHeaderNameDelim\@lastname}% | ||||
|     \\[\acvHeaderAfterNameSkip]% | ||||
|     \ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\[\acvHeaderAfterPositionSkip]}}% | ||||
|     \ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\[\acvHeaderAfterAddressSkip]}}% | ||||
|     \headersocialstyle{% | ||||
|       \newbool{isstart}% | ||||
|       \setbool{isstart}{true}% | ||||
|       \ifthenelse{\isundefined{\@mobile}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \href{tel:\@mobile}{\faMobile\acvHeaderIconSep\@mobile}% | ||||
|           \setbool{isstart}{false}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@email}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{mailto:\@email}{\faEnvelope\acvHeaderIconSep\@email}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@dateofbirth}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           % \mbox prevents wrapping of elements% | ||||
|           \mbox{\faBirthdayCake\acvHeaderIconSep\@dateofbirth}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@homepage}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{http://\@homepage}{\faHome\acvHeaderIconSep\@homepage}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@github}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://github.com/\@github}{\faGithubSquare\acvHeaderIconSep\@github}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@gitlab}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://gitlab.com/\@gitlab}{\faGitlab\acvHeaderIconSep\@gitlab}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@bitbucket}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://bitbucket.com/\@bitbucket}{\faBitbucket\acvHeaderIconSep\@bitbucket}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@stackoverflowid}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\acvHeaderIconSep\@stackoverflowname}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@linkedin}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://www.linkedin.com/in/\@linkedin}{\faLinkedin\acvHeaderIconSep\@linkedin}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@orcid}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://orcid.org/\@orcid}{\faOrcid\acvHeaderIconSep\@orcid}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@twitter}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://twitter.com/\@twitter}{\faTwitter\acvHeaderIconSep\@twitter}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@mastodonname}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://\@mastodoninstance/@\@mastodonname}{\faMastodon\acvHeaderIconSep\@mastodonname}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@skype}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \faSkype\acvHeaderIconSep\@skype% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@reddit}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://www.reddit.com/user/\@reddit}{\faReddit\acvHeaderIconSep\@reddit}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@researchgate}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://www.researchgate.net/profile/\@researchgate}{\faResearchgate\acvHeaderIconSep\@researchgate}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@xing}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://www.xing.com/profile/\@xing}{\faXingSquare\acvHeaderIconSep\@xing} | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@medium}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://medium.com/@\@medium}{\faMedium\acvHeaderIconSep\@medium}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@kaggle}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://kaggle.com/\@kaggle}{\faKaggle\acvHeaderIconSep\@kaggle}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@googlescholarid}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \href{https://scholar.google.com/citations?user=\@googlescholarid}{\faGraduationCap\acvHeaderIconSep\@googlescholarname}% | ||||
|         }% | ||||
|       \ifthenelse{\isundefined{\@extrainfo}}% | ||||
|         {}% | ||||
|         {% | ||||
|           \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% | ||||
|           \@extrainfo% | ||||
|         }% | ||||
|     } \\[\acvHeaderAfterSocialSkip]% | ||||
|     \ifthenelse{\isundefined{\@quote}}% | ||||
|       {}% | ||||
|       {\headerquotestyle{\@quote\\}\vspace{\acvHeaderAfterQuoteSkip}}% | ||||
|   \end{minipage}% | ||||
|   \begin{minipage}[c]{\headerphotowidth}% | ||||
|     \ifthenelse{\equal{\@photoalign}{right}}{\raggedleft\drawphoto}{} | ||||
|   \end{minipage} | ||||
| } | ||||
|  | ||||
| % Define a footer for CV | ||||
| % Usage: \makecvfooter{<left>}{<center>}{<right>} | ||||
| \newcommand*{\makecvfooter}[3]{% | ||||
|   \fancyfoot{} | ||||
|   \fancyfoot[L]{\footerstyle{#1}} | ||||
|   \fancyfoot[C]{\footerstyle{#2}} | ||||
|   \fancyfoot[R]{\footerstyle{#3}} | ||||
| } | ||||
|  | ||||
| % Define a section for CV | ||||
| % Usage: \cvsection{<section-title>} | ||||
| \newcommand{\cvsection}[1]{% | ||||
|   \vspace{\acvSectionTopSkip} | ||||
|   \sectionstyle{#1} | ||||
|   \phantomsection | ||||
|   \color{sectiondivider}\vhrulefill{0.9pt} | ||||
| } | ||||
|  | ||||
| % Define a subsection for CV | ||||
| % Usage: \cvsubsection{<subsection-title>} | ||||
| \newcommand{\cvsubsection}[1]{% | ||||
|   \vspace{\acvSectionContentTopSkip} | ||||
|   \vspace{-3mm} | ||||
|   \subsectionstyle{#1} | ||||
|   \phantomsection | ||||
| } | ||||
|  | ||||
| % Define a paragraph for CV | ||||
| \newenvironment{cvparagraph}{% | ||||
|   \vspace{\acvSectionContentTopSkip} | ||||
|   \vspace{-3mm} | ||||
|   \paragraphstyle | ||||
| }{% | ||||
|   \par | ||||
|   \vspace{2mm} | ||||
| } | ||||
|  | ||||
| % Define an environment for cventry | ||||
| \newenvironment{cventries}{% | ||||
|   \vspace{\acvSectionContentTopSkip} | ||||
|   \begin{center} | ||||
| }{% | ||||
|   \end{center} | ||||
| } | ||||
| % Define an entry of cv information | ||||
| % Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>} | ||||
| \newcommand*{\cventry}[5]{% | ||||
|   \vspace{-2.0mm} | ||||
|   \setlength\tabcolsep{0pt} | ||||
|   \setlength{\extrarowheight}{0pt} | ||||
|   \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}} | ||||
|     \ifempty{#2#3} | ||||
|       {\entrypositionstyle{#1} & \entrydatestyle{#4} \\} | ||||
|       {\entrytitlestyle{#2} & \entrylocationstyle{#3} \\ | ||||
|       \entrypositionstyle{#1} & \entrydatestyle{#4} \\} | ||||
|     \multicolumn{2}{L{\textwidth}}{\descriptionstyle{#5}} | ||||
|   \end{tabular*}% | ||||
| } | ||||
|  | ||||
| % Define an environment for cvsubentry | ||||
| \newenvironment{cvsubentries}{% | ||||
|   \begin{center} | ||||
| }{% | ||||
|   \end{center} | ||||
| } | ||||
| % Define a subentry of cv information | ||||
| % Usage: \cvsubentry{<position>}{<title>}{<date>}{<description>} | ||||
| \newcommand*{\cvsubentry}[4]{% | ||||
|   \setlength\tabcolsep{0pt} | ||||
|   \setlength{\extrarowheight}{0pt} | ||||
|   \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}} | ||||
|     \setlength\leftskip{0.2cm} | ||||
|     \subentrytitlestyle{#2} & \ifthenelse{\equal{#1}{}} | ||||
|       {\subentrydatestyle{#3}}{} | ||||
|     \ifthenelse{\equal{#1}{}} | ||||
|       {} | ||||
|       {\subentrypositionstyle{#1} & \subentrydatestyle{#3} \\} | ||||
|     \ifthenelse{\equal{#4}{}} | ||||
|       {} | ||||
|       {\multicolumn{2}{L{17.0cm}}{\subdescriptionstyle{#4}} \\} | ||||
|   \end{tabular*} | ||||
| } | ||||
|  | ||||
| % Define an environment for cvhonor | ||||
| \newenvironment{cvhonors}{% | ||||
|   \vspace{\acvSectionContentTopSkip} | ||||
|   \vspace{-2mm} | ||||
|   \begin{center} | ||||
|     \setlength\tabcolsep{0pt} | ||||
|     \setlength{\extrarowheight}{0pt} | ||||
|     \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{\textwidth - 4.0cm} R{2.5cm}} | ||||
| }{% | ||||
|     \end{tabular*} | ||||
|   \end{center} | ||||
| } | ||||
| % Define a line of cv information(honor, award or something else) | ||||
| % Usage: \cvhonor{<position>}{<title>}{<location>}{<date>} | ||||
| \newcommand*{\cvhonor}[4]{% | ||||
|   \honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3} \\ | ||||
| } | ||||
|  | ||||
| % Define an environment for cvskill | ||||
| \newenvironment{cvskills}{% | ||||
|   \vspace{\acvSectionContentTopSkip} | ||||
|   \vspace{-2.0mm} | ||||
|   \begin{center} | ||||
|     \setlength\tabcolsep{1ex} | ||||
|     \setlength{\extrarowheight}{0pt} | ||||
|     \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{\textwidth * \real{0.9}}} | ||||
| }{% | ||||
|     \end{tabular*} | ||||
|   \end{center} | ||||
| } | ||||
| % Define a line of cv information(skill) | ||||
| % Usage: \cvskill{<type>}{<skillset>} | ||||
| \newcommand*{\cvskill}[2]{% | ||||
| 	\skilltypestyle{#1} & \skillsetstyle{#2} \\ | ||||
| } | ||||
|  | ||||
| % Define an environment for cvitems(for cventry) | ||||
| \newenvironment{cvitems}{% | ||||
|   \vspace{-4.0mm} | ||||
|   \begin{justify} | ||||
|   \begin{itemize}[leftmargin=2ex, nosep, noitemsep] | ||||
|     \setlength{\parskip}{0pt} | ||||
|     \renewcommand{\labelitemi}{\bullet} | ||||
| }{% | ||||
|   \end{itemize} | ||||
|   \end{justify} | ||||
|   \vspace{-4.0mm} | ||||
| } | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %                Commands for elements of Cover Letter | ||||
| %------------------------------------------------------------------------------- | ||||
| % Define an environment for cvletter | ||||
| \newenvironment{cvletter}{% | ||||
|   \lettertextstyle | ||||
| }{% | ||||
| } | ||||
|  | ||||
| % Define a section for the cover letter | ||||
| % Usage: \lettersection{<section-title>} | ||||
| \newcommand{\lettersection}[1]{% | ||||
|   \par\addvspace{2.5ex} | ||||
|   \phantomsection{} | ||||
|   \lettersectionstyle{#1} | ||||
|   \color{sectiondivider}\vhrulefill{0.9pt} | ||||
|   \par\nobreak\addvspace{0.4ex} | ||||
|   \lettertextstyle | ||||
| } | ||||
|  | ||||
| % Define a title of the cover letter | ||||
| % Usage: \makelettertitle | ||||
| \newcommand*{\makelettertitle}{% | ||||
|   \vspace{8.4mm} | ||||
|   \setlength\tabcolsep{0pt} | ||||
|   \setlength{\extrarowheight}{0pt} | ||||
|   \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}} | ||||
|     \recipienttitlestyle{\@recipientname} & \letterdatestyle{\@letterdate} | ||||
|   \end{tabular*} | ||||
|   \begin{singlespace} | ||||
|     \recipientaddressstyle{\@recipientaddress} \\\\ | ||||
|   \end{singlespace} | ||||
|   \ifthenelse{\isundefined{\@lettertitle}} | ||||
|     {} | ||||
|     {\lettertitlestyle{\@lettertitle} \\} | ||||
|   \lettertextstyle{\@letteropening} | ||||
| } | ||||
|  | ||||
| % Define a closing of the cover letter | ||||
| % Usage: \makeletterclosing | ||||
| \newcommand*{\makeletterclosing}{% | ||||
|   \vspace{3.4mm} | ||||
|   \lettertextstyle{\@letterclosing} \\\\ | ||||
|   \letternamestyle{\@firstname\ \@lastname} | ||||
|   \ifthenelse{\isundefined{\@letterenclosure}} | ||||
|     {\\} | ||||
|     {% | ||||
|       \\\\\\ | ||||
|       \letterenclosurestyle{\@letterenclname: \@letterenclosure} \\ | ||||
|     } | ||||
| } | ||||
							
								
								
									
										1
									
								
								awesome-cv.cls
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								awesome-cv.cls
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | ||||
| Awesome-CV/awesome-cv.cls | ||||
| @@ -11,15 +11,17 @@ | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
|   \cventry | ||||
|     {Bachelor of Science in Mechanical Engineering / Minor in Business Administration} % Degree | ||||
|     {Worcester Polytechnic Institute} % Institution | ||||
|     {Bachelor of Science in Mechanical Engineering} % Degree | ||||
|     {Worcester MA, United States} % Location | ||||
|     {Class of 2017} % Date(s) | ||||
|     { | ||||
|       \begin{cvitems} % Description(s) bullet points | ||||
|         \item {Minor in Business Administration} | ||||
|       \end{cvitems} | ||||
|     %  \begin{cvitems} % Description(s) bullet points | ||||
|     %    \item {Minor in Business Administration} | ||||
|     %  \end{cvitems} | ||||
|     } | ||||
|  | ||||
|   \vspace{-4mm} % needed while no bullet points under education | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
| \end{cventries} | ||||
|   | ||||
| @@ -11,32 +11,75 @@ | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
|   \cventry | ||||
|     {Systems Administrator / Development Operations Engineer} % Job title | ||||
|     {Starry Inc - Product Engineering} % Organization | ||||
|     {Boston MA, United States} % Location | ||||
|     {June 2018 - Present} % Date(s) | ||||
|     {Portal Instruments Inc. - Information Technology} % Job title | ||||
|     {Principal Information Technology and Security Engineer} % Organization | ||||
|     {Cambridge MA, United States} % Location | ||||
|     {August 2022 - Present} % Date(s) | ||||
|     { | ||||
|       \begin{cvitems} % Description(s) of tasks/responsibilities | ||||
|         \item { | ||||
|           Took ownership of a network monitoring system built specifically for | ||||
|           Starry's WISP network model, expanding and developing the system using | ||||
|           Python, Docker, MariaDB, and AWS to handle a 30x larger workload. | ||||
|           Audit and consolidate IT resource management into a single | ||||
|           department to reduce duplicate spending and improve day-to-day  | ||||
|           employee workflows. Create a budget and ordering process for IT resources. | ||||
|         } | ||||
|         \item { | ||||
|           Designed and deployed a testbed management network using Ubiquiti | ||||
|           EdgeRouters and Ansible that connected engineering equipment at all | ||||
|           Operate as a single IT administrator to manage resources at all levels  | ||||
|           and in all areas of the business, including facility infrastructure, | ||||
|           cloud resources, licensing, physical and virtual servers, and employee | ||||
|           workstations. | ||||
|         } | ||||
|         \item { | ||||
|           Provide daily support for the entire organization across four timezones.  | ||||
|           Support Windows, MacOS, and Linux workstations, enterprise resource  | ||||
|           management, access control, and security incidents. | ||||
|         } | ||||
|         \item { | ||||
|           Designed and implemented a top-to-bottom replacement of core network  | ||||
|           infrastructure including virtual private clouds, on-site network equipment,  | ||||
|           and virtual private networking. | ||||
|         } | ||||
|         \item { | ||||
|           Offboard and assume responsibilities of existing Managed | ||||
|           Service Provider and manage relationships with IT vendors  | ||||
|           as the primary point of contact. | ||||
|         } | ||||
|       \end{cvitems} | ||||
|     } | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
|   \cventry | ||||
|     {Starry Inc. - Product Engineering} % Job title | ||||
|     {Systems Administrator / Development Operations Engineer} % Organization | ||||
|     {Boston MA, United States} % Location | ||||
|     {June 2018 - August 2022} % Date(s) | ||||
|     { | ||||
|       \begin{cvitems} % Description(s) of tasks/responsibilities | ||||
|         \item { | ||||
|           Took ownership of a Network Monitoring System built specifically for | ||||
|           Starry's WISP network model, expanding and developing the system to meet | ||||
|           the needs of the Network Operations team and handle a thirty-fold workload | ||||
|           increase. | ||||
|         } | ||||
|         \item { | ||||
|           Provided 24/7 support for the NMS to ensure uninterrupted access | ||||
|           to alerts, data, and performance reports for the Tier 2 Support team and  | ||||
|           executive leadership. | ||||
|         } | ||||
|         \item { | ||||
|           Designed and deployed a testbed management network using off-the-shelf | ||||
|           routing equipment and Ansible that connected engineering systems at all | ||||
|           eleven corporate offices across the country. | ||||
|         } | ||||
|         \item { | ||||
|           Helped to lead a team developing Ansible tooling for managing and | ||||
|           securing hundreds of physical engineering systems. | ||||
|           Helped lead a team developing Ansible automation for managing and | ||||
|           securing hundreds of physical engineering systems across four departments. | ||||
|         } | ||||
|         %\item { | ||||
|         %  Contributed to the design, implementation, and operation of a REST API for | ||||
|         %  indexing test results to serve the needs of multiple test teams. | ||||
|         %} | ||||
|         \item { | ||||
|           Contributed to the design and implementation of a REST API for indexing | ||||
|           test results built on Python, Flask, Nginx and MariaDB. | ||||
|         } | ||||
|         \item { | ||||
|           Facilitated interoperation between the Manufacturing Division and | ||||
|           Facilitated inter-operation between the Manufacturing Division and | ||||
|           Product Engineering to support expanded access to internal technology, | ||||
|           increased awareness of documentation and knowledge resources, and greater | ||||
|           cross-team communication. | ||||
| @@ -46,88 +89,50 @@ | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
|   \cventry | ||||
|     {Development Operations Contractor} % Job title | ||||
|     {Dassault Systèmes SE - SOLIDWORKS User Experience} % Organization | ||||
|     {Waltham MA, United States} % Location | ||||
|     {May 2016 - August 2017} % Date(s) | ||||
|     {Worcester Polytechnic Institute - Network Operations Center} % Job title | ||||
|     {Senior Network Technician} % Organization | ||||
|     {Worcester MA, United States} % Location | ||||
|     {August 2013 - June 2018} % Date(s) | ||||
|     { | ||||
|       \begin{cvitems} % Description(s) of tasks/responsibilities | ||||
|         % \item { | ||||
|         %   Acted as first point of contact for users experiencing networking issues to | ||||
|         %   triage problems and escalate to network engineers when appropriate. | ||||
|         % } | ||||
|         \item { | ||||
|           Worked as a software specialist on a Graphics Design team to replace | ||||
|           an existing unsupported image asset lifecycle management tool. | ||||
|           Assisted with regular maintenance of the three campus data centers, including | ||||
|           replacing faulty PDUs, organizing and documenting routed cables, and retirement of | ||||
|           network and server hardware. | ||||
|         } | ||||
|         \item { | ||||
|           Designed and implemented a web application stack using PHP, JQuery, and | ||||
|           MySQL to provide a web portal for internal clients to request new icons | ||||
|           from the graphics design team, provide feedback and iteration on icon | ||||
|           requests, and serve as the source of truth for finalized icon image assets. | ||||
|         } | ||||
|         \item { | ||||
|           Designed and implemented a MySQL database schema to store metadata about | ||||
|           icon assets and the migrations necessary to convert the existing legacy data | ||||
|           into the new schema layout. | ||||
|         } | ||||
|         \item { | ||||
|           Designed the final deployment infrastructure using Windows Server 2012, | ||||
|           IIS 8.5, and MySQL Server, then communicated these requirements to the | ||||
|           IT Department for implementation. | ||||
|         } | ||||
|       \end{cvitems} | ||||
|     } | ||||
|  | ||||
|     \cventry | ||||
|     {Technical Writing Contractor} % Job title | ||||
|     {} % Organization | ||||
|     {} % Location | ||||
|     {May 2015 - January 2016} % Date(s) | ||||
|     { | ||||
|       \begin{cvitems} % Description(s) of tasks/responsibilities | ||||
|         \item { | ||||
|           Tested official product tutorials for compliance with user workflows in | ||||
|           SOLIDWORKS 2016 and updated the tutorials where they were outdated. | ||||
|         } | ||||
|         \item { | ||||
|           Designed and wrote new tutorials for the newly implemented advanced | ||||
|           electrical and pipe routing tools added to SOLIDWORKS 2016. | ||||
|         } | ||||
|         \item { | ||||
|           Responded to and fixed user submitted bug reports concerning errors, | ||||
|           mistakes, or ambiguity in the official product documentation. | ||||
|           Planned and developed campus-wide documentation of network conduit to | ||||
|           provide the Network Operations and Telecommunication departments with better | ||||
|           information sources when triaging problems, performing maintenance work, and | ||||
|           planning expansions. | ||||
|         } | ||||
|       \end{cvitems} | ||||
|     } | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
|   \cventry | ||||
|     {Senior Network Technician} % Job title | ||||
|     {Worcester Polytechnic Institute - Network Operations} % Organization | ||||
|     {Worcester MA, United States} % Location | ||||
|     {August 2013 - June 2018} % Date(s) | ||||
|     {Dassault Systèmes S.E. - SOLIDWORKS User Experience} % Job title | ||||
|     {Contract Technical Writer} % Organization | ||||
|     {Waltham MA, United States} % Location | ||||
|     {May 2015 - January 2016} % Date(s) | ||||
|     { | ||||
|       \begin{cvitems} % Description(s) of tasks/responsibilities | ||||
|         \item { | ||||
|           Organized and executed preemptive campus-wide testing of ethernet conduit in | ||||
|           limited-access facilities to identify and repair faulty infrastructure. | ||||
|           Tested official product tutorials for compliance with user workflows in | ||||
|           SOLIDWORKS 2016 and updated the tutorials if they were outdated. | ||||
|         } | ||||
|         \item { | ||||
|           Planned and implemented campus-wide documentation of network conduit to | ||||
|           provide technicians, network architects, and telecommunications with better | ||||
|           information sources when triaging problems, doing maintenance work, and | ||||
|           planning expansions. | ||||
|         } | ||||
|         \item { | ||||
|           Developed procedures for technicians to follow when debugging WPA certificate | ||||
|           authentication on Windows, Mac, Android, and iPhone systems. | ||||
|         } | ||||
|         \item { | ||||
|           Acted as first point of contact for users experiencing networking issues to | ||||
|           triage problems and escalate to network engineers when appropriate. | ||||
|         } | ||||
|         \item { | ||||
|           Assisted with regular maintenance of the three campus data centers, including | ||||
|           replacing faulty PDUs, organizing and documenting routed cables, and retiring | ||||
|           network and server hardware. | ||||
|           Designed and wrote new tutorials for the newly implemented advanced | ||||
|           electrical and pipe routing tools added to SOLIDWORKS 2016. | ||||
|         } | ||||
|         % \item { | ||||
|         %   Responded to and fixed user submitted bug reports concerning errors, | ||||
|         %   mistakes, or ambiguity in the official product documentation. | ||||
|         % } | ||||
|       \end{cvitems} | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -8,57 +8,55 @@ | ||||
| %	CONTENT | ||||
| %------------------------------------------------------------------------------- | ||||
| \begin{cvskills} | ||||
|     \cvskill{Interpersonal}{ | ||||
|         Cross-team communication, | ||||
|         specification design and evaulation, | ||||
|         problem analysis, | ||||
|         incident triage, | ||||
|         security threat modeling | ||||
|     } | ||||
|  | ||||
|     \cvskill{Operations}{ | ||||
|         Windows Server, | ||||
|         Ubuntu Server, | ||||
|         CentOS/RockyLinux, | ||||
|         Microsoft ADDS, | ||||
|         OpenLDAP, | ||||
|         Ansible, | ||||
|         OAuth, | ||||
|         L2/L3 Routing, | ||||
|         DNS, | ||||
|         DHCP, | ||||
|         DNSMasq, | ||||
|         Docker, | ||||
|         Microsoft Hyper-V, | ||||
|         KVM, | ||||
|         RedHat Ovirt, | ||||
|         Microsoft IIS, | ||||
|         Containers, | ||||
|         Nginx, | ||||
|         Apache, | ||||
|         MySQL/MariaDB, | ||||
|         MongoDB, | ||||
|         Postgres, | ||||
|         OpenSSH | ||||
|         OpenSSH, | ||||
|         CI/CD | ||||
|     } | ||||
|  | ||||
|     \cvskill{Administration}{ | ||||
|         Windows Server, | ||||
|         Debian/RHEL Server, | ||||
|         Active Directory, | ||||
|         LDAP, | ||||
|         Microsoft Hyper-V, | ||||
|         KVM, | ||||
|         VMWare ESXi, | ||||
|         Google Workspace, | ||||
|         Microsoft O365 | ||||
|     } | ||||
|  | ||||
|     \cvskill{Software}{ | ||||
|         Python3, | ||||
|         Tox, | ||||
|         Poetry, | ||||
|         Pylint, | ||||
|         Mypy, | ||||
|         Python, | ||||
|         Bash, | ||||
|         TypeScript, | ||||
|         SQL, | ||||
|         HTML, | ||||
|         CSS, | ||||
|         Bash, | ||||
|         Git, | ||||
|         Gitea, | ||||
|         Gitlab, | ||||
|         Github, | ||||
|         CI/CD, | ||||
|         Jenkins, | ||||
|         GitLab, | ||||
|         Ansible, | ||||
|         GNU Make | ||||
|     } | ||||
|  | ||||
|     \cvskill{Interpersonal}{ | ||||
|         Cross-team communication, | ||||
|         specification design and evaulation, | ||||
|         problem analysis, | ||||
|         technical support, | ||||
|         security threat modeling | ||||
|         GNU Make, | ||||
|         Terraform, | ||||
|         PHP, | ||||
|         PowerShell, | ||||
|         Docker Swarm, | ||||
|         GlusterFS | ||||
|     } | ||||
| \end{cvskills} | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| %------------------------------------------------------------------------------- | ||||
| %	SECTION TITLE | ||||
| %------------------------------------------------------------------------------- | ||||
| \cvsection{Introduction} | ||||
| \cvsection{Summary} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| @@ -9,8 +9,12 @@ | ||||
| %------------------------------------------------------------------------------- | ||||
| \begin{cvparagraph} | ||||
|  | ||||
| %--------------------------------------------------------- | ||||
| Current Linux Systems Administrator and Development Operations Engineer at Starry | ||||
| Inc looking for opportunities in the Systems Administration and Site Reliability | ||||
| Engineering at socially conscious companies and organizations. | ||||
| Computer engineer and system administrator with experience designing and  | ||||
| operating a diverse set of digital infrastructure, including data center  | ||||
| equipment, core and edge networks, multi-cloud environments, end-user devices,  | ||||
| and SaaS products. Proven ability to work independently or collaboratively to  | ||||
| build effective solutions to engineering challenges with respect to business and  | ||||
| technical requirements. Strong dedication to quality, knowledge sharing,  | ||||
| collaboration, documentation, digital security, and public service. | ||||
|  | ||||
| \end{cvparagraph} | ||||
|   | ||||
							
								
								
									
										110
									
								
								coverletter.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								coverletter.tex
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| %!TEX TS-program = xelatex | ||||
| %!TEX encoding = UTF-8 Unicode | ||||
| % Awesome CV LaTeX Template for Cover Letter | ||||
| % | ||||
| % This template has been downloaded from: | ||||
| % https://github.com/posquit0/Awesome-CV | ||||
| % | ||||
| % Authors: | ||||
| % Claud D. Park <posquit0.bj@gmail.com> | ||||
| % Lars Richter <mail@ayeks.de> | ||||
| % | ||||
| % Template license: | ||||
| % CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/) | ||||
| % | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| % CONFIGURATIONS | ||||
| %------------------------------------------------------------------------------- | ||||
| % A4 paper size by default, use 'letterpaper' for US letter | ||||
| \documentclass[11pt, letterpaper]{awesome-cv} | ||||
|  | ||||
| % Configure page margins with geometry | ||||
| \geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm} | ||||
|  | ||||
| % Color for highlights | ||||
| % Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange | ||||
| %                 awesome-nephritis, awesome-concrete, awesome-darknight | ||||
| \colorlet{awesome}{awesome-darknight} | ||||
| % Uncomment if you would like to specify your own color | ||||
| % \definecolor{awesome}{HTML}{CA63A8} | ||||
|  | ||||
| % Colors for text | ||||
| % Uncomment if you would like to specify your own color | ||||
| % \definecolor{darktext}{HTML}{414141} | ||||
| % \definecolor{text}{HTML}{333333} | ||||
| % \definecolor{graytext}{HTML}{5D5D5D} | ||||
| % \definecolor{lighttext}{HTML}{999999} | ||||
| % \definecolor{sectiondivider}{HTML}{5D5D5D} | ||||
|  | ||||
| % Set false if you don't want to highlight section with awesome color | ||||
| \setbool{acvSectionColorHighlight}{false} | ||||
|  | ||||
| % If you would like to change the social information separator from a pipe (|) to something else | ||||
| \renewcommand{\acvHeaderSocialSep}{\enskip\cdotp\enskip} | ||||
|  | ||||
| \newcommand*{\letterbody}[1]{\def\@letterbody{#1}} | ||||
|  | ||||
| % This file doesn't actually exist in the repo, but will be created by the | ||||
| % makefile | ||||
| \input{build/coverletter-content.tex} | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %	PERSONAL INFORMATION | ||||
| %	Comment any of the lines below if they are not required | ||||
| %------------------------------------------------------------------------------- | ||||
| % Available options: circle|rectangle,edge/noedge,left/right | ||||
| \name{Ethan}{Paul} | ||||
| %\position{Systems Administrator / Development Operations Engineer} | ||||
|  | ||||
| \mobile{+1.617.733.0601} | ||||
| \email{me@enp.one} | ||||
| %\dateofbirth{January 1st, 1970} | ||||
| %\homepage{enpaul.net} | ||||
| %\github{posquit0} | ||||
| %\linkedin{posquit0} | ||||
| % \gitlab{gitlab-id} | ||||
| % \stackoverflow{SO-id}{SO-name} | ||||
| % \twitter{@twit} | ||||
| % \skype{skype-id} | ||||
| % \reddit{reddit-id} | ||||
| % \medium{madium-id} | ||||
| % \kaggle{kaggle-id} | ||||
| % \googlescholar{googlescholar-id}{name-to-display} | ||||
| %% \firstname and \lastname will be used | ||||
| % \googlescholar{googlescholar-id}{} | ||||
| % \extrainfo{extra information} | ||||
|  | ||||
| % How the letter is closed | ||||
| \letterclosing{\recipientaddressstyle{Ethan Paul\\13 Faxon St\\Newton, MA 02458\\USA}} | ||||
| % Any enclosures with the letter | ||||
| %\letterenclosure[Attached]{Resume} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| \begin{document} | ||||
|  | ||||
| % Print the footer with 3 arguments(<left>, <center>, <right>) | ||||
| % Leave any of these blank if they are not needed | ||||
| \makecvfooter | ||||
|   {\today} | ||||
|   {} | ||||
|   {\href{https://creativecommons.org/licenses/by-nc-nd/4.0/}{CC BY-NC-ND 4.0}} | ||||
|  | ||||
| % Print the title with above letter information | ||||
| \makelettertitle | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| %	LETTER CONTENT | ||||
| %------------------------------------------------------------------------------- | ||||
| \begin{cvletter} | ||||
|   \@letterbody | ||||
| \end{cvletter} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| % Print the signature and enclosures with above letter information | ||||
| \makeletterclosing | ||||
|  | ||||
| \end{document} | ||||
							
								
								
									
										63
									
								
								letters/freedom-of-the-press.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								letters/freedom-of-the-press.tex
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| %------------------------------------------------------------------------------- | ||||
| %	LETTER INFORMATION | ||||
| %	All of the below lines must be filled out | ||||
| %------------------------------------------------------------------------------- | ||||
| % The company being applied to | ||||
| \recipient | ||||
|   {} | ||||
|   {Freedom of the Press Foundation\\601 Van Ness Ave. Suite E731\\San Francisco, CA 94102\\USA} | ||||
|  | ||||
| % The date on the letter, default is the date of compilation | ||||
| \letterdate{\today} | ||||
|  | ||||
| % How the letter is opened | ||||
| \letteropening{To the Hiring Manager,} | ||||
|  | ||||
| \letterbody{ | ||||
|     My name is Ethan Paul and I am writing to apply for the Newsroom Support Engineer position | ||||
|     at the Freedom of the Press Foundation (FPF). In my nine years of professional experience I | ||||
|     have worked in a wide variety of positions including as a Tier I support technician for a | ||||
|     legacy institution that supported thousands of clients, and a systems architect and | ||||
|     administrator for a small startup company. Through my entire career what I have enjoyed most | ||||
|     from my work are the opportunities to meet people, understand their technical challenges, | ||||
|     and work to build and deliver solutions that help them to be more successful in their jobs. | ||||
|     While I enjoy solving technical problems, it is the relationship between technology and | ||||
|     people that has always been of greatest interest to me. | ||||
|     \\\\ | ||||
|     Developing this relationship is the work that the FPF provides through the maintenance and | ||||
|     support of projects like SecureDrop, which demonstrates an ideal model of a distributed open | ||||
|     source software platform. The relationship between people and technology is so | ||||
|     often a complicated one that grows more so as systems become ever more sophisticated and | ||||
|     stratified. As a result of this sophistication, taking advantage of technological | ||||
|     benefits becomes increasingly difficult as the level of expertise required to work within a | ||||
|     system also increases. This makes the work of specialist groups all the more important: | ||||
|     organizations like the FPF provide the essential service of helping people better participate | ||||
|     in our rapidly digitizing world. The FPF and similar organizations also stand in stark | ||||
|     contrast to companies that ostensibly provide the same service, but only for their own | ||||
|     benefit rather than that of their clients, customers, and community. The commitment to | ||||
|     providing enhanced access to technological resources for the principle benefit of its clients | ||||
|     and community is what appeals most to me about applying to join the team at FPF. | ||||
|     \\\\ | ||||
|     One of the most interesting and fulfilling projects I have had the opportunity to work on | ||||
|     during my time in the technology sector was the implementation and support of a network | ||||
|     monitoring system for my company's wireless network infrastructure. This project allowed me | ||||
|     to work with and learn from experts in different fields as I coordinated the system's design | ||||
|     across several engineering departments while continually working with the Network | ||||
|     Operations teams to understand how they needed the system to function in daily use. While the | ||||
|     technical work for the project was interesting, by far the most engaging part of the process | ||||
|     was understanding the needs and limitations of the people using the system so that I could | ||||
|     work to improve its utility. This exposure to other teams and specialties helped me to develop | ||||
|     a better understanding of the business, a plethora of diverse relationships, and gave me more | ||||
|     opportunities to expand my technical knowledge. | ||||
|     \\\\ | ||||
|     At this point in my career I am interested in the impact my work has on my community and | ||||
|     environment which is why I have chosen to branch out of the traditional technology sector. | ||||
|     I value contributing positively to my organization's culture and clients, but doing so | ||||
|     while also working to fight inequity and improve free access to information is a dream | ||||
|     opportunity for me. I have admired the FPF's work from a far for long enough that the | ||||
|     prospect of applying to work here seems almost surreal. And yet the Newsroom Support | ||||
|     Engineer role combines two elements that are very important to me: developing people's | ||||
|     relationship with their technology, and promoting digital freedom for people everywhere. For | ||||
|     all these reasons I hope you will consider me for the position and I look forward to hearing | ||||
|     from you soon. | ||||
| } | ||||
							
								
								
									
										12
									
								
								resume.tex
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								resume.tex
									
									
									
									
									
								
							| @@ -74,14 +74,14 @@ | ||||
| \position{ | ||||
|   Systems Administrator | ||||
|   {\enskip\cdotp\enskip} | ||||
|   Development Operations Engineer | ||||
|   Information Technology | ||||
|   {\enskip\cdotp\enskip} | ||||
|   Software Engineer | ||||
| } | ||||
| % \address{Boston MA, United States} | ||||
|  | ||||
| % \mobile{} | ||||
| \email{me@enp.one} | ||||
| \mobile{+1 (617) 733-0601} | ||||
| \email{me@enpaul.net} | ||||
| \homepage{enpaul.net} | ||||
| \github{enpaul} | ||||
| \linkedin{enpaul} | ||||
| @@ -122,12 +122,6 @@ | ||||
| \input{content/education.tex} | ||||
| \input{content/experience.tex} | ||||
| \input{content/skills.tex} | ||||
| % \input{content/honors.tex} | ||||
| % \input{content/presentation.tex} | ||||
| % \input{content/writing.tex} | ||||
| % \input{content/committees.tex} | ||||
| % \input{content/extracurricular.tex} | ||||
|  | ||||
|  | ||||
| %------------------------------------------------------------------------------- | ||||
| \end{document} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user