diff --git a/resume.pdf b/resume.pdf index 89e8f05..1ff4893 100644 Binary files a/resume.pdf and b/resume.pdf differ diff --git a/resume.sty b/resume.sty index ca9dcce..d6d6c36 100644 --- a/resume.sty +++ b/resume.sty @@ -1,8 +1,10 @@ \usepackage{mdwlist} \usepackage{multicol} \usepackage{relsize} -\usepackage{hyperref} +\usepackage{hyperref} \usepackage{xcolor} +\usepackage{enumitem} +\setlist[itemize]{leftmargin=*} \definecolor{dark-blue}{rgb}{0.1,0.1,0.3} \hypersetup{colorlinks,linkcolor={dark-blue},citecolor={dark-blue},urlcolor={dark-blue}} \ifxetex @@ -34,9 +36,15 @@ \setlength{\tabcolsep}{0em} \xspaceskip7pt -\newcommand\maintitle[3]{\vbox to 0pt{\hfill\scriptsize\color{gray} #3}\vspace{-0.4em}\noindent{\LARGE \textbf{#1}}\ \ \ \emph{#2}} +\newenvironment{absolutelynopagebreak} + {\par\nobreak\vfil\penalty0\vfilneg + \vtop\bgroup} + {\par\xdef\tpd{\the\prevdepth}\egroup + \prevdepth=\tpd} -\newcommand*\roottitle[1]{\vspace{-1.0em}\subsection*{#1}\vspace{-0.5em}\nopagebreak[4]} +\newcommand\maintitle[3]{\vbox to 0pt{\hfill\scriptsize\color{gray} #3}\vspace{-0.4em}\noindent{\Large \textbf{#1}}\ \ \ \emph{#2}} + +\newcommand*\roottitle[1]{\vspace{-1.5em}\subsubsection*{#1}\vspace{-0.5em}\nopagebreak[4]} \newcommand*\acr[1]{\textscale{.85}{#1}} @@ -56,11 +64,11 @@ } {\end{list}} -\newcommand{\headedsection}[3]{\nopagebreak[4]\begin{indentsection}\item[]\textscale{1.1}{#1}\hfill#2#3\end{indentsection}\nopagebreak[4]\vspace{0.3em}} +\newcommand{\headedsection}[3]{\nopagebreak[4]\begin{indentsection}\item[]#1\hfill#2#3\end{indentsection}\nopagebreak[4]\vspace{0.3em}} -\newcommand{\headedsubsection}[3]{\nopagebreak[4]\begin{indentsection}\item[]\textbf{#1}\hfill\emph{#2}#3\end{indentsection}\nopagebreak[4]} +\newcommand{\headedsubsection}[3]{\nopagebreak[4]\item[]\textbf{#1}\hfill\emph{#2}#3\nopagebreak[4]} -\newcommand{\bodytext}[1]{\nopagebreak[4]\begin{indentsection}\item[]#1\end{indentsection}\pagebreak[2]} +\newcommand{\bodytext}[1]{\nopagebreak[4]\item[]#1\pagebreak[2]} \newcommand{\breakvspace}[1]{\pagebreak[2]\vspace{#1}\pagebreak[2]} \newcommand{\nobreakvspace}[1]{\nopagebreak[4]\vspace{#1}\nopagebreak[4]} diff --git a/resume.tex b/resume.tex index 4c1e996..9fe2b98 100644 --- a/resume.tex +++ b/resume.tex @@ -11,10 +11,11 @@ \nobreakvspace{0.3em} -\noindent\href{mailto:veit@veitheller.de}{veit@veitheller.de}\sbull -\href{https://github.com/hellerve}{Github: hellerve} +\noindent\href{https://veitheller.de}{veitheller.de}\sbull +\href{mailto:veit@veitheller.de}{veit@veitheller.de}\sbull +\href{https://github.com/hellerve}{GitHub: hellerve} -\spacedhrule{0.4em}{0.0em} +\spacedhrule{0.8em}{0.8em} \roottitle{Work Experience} @@ -24,9 +25,31 @@ \headedsubsection {Senior Software Engineer} {June 2016 -- present} - {\bodytext{Consults a diverse set of clients on behalf of - the company, from large Internet Exchanges to local - startups. Develops internal and \acr{OSS} tools.}} + {\bodytext{Building software for a diverse set of clients, + including Internet Service Providers, startups, + and Global 500 companies. + \begin{itemize} + \item Wrote an API for BIRD, an internet routing + daemon, in Go, with microsecond latency + and high configurability. It is currently being + used by a variety of Internet Service Providers. + \item Audited software systems written in Java + and Python for faults and helped find security + holes. This included communicating these issues to + the teams in a blameless and constructive way. + \item Built internal and Open Source tooling using + Python and Django; C; and JavaScript for the company + to help track clients and projects. This freed up + time otherwise spent on synchronization between + departments. + \item Built Customer and Operations portals and help + desks using Javascript and React; Python and Django; + and Go that helped speed customer onboarding up from + days to hours. + \item Worked with Python and NumPy to speed core + sections of a client’s code base used for calculating + resource availabilities up by a factor of 5-7. + \end{itemize}}} } \headedsection @@ -35,10 +58,14 @@ \headedsubsection {Lead Software Developer} {July 2015 -- June 2016} - {\bodytext{Developed the backend of Bright’s products. - Took care of code reviews across projects, kept - track of the code climate, and was responsible for - deployment of Heroku- and \acr{AWS}-based systems.}} + {\bodytext{Developed the backend of Bright’s products, written in + Python using Flask through several iterations. Brought it + from a Minimum Viable Product to a set of maintainable services + that helped artists monetize their art. + Took care of code reviews across projects on Github and kept + track of the code climate through Continuous Integration and + Deployment. Was responsible for deployment on Heroku and + \acr{AWS} Lambda.}} } \headedsection @@ -49,28 +76,39 @@ {February 2015 -- present} {\bodytext{Collaborated with a wide variety of clients in the Berlin area, mostly on web-based systems of various kinds. Developed, audited, - and migrated systems while learning to remain calm under pressure, - both mundane --- e.g. critically failed deploys --- and unusal --- - e.g. \acr{DoS} attacks.}} + and migrated systems while learning to remain calm under + pressure. + \begin{itemize} + \item Maintained and extended customer-facing websites written + in JavaScript and Angular. Split up applications into + modules, drastically reducing onboarding time of other + maintainers. + \item Helped mitigate a DoS attack on a client’s infrastructure + while it happened. Moved integral and parts of + the system into the AWS cloud for better load balancing and + uptime while the system was running. + \end{itemize}}} } \headedsection {\href{https://inka.htw-berlin.de/}{HTW INKA}} {\textsc{Berlin, Germany}} {% \headedsubsection - {\href{https://inka.htw-berlin.de/inka/projekte/signal}{Research Assistant (SIGNAL)}} - {January 2015 -- July 2015} - {\bodytext{Developed information systems and multimedia - applications for the Konzerthaus and Märkisches Museum - Berlin. Also produced \acr{RFID} projects, and a - project for the Lange Nacht der Wissenschaften 2015.}} - \headedsubsection - {\href{https://inka.htw-berlin.de/inka/projekte/fki}{Research Assistant (FKI)}} - {February 2014 -- January 2015} - {\bodytext{Developed a Big Data Visualization tool using Python, - JavaScript, and Qt. Later ported it to the web using - Django. Also researched on and prototyped realtime audio - streaming technology.}} + {Research Assistant (\href{https://inka.htw-berlin.de/inka/projekte/signal}{SIGNAL} \& \href{https://inka.htw-berlin.de/inka/projekte/fki}{FKI})} + {February 2014 -- July 2015} + {} + %{\bodytext{Developed information systems and multimedia + % applications for the Konzerthaus and Märkisches Museum + % Berlin. Produced \acr{RFID} projects, and a + % project for the Lange Nacht der Wissenschaften 2015.}} + %\headedsubsection + % {\href{https://inka.htw-berlin.de/inka/projekte/fki}{Research Assistant (FKI)}} + % {February 2014 -- January 2015} + % {} + %{\bodytext{Developed a Big Data Visualization tool using Python, + % JavaScript, and Qt. Later ported it to the web using + % Django. Also researched and prototyped realtime audio + % streaming technology.}} } \roottitle{Education} @@ -82,7 +120,10 @@ {Recurser (Sabbatical)} {May 2017 -- August 2017} {\bodytext{Researched and explored personal projects during a - self-directed 3-month programming retreat.}} + self-directed 3-month programming retreat. Work included + reinventing language features using Lisp macros; building + compilers and virtual machines in Rust and OCaml; + and producing digital generative art using shaders and P5.js. }} } \headedsection @@ -91,21 +132,9 @@ \headedsubsection {BSc in Applied Computer Science} {2012 -- 2016} - {\bodytext{Developed multiple multimedia projects. \href{https://github.com/hellerve/bachelor-thesis/raw/master/thesis/thesis.pdf}{Bachelor thesis} - discusses zepto-js, the JavaScript version of zepto for frontend - and in-browser efforts. All of the projects and the thesis are available - online on Github. Final grade average of \texttt{1.76} (equivalent - GPA of ~\texttt{3.24}).}} -} - -\headedsection - {Jean-Paul-Gymnasium Hof} - {\textsc{Hof, Germany}} {% - \headedsubsection - {Abitur \textnormal{~(Pre-University Secondary Education)}} - {2003 -- 2011} - {\bodytext{Humanist and musical highschool, i.e. education in five - foreign languages and classical guitar.}} + {\bodytext{\href{https://github.com/hellerve/bachelor-thesis/raw/master/thesis/thesis.pdf}{Bachelor thesis} + on zepto-js, the JavaScript version of zepto. Grade + average of \texttt{1.76} (equivalent GPA of ~\texttt{3.24}).}} } \roottitle{Non-Work Projects} @@ -120,7 +149,7 @@ } \headedsection - {\href{https://zepto.veitheller.de/}{zepto}} + {\href{https://github.com/zepto-lang}{zepto}} {} {% \bodytext{zepto is a programming language with a focus on naïveté, malleability, and friendliness. It is both @@ -130,32 +159,20 @@ } \headedsection - {\href{http://blog.veitheller.de/}{Blog}} + {\href{https:/github.com/carp-lang/carp}{Carp}} {} {% - \bodytext{I have a very active mostly technical blog. All of the software - for it is \href{https://github.com/hellerve/blog}{open source} and - custom.} + \bodytext{Carp is a compiled Lisp with type inference and without + garbage collection. It uses new ideas to get rid of + the mundane parts of programming. I am one of the core + contributors and maintain the standard library.} } -\headedsection - {\href{https://github.com/VetoProjects/}{VeTo Projects}} - {} {% - \bodytext{VeTo Projects is a collaboration between two friends. Notable - projects include an audiovisual live coding editor for - \acr{GLSL}, \acr{QML}, and an audio live coding framework for - Python.} -} - -\roottitle{Non-Technical} - -\vspace{0.5em} -\inlineheadsection - {Natural languages:} - {German \emph{(mother tongue)}, English - \emph{(near-native proficiency, certified C1)}, French - \emph{(professional proficiency, certified B2)}, Spanish - \emph{(professional proficiency, certified B1+)}, and Japanese - \emph{(elementary proficiency, certified B1)}. Non-professionally - viable knowledge of a handful other languages.} +%\roottitle{Non-Technical} +% +%\vspace{0.5em} +%\inlineheadsection +% {Natural languages:} +% {German \emph{(mother tongue)}, English \emph{(C1)}, French +% \emph{(B2)}, Spanish \emph{(B1+)}, and Japanese \emph{(B1)}.} \end{document}