-
Notifications
You must be signed in to change notification settings - Fork 10
/
resume.tex
205 lines (154 loc) · 10.4 KB
/
resume.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
%
% LaTeX source of my resume
% =========================
%
% Heavily commented to to fit even LaTeX beginners (hopefully).
%
% See the `README.md` file for more info.
%
% This file is licensed under the CC-NC-ND Creative Commons license.
%
% Start a document with the here given default font size and paper size.
\documentclass[10pt,a4paper]{article}
% Set the page margins.
\usepackage[a4paper,margin=0.75in]{geometry}
% Setup the language.
\usepackage[english]{babel}
\hyphenation{Some-long-word}
% Makes resume-specific commands available.
\usepackage{resume}
\begin{document} % begin the content of the document
\sloppy % this to relax whitespacing in favour of straight margins
% title on top of the document
\maintitle{Paul Schoenfelder}{}{Last update on \today}
\nobreakvspace{0.3em} % add some page break averse vertical spacing
% \noindent prevents paragraph's first lines from indenting
% \mbox is used to obfuscate the email address
% \sbull is a spaced bullet
% \href well..
% \\ breaks the line into a new paragraph
\noindent\href{mailto:paulschoenfelder@fastmail.com}{paulschoenfelder\mbox{}@\mbox{}fastmail.com}\sbull
952-905-4095\sbull
\href{http://bitwalker.org}{bitwalker.org}
\\
Saratoga Springs, New York
\spacedhrule{0.9em}{-0.4em} % a horizontal line with some vertical spacing before and after
\roottitle{About Me} % a root section title
\vspace{-1.3em} % some vertical spacing
\begin{multicols}{2} % open a multicolumn environment
\noindent \emph{I'm an experienced software engineer with a love for open source, compilers and distributed computing, and a passion for developing high-quality software.}
\\
\\
I started out in IT as a network engineer, working with Cisco equipment, but it wasn't long before I had delved in to writing scripts for automation. Once I had a taste for code, I knew it was where I belonged, and I was relentless in pursuing an open developer position at the same company. I was given the opportunity, and I've been a software engineer ever since.
I was thrown in to the world of software engineering, and had to learn fast. I've soaked up books, blogs, talks, whatever I could. I have become proficient in numerous languages, technologies, and practices along the way, and achieved mastery in many of them.
I'm active in open source. I experiment with embedded development. I love functional programming and the challenges of concurrency and distribution. But most of all, I love working on compilers and developer tooling.
\end{multicols}
\spacedhrule{0em}{-0.4em}
\roottitle{Professional Experience}
\headedsection % sets the header for the section and includes any subsections
{\href{http://www.dockyard.com}{DockYard}}
{\textsc{Remote}} {%
\headedsubsection
{Principal Engineer}
{Jan \apo21 -- present}
{\bodytext{I returned to DockYard to continue work on Firefly, the compiler project I spearheaded during my previous stint at the company. The CEO who originally backed the project came back to the company, and asked if I'd come back and pick up where I left off, with plenty of support - an offer I couldn't refuse! We're currently aiming to ship the first beta release by the end of the year.}}
}
\headedsection % sets the header for the section and includes any subsections
{\href{http://www.distru.com}{Distru}}
{\textsc{Remote}} {%
\headedsubsection
{Senior Software Engineer}
{Jan \apo20 -- Jan \apo 21}
{\bodytext{At Distru, I spearheaded a number of different efforts to improve software reliability and turnaround time for fixes and new features. The most significant of these has been migrating the platform from its Heroku roots to Google Kubernetes Engine, consolidating our infrastructure under GCP, ensuring all of it is managed via Terraform and Helm, setting up a fully automated self-service continuous delivery pipeline, and providing a cutting edge observability stack for engineers to better understand the runtime behavior of the platform and enable them to troubleshoot issues quickly and effectively. By the time I left the company, this had all been accomplished, and I was able to hand off all of what I had built to a pair of more junior engineers who were interested in maintaining it going forward.}}
}
\headedsection % sets the header for the section and includes any subsections
{\href{http://www.dockyard.com}{DockYard}}
{\textsc{Remote}} {%
\headedsubsection
{Principal Engineer}
{Oct \apo17 -- Jan \apo20}
{\bodytext{My role at DockYard took two shapes: first as software architect on client projects, primarily focused on deployment and infrastructure; second as a technical lead on various R\&D projects. I was originally hired to work on my open source projects, namely Distillery, and get releases integrated into Elixir Core, which happened in Elixir 1.9. The last year of my time at DockYard was spent working on Firefly, an ahead-of-time compiler for Erlang and Elixir that targets WebAssembly. I left because the CEO was stepping down to go work on other things, and the new CEO intended to shelve Firefly.}}
}
\headedsection % sets the header for the section and includes any subsections
{\href{http://www.fireeye.com}{FireEye}}
{\textsc{Remote}} {%
\headedsubsection
{Senior Staff Software Engineer}
{Jan \apo17 -- Oct \apo17}
{\bodytext{My role at FireEye was focused on the implementation of a concurrent, distributed, throughput-heavy workflow and data processing engine for security orchestration, built in Elixir.}}
}
\headedsection % sets the header for the section and includes any subsections
{\href{http://www.exosite.com}{Exosite}}
{\textsc{Minneapolis, Minnesota}} {%
\headedsubsection
{Senior Web and Infrastructure Engineer}
{Oct \apo15 -- Jan \apo17}
{\bodytext{Lead developer on some of Exosite's most critical core services, built on Erlang and Elixir, with a few in Go (with parts written in C). Became very proficient with an array of AWS services, as well as Kubernetes in order to implement an OpenShift-based hosting platform for customer and internal applications. The applications I built were distributed, highly concurrent infrastructure services, with all the resultant challenges. One of the more interesting aspects of this role was building a scripting engine on top the Lua virtual machine that was integrated into a Go service invoked whenever commands were issued to/from devices connected to the platform.}}
}
\vspace{-0.2em}
\begin{center}
\emph{\small My \href{http://www.linkedin.com/in/gotbones}{LinkedIn profile} has a more complete list of my work experiences/military service, along with recommendations.}
\end{center}
\spacedhrule{-0.2em}{-0.4em}
\roottitle{Notable Open Source Projects}
\headedsection
{\href{https://github.com/getfirefly/firefly}{Firefly}}{%
\headedsubsection
{Technical Lead/Maintainer}
{Jan \apo19 -- present}
{\bodytext{Firefly is an ahead-of-time compiler for Erlang and Elixir that can target a variety of architectures, of which WebAssembly is of primary interest. It can be thought of as an alternative to the BEAM virtual machine, except rather than a virtual machine, Firefly compiles to native code. In addition to the compiler, Firefly also includes a runtime that allows it to integrate with browser APIs when targeting WebAssembly. It is built in Rust and C++, and builds on top of MLIR/LLVM.}}}
\headedsection
{\href{https://github.com/bitwalker/distillery}{Distillery}}{%
\headedsubsection
{Author/Maintainer}
{May \apo16 -- May \apo 20}
{\bodytext{Distillery is a release-management tool for Elixir applications, effectively a redesign/rewrite of ExRM, the original tool I wrote for the same purpose. It was the primary and officially recommended tool for deploying Elixir-based applications, and formed the basis of the implementation that was introduced into Elixir 1.9. It was a very active OSS project, with many contributors, used by a large proportion of the community.}}}
\headedsection
{\href{https://github.com/bitwalker/timex}{Timex}}{%
\headedsubsection
{Author/Maintainer}
{Nov \apo13 -- present}
{\bodytext{Timex is the richest date/time library for Elixir projects. It provides functionality that even most standard library packages in other languages fail to offer. It provides rich parsing/formatting facilities (including locale-awareness), timezone-aware date/time arithmetic, a modular architecture, operations on intervals, and more.}}}
\vspace{-0.2em}
\begin{center}
\emph{\small My GitHub profile contains a list of the many other projects I'm involved in, feel free to take a look!}
\end{center}
\spacedhrule{-0.2em}{-0.4em}
\roottitle{Conference Talks}
\inlineheadsection
{2019:}
{CodeMesh LDN, ElixirConf, LoneStar Elixir}
\inlineheadsection
{2018:}
{The Big Elixir, LoneStar Elixir, CodeBEAM SF}
\inlineheadsection
{Older:}
{ElixirConf x2, LoneStar Elixir}
\roottitle{Podcasts}
\inlineheadsection
{2021:}
{Rustacean Station}
\inlineheadsection
{2020:}
{Elixir Wizards}
\inlineheadsection
{2019:}
{Smart Software with SmartLogic, Elixir Talk, ElixirMix}
\roottitle{Skills}
\inlineheadsection % special section that has an inline header with a 'hanging' paragraph
{Languages:}
{Rust, Erlang, Elixir, C, C++, Go, Javascript, and proficient in many more}
\inlineheadsection
{Theory:}
{Type theory, compilers, interpreters, data structures and algorithms, distributed consensus, messaging and protocol design}
\inlineheadsection
{Dev/Ops:}
{Networking, administration of Linux and Windows systems, deployment automation, container orchestration (Kubernetes), continuous integration/delivery with internal and external build systems, GCP/AWS services}
\inlineheadsection
{Development:}
{I've built applications ranging from simple scripts to desktop applications with graphical interfaces. Single-threaded console utilities, to distributed, heavily-concurrent backend services where performance is critical. I've worked on scripting systems, web applications, some embedded software, and designed and developed remotely upgradeable, hot-pluggable services for gateway devices. If it's something new, I make a point to learn everything I can about the domain, and then dive in.}
\roottitle{Interests}
\inlineheadsection
{Non-exhaustive and in no particular order:}
{programming language design and theory, woodworking, artificial intelligence, game development, music, homebrewing, the outdoors, and more! I love to learn, so there is almost always something new I'm picking up.}
\end{document}