diff options
-rw-r--r-- | Makefile | 30 | ||||
-rw-r--r-- | cv.tex | 158 | ||||
-rw-r--r-- | experience.tex | 64 | ||||
-rw-r--r-- | opensource.tex | 17 | ||||
-rw-r--r-- | specialinterest.tex | 4 | ||||
-rw-r--r-- | statement.tex | 16 |
6 files changed, 142 insertions, 147 deletions
@@ -1,15 +1,27 @@ -.PHONY: clean +LATEXMK=latexmk +LATEXMKOPT=-pdf -xelatex +CONTINUOUS=-pvc -all: clean cv.pdf cv-web.pdf +MAIN=cv +RUBRICS=statement.tex experience.tex opensource.tex specialinterest.tex +SOURCES=Makefile $(RUBRICS) -cv-web.pdf : cv.pdf - qpdf --linearize $< $@ +all: $(MAIN).pdf -%.pdf : %.tex - latexmk -f -pdf -xelatex -quiet $< +.refresh: + touch .refresh +$(MAIN).pdf: $(MAIN).tex .refresh $(SOURCES) + $(LATEXMK) $(LATEXMKOPT) $(CONTINUOUS) $(MAIN) + +%.pdf : %.tex rubric.tex + latexmk -f -pdf -xelatex -use-make $< + +cleanall: + latexmk -C clean: - rm -f *.{aux,fdb_latexmk,fls,log,xdv,out} + latexmk -c +watch: + latexmk -pvc -f -pdf -xelatex $< -cleanall : clean - rm -f *.pdf +.PHONY: clean cleanall watch @@ -1,155 +1,37 @@ -\documentclass[a4paper,10pt,margin=0.5in]{article} -\usepackage{array, fancyhdr, color, fontspec, titlesec, parskip, tikz, ulem, - xcolor, longtable, titling, supertabular} -\usepackage{blindtext} -\usepackage{enumitem} -\usepackage[linkcolor=magenta, colorlinks=true]{hyperref} -\usepackage[margin=1.5cm, bottom=0.15cm, top=0.15cm]{geometry} -\hypersetup{ - pdftitle = {Curriculum Vitæ}, - pdfauthor = {Olivia Mackintosh} -} -\setcounter{secnumdepth}{0} -\setlength{\parindent}{0pt} +\documentclass[a4paper, 10pt,draft, english]{curve} + +\usepackage{fontspec, geometry, hyperref, url, fancyhdr, lastpage} \setmainfont[ Ligatures=TeX, ItalicFont = AvenirNextLTPro-It, BoldFont = AvenirNextLTPro-Medium, ]{AvenirNextLTPro-Regular} -\newcolumntype{L}{p{0.13\textwidth}} -\newcolumntype{R}{p{0.8\textwidth}} -\newcommand\VRule{\color{magenta}\vrule width 0.5pt} +\geometry{left=1cm,right=1cm,top=1cm,bottom=1.5cm} \pagestyle{fancy} -\fancyhf{} - -\title{\bfseries\Huge Olivia\linebreak Mackintosh} -\author{\href{mailto:livvy@base.nu}{livvy@base.nu}} -\date{2} -\makeatletter -\def\@maketitle{% - \hrule height \z@ % to avoid lineskip - \parbox{.50\textwidth}{\LARGE \protect{\@title}\par} - \parbox{.50\textwidth}{ - \begin{flushright} - \large\lineskip.5em\@author\par - \large\lineskip.5em\href{https://base.nu/}{https://base.nu}\par - \end{flushright} - } - \vskip 1.0em +\renewcommand{\headrulewidth}{0pt} +\leftheader{% + {\LARGE Olivia\\Mackintosh.} } +\rightheader{% + \href{mailto:livvy@base.nu}{livvy@base.nu}\\ + {\url{https://base.nu/}} +} +\cfoot{\thepage\ of \pageref{LastPage}} +\rubricalignment{l} -\begin{document} -\maketitle -\begin{minipage}[t]{0.55\textwidth} -A software engineer of 8 years with a passion for delivering business result -though software. Often utilizing test-first, iterative development. - -There's a lot of waste in our industry and we need to become better at building -the right thing, and delivering it faster. Iterative development alongside -techniques such as TDD, pair-programming can often unlock a lot of value, yet -teams have struggled to implement this properly due to alack of support -regarding deployment pipelines and infrastructure; a lack of experience with the -test first approach and communication gaps. Perhaps this sounds like a familar -experience in your company? -\end{minipage} -\hfill -\begin{minipage}[t]{0.4\textwidth} - \begin{description} - \item [Languages:]\hfill\\ C, Python, JS, Haskell, Kotlin, SQL, {\LaTeX} - \item [Skills]\hfill\\ TDD, Refactoring - \item [Dev]\hfill\\ API Design, Frontend Dev - \item [Ops]\hfill\\ AWS, Azure, Infrastructure-as-Code, Deployment Pipelines - \item [Specialist]\hfill\\ UNIX/Linux Systems | Protocol Knowledge (HTTP, SMTP, USB in particular) - \end{description} -\end{minipage} - -\section{Professional Experience} -\begin{supertabular}{ccc} - 2022- &{\bf Klima.Metrix GmbH — Senior Software Engineer}\\ - &{\begin{itemize} - \item Joined Klima.Metrix: a carbon accounting startup. - \item Introduced and champtined a trunk-based, test-driven approoch to reduce deployment frequency to <1 week. - \item Refactored legacy calculation code with BDD style tests that stakeholders can understand and give feedback on - \item Deprecated MongoDB backend service to reduce technical debt and to take advantage of the existing relational DB.\@ Created custom tooling to make this easier - \item OWASP top 10-based security audit + fixes - \end{itemize}}\\ - - 2021- &{\bf Contract work (Magentasoft Ltd)}\\ - &{\begin{itemize} - \item Contract work with YLD and Uphold - \item 50/50 consuting dev role - \item Microservice architecture - \end{itemize}}\\ - - 2017--2020 &{\bf Co-op Digital — Senior Software Engineer}\\ - &{\begin{itemize} - \item Joined the Digital Engineering department within -the HQ of The Co-operative Group in 2017. - \item Cross-functional, agile teams. - \item Moved into senior role, mentoring engineers and -presenting ideas at the monthly all-teams sessions. - \item Leant towards back-end API development: championed -refactoring and local architectural design of complex REST/SOAP -integrations as well as being a voice for security across Digital. - \item Largely Python, JavaScript, SQL with Django and -React often providing development frameworks. - \item I were also lucky enough to participate in -\href{https://xpsurgery.com/}{Kevin Rutherford's XP Surgery} as well as -\href{https://www.weareupfront.com/}{Lauren Currie's Upfront workshop}. -These are software craftmanship and public speaking workshops -respectively. - \end{itemize}}\\ - \pagebreak - 2016--2017 &{\bf Beautiful Destinations — Software - Engineer (Contract)}\\ - &{\begin{itemize} - \item Towards the end of 2016 I were hired by a -Shoreditch based startup working in the travel and tourism marketing -industry. - \item Working alongside some very experienced engineers, -I were responsible for making machine learning code production ready -(testing, QA, refactoring); setting up build/test/deploy pipelines; -containerizing releases with Docker etc. - \item Learnt Haskell/GHCJS as this was used heavily for enforcing -type-safety across the front-add-back end. Haskell and FP remain influential -and encouraged me to learn Haskell proper as well as study Category Theory in my -spare time. - \end{itemize}}\\ - 2016 &{\bf Liberal Democrats — Software Engineer (Contact)}\\ +\title{Curriculum Vitae} -\end{supertabular} +\begin{document} +\makeheaders[c] -\section{Open Source Contributions} +\makerubric{experience} -\begin{tabular}{L!{\VRule}R} - Linux Kernel & Supporting Pioneer audio mixers within ALSA:\@ the - Linux audio subsystem. Reverse engineered the DJM-750 vendor - specific audio interface with OpenVizsla/ViewSB and collaborated - with other users to expand support for other models.\\\\ - K9-Mail & Implementing IETF RFC6186: `Use of SRV Records for - Locating Email Submission/Access Services' as part of an - improved setup experience. -\end{tabular} +{\bf{Further experience available upon request.}\\ +\hrule -%\section{Education} -%\begin{tabular}{L!{\VRule}R} -% %Current/Informal & Evolving technical skill development and philosophy -% %self study (Aristotle, Heidegger, Evola)\\\\ -% University & \emph{NB: I did not manage to complete my A-Level exams -% due to mental health issues and haven't pursued a degree due to -% the high costs. I also consider my current skillset and -% experience to be beyond the average comp-sci graduate at this -% point in time but it is something that I may revisit if the -% right opportinity arises.}\\\\ -% A-Level & {\bf Richmond School, North Yorkshire}\\ -% & Computer Science\\ -% & Physics\\ -% & Economics\\\\ -% GCSE & {\bf St Wilfred's Catholic High School, Featherstone}\\ -% & A* Mathematics / AAA Physics/Chemistry/Biology\\\\ -%\end{tabular} +\makerubric{opensource} \end{document} diff --git a/experience.tex b/experience.tex new file mode 100644 index 0000000..6a77e98 --- /dev/null +++ b/experience.tex @@ -0,0 +1,64 @@ +\begin{rubric}{Professional Experience} + +\entry*[2022-] + Klima.Metrix GmbH - Senior Software Engineer + \text{\par + Joined Klima.Metrix: a carbon accounting startup. Introduced trunk-based, +test-driven approoch and reduced deployment frequency to <1 week. Refactored +legacy calculation code with BDD-style tests. Deprecated MongoDB backend service +to reduce technical debt and to take advantage of the existing relational DB +model - created custom tooling to make this easier. OWASP top 10-based security +audit + fixes. + \par + } + + \entry*[2021] + Magentasoft Ltd - Consultancy + \text{\par + Contract work with YLD and Uphold + 50/50 consuting dev role + Microservice architecture + \par + } + +\entry*[2017--2020] + Co-op Digital — Senior Software Engineer + \text{\par + Joined the Digital Engineering department within the HQ of The Co-operative + Group in 2017. Cross-functional, agile teams. Moved into senior role, mentoring + engineers and presenting ideas at the monthly all-teams sessions. Leant towards + back-end API development: championed refactoring and local architectural design + of complex REST/SOAP integrations as well as being a voice for security across + Digital. Largely Python, JavaScript, SQL with Django and React often providing + development frameworks. I were also lucky enough to participate in + \href{https://xpsurgery.com/}{Kevin Rutherford's XP Surgery} as well as + \href{https://www.weareupfront.com/}{Lauren Currie's Upfront workshop}. These + are software craftmanship and public speaking workshops respectively. + \par + } + + \entry*[2016--2017] + Beautiful Destinations — Software Engineer + \text{\par + Towards the end of 2016 I were hired by a Shoreditch based startup working + in the travel and tourism marketing industry. Working alongside some very + experienced engineers, I were responsible for making machine learning code + production ready (testing, QA, refactoring); setting up build/test/deploy + pipelines; containerizing releases with Docker etc. Learnt Haskell/GHCJS as this + was used heavily for enforcing type-safety across the front-add-back end. + Haskell and FP remain influential and encouraged me to learn Haskell proper as + well as study Category Theory in my spare time. + \par + } + +\entry*[2016] + Liberal Democrats — Contract Developer + \text{\par + In 2016 I were contracted to build a polling station finder for the UK Brexit + referendum as well as custom integration with their existing website. It + utilized PostGIS geospacial extension for postgres DB engine with data supplied + partially by DemocracyClub. This was a very fast paced project with quick + turnaround. + \par + } +\end{rubric} diff --git a/opensource.tex b/opensource.tex new file mode 100644 index 0000000..0f401af --- /dev/null +++ b/opensource.tex @@ -0,0 +1,17 @@ +\begin{rubric}{Contributions} + \entry*[2021] + Linux Kernel - ALSA subsystem + \text{ + Supporting Pioneer audio mixers within ALSA:\@ the + Linux audio subsystem. Reverse engineered the DJM-750 vendor + specific audio interface with OpenVizsla/ViewSB and collaborated + with other users to expand support for other models. + } + \entry*[2021] + K9-Mail + \text{ + Implementing IETF RFC6186: `Use of SRV Records for + Loocating Email Submission/Access Services' as part of an + improved setup experience. + } +\end{rubric} diff --git a/specialinterest.tex b/specialinterest.tex new file mode 100644 index 0000000..9a2b507 --- /dev/null +++ b/specialinterest.tex @@ -0,0 +1,4 @@ +\begin{rubric}{Special Interests} + \entry*[] + Foo +\end{rubric} diff --git a/statement.tex b/statement.tex new file mode 100644 index 0000000..a9a52e2 --- /dev/null +++ b/statement.tex @@ -0,0 +1,16 @@ +% Personal statement + +\begin{rubric}{Personal Statement} +\text{ + I'm software engineer of 8 years with a passion for delivering business result + though software. Often utilizing test-first, iterative development. + + There's a lot of waste in our industry and we need to become better at building + the right thing, and delivering it faster. Iterative development alongside + techniques such as TDD, pair-programming can often unlock a lot of value, yet + teams have struggled to implement this properly due to alack of support + regarding deployment pipelines and infrastructure; a lack of experience with the + test first approach and communication gaps. Perhaps this sounds like a familar + experience in your company? + } +\end{rubric} |