Compare commits
30 Commits
17d22dcc05
...
2024-05/fr
| Author | SHA1 | Date | |
|---|---|---|---|
|
680d864aa9
|
|||
|
cd5076922a
|
|||
|
7081b174da
|
|||
|
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 | |||
| ccb8cb4acc | |||
| 273482b745 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,3 +15,4 @@
|
||||
## Output
|
||||
*.pdf
|
||||
publish/
|
||||
build/
|
||||
|
||||
16
.pre-commit-config.yaml
Normal file
16
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.1.0
|
||||
hooks:
|
||||
- id: end-of-file-fixer
|
||||
types:
|
||||
- text
|
||||
|
||||
- id: trailing-whitespace
|
||||
types:
|
||||
- text
|
||||
|
||||
- id: check-merge-conflict
|
||||
types:
|
||||
- text
|
||||
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,88 @@
|
||||
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{Portal Instruments Inc. - Information Technology} % Company + department
|
||||
{Principal Information Technology and Security Engineer} % Job title
|
||||
{Cambridge MA, United States} % Location
|
||||
{August 2022 - Present} % Date(s)
|
||||
{
|
||||
\begin{cvitems} % Description(s) of tasks/responsibilities
|
||||
% \item {
|
||||
% 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 {
|
||||
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 {
|
||||
Identify information security vulnerabilities in the company's digital
|
||||
infrastructure and develop a prioritization plan for corrective actions.
|
||||
Communicate these security gaps to company leadership, then propose and
|
||||
implement mitigations in accordance with the needs and priorities of
|
||||
the business.
|
||||
}
|
||||
% \item {
|
||||
% Advise the Software Engineering department on security requirements and best
|
||||
% practices as part of the company's digital health initiative and expansion into
|
||||
% cloud service offerings. Educate employees at all levels on security
|
||||
% best practices and help foster a collaboratively vigilant security culture.
|
||||
% }
|
||||
\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} % Company + department
|
||||
{Systems Administrator / Development Operations Engineer} % Job title
|
||||
{Starry Inc - Product Engineering} % Organization
|
||||
{Boston MA, United States} % Location
|
||||
{June 2018 - Present} % Date(s)
|
||||
{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 using
|
||||
Python, Docker, MariaDB, and AWS to handle a 30x larger workload.
|
||||
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 {
|
||||
Designed and deployed a testbed management network using Ubiquiti
|
||||
EdgeRouters and Ansible that connected engineering equipment at all
|
||||
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,89 +102,79 @@
|
||||
|
||||
%---------------------------------------------------------
|
||||
\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} % Company + department
|
||||
{Senior Network Technician} % Job title
|
||||
{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} % Company + department
|
||||
{Contract Development Operations Specialist} % Job title
|
||||
{Waltham MA, United States} % Location
|
||||
{May 2016 - August 2017} % 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.
|
||||
Worked as a software specialist on a Graphics Design team to take over
|
||||
maintenance of a custom-built image asset lifecycle management tool and
|
||||
design its replacement.
|
||||
}
|
||||
\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 implemented a web application stack using PHP, JQuery, and
|
||||
MySQL to provide a web portal for internal clients to request new assets
|
||||
from the graphics design team, provide feedback and iteration on asset
|
||||
requests, and serve as the internal source of truth for finalized assets.
|
||||
}
|
||||
% \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
|
||||
% {Dassault Systèmes S.E. - SOLIDWORKS User Experience} % Company + department
|
||||
% {Contract Technical Writer} % Job title
|
||||
% {Waltham MA, United States} % 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 if 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.
|
||||
% % }
|
||||
% \end{cvitems}
|
||||
% }
|
||||
|
||||
\end{cventries}
|
||||
|
||||
@@ -8,58 +8,54 @@
|
||||
% CONTENT
|
||||
%-------------------------------------------------------------------------------
|
||||
\begin{cvskills}
|
||||
\cvskill{Interpersonal}{
|
||||
interdisciplinary communication,
|
||||
specification design and evaulation,
|
||||
technical writing and documentation,
|
||||
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@enpaul.net}
|
||||
%\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\\218 Thorndike Street Unit \#101\\Cambridge, MA 02141\\U.S.A.}}
|
||||
% 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.
|
||||
}
|
||||
64
letters/freedom_of_the_press_2.tex
Normal file
64
letters/freedom_of_the_press_2.tex
Normal file
@@ -0,0 +1,64 @@
|
||||
%-------------------------------------------------------------------------------
|
||||
% LETTER INFORMATION
|
||||
% All of the below lines must be filled out
|
||||
%-------------------------------------------------------------------------------
|
||||
% The company being applied to
|
||||
\recipient
|
||||
{}
|
||||
{Freedom of the Press Foundation\\49 Flatbush Avenue \#1017\\Brooklyn, NY 11217\\U.S.A.}
|
||||
|
||||
% The date on the letter, default is the date of compilation
|
||||
\letterdate{\today}
|
||||
|
||||
% How the letter is opened
|
||||
\letteropening{To the Infrastructure Team,}
|
||||
|
||||
\letterbody{
|
||||
My name is Ethan Paul and I am interested in working in a position on the Infrastructure
|
||||
Team at the Freedom of the Press Foundation (FPF). In my eleven 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, a systems
|
||||
architect and administrator for an internet service provider, and a single-member IT team
|
||||
for a small startup company. Throughout my 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.
|
||||
\\\\
|
||||
Projects like SecureDrop and the Press Freedom Tracker exist at this intersection where
|
||||
technology and people collide. This intersection- ideally beneficial but too often
|
||||
confounding or exploitative- is already quite difficult to navigate for many people and, as
|
||||
technology continues to evolve, will only demand ever higher amounts of technical knowledge
|
||||
to properly manage. 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 continually digitizing world by making technology and technical resources
|
||||
more accessible and navigable. 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 principal benefit of its
|
||||
clients and community is what appeals most to me about joining 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, build a plethora of diverse relationships, and gave me
|
||||
more opportunities to expand my technical knowledge than I ever would have found working
|
||||
alone.
|
||||
\\\\
|
||||
After eight years in the technology sector I am fortunate enough to have the flexibility to
|
||||
shift my career path away from technology for technology's sake and towards technology for
|
||||
the sake of people. Working in an environment where I can make contributions to complex
|
||||
technical systems, learn from experts in a diverse set of fields, and have the
|
||||
confidence that my work helps to fight inequality and improve free access to information is
|
||||
a dream opportunity. I have admired the FPF's work from afar for long enough that the
|
||||
prospect of working with the FPF feels almost surreal. And yet the Infrastructure Team
|
||||
combines two elements that are very important to me: improving people's relationship with
|
||||
their technology and promoting digital freedom for people everywhere. For all these reasons
|
||||
I hope you will consider me for a position and I look forward to hearing from you soon.
|
||||
}
|
||||
14
resume.tex
14
resume.tex
@@ -72,16 +72,16 @@
|
||||
% \photo[rectangle,edge,right]{./examples/profile}
|
||||
\name{Ethan}{Paul}
|
||||
\position{
|
||||
Systems Administrator
|
||||
System Administrator
|
||||
{\enskip\cdotp\enskip}
|
||||
Development Operations Engineer
|
||||
Information Technology \& Security
|
||||
{\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