-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathresume.tex
More file actions
176 lines (150 loc) · 6.94 KB
/
resume.tex
File metadata and controls
176 lines (150 loc) · 6.94 KB
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
\documentclass[12pt]{report}
% I really hate end-of-line hyphens
\hyphenpenalty=10000
\tolerance=2000
% Set up link options and PDF info
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
urlcolor=black,
pdftitle=Jason Alan Palmer's resume,
pdfauthor=Jason Alan Palmer,
pdfcreator=,
pdfproducer=,
}
\usepackage{tabularx}
% Small bullet points
\renewcommand{\bullet}{$\vcenter{\hbox{~\huge$\cdot$~}}$}
% Custom environments for alignment
\newenvironment{jobhead}
{\tabularx{\textwidth}{ @{} l X r @{} }}
{\endtabularx}
\newenvironment{bullets}
{\tabularx{\textwidth}{ @{\bullet} X @{} }}
{\endtabularx}
% Standard margins
\usepackage[margin=1in]{geometry}
% Don't indent paragraphs
\setlength{\parindent}{0pt}
% No page numbers
\pagestyle{empty}
\begin{document}
\hbox{\textbf{\large Jason Alan Palmer}\strut}\hrule\kern2pt
% Just name and email, since this is online
\href{mailto:jalanpalmer@gmail.com}{jalanpalmer@gmail.com}
\hfill
\href{https://www.linkedin.com/in/jalanpalmer}{linkedin.com/in/jalanpalmer}
\subsection*{Experience}
\begin{jobhead}
\textbf{Principal Software Engineer}, Dell Technologies && (remote) ~~ 2021--~~~~~~ \\
\end{jobhead}
APEX / ISG SaaS - devOps / devEx \\
\begin{bullets}
Manage code repositories, CI pipelines, and deployments for 100s of developers. \\
Plan, provision, monitor, and troubleshoot Kubernetes resources. \\
Coordinate application security fixes and credential rotations. \\
Fix anything and everything. Help other engineers at all levels get things done. \\
\end{bullets}
\begin{jobhead}
\textbf{Senior Software Developer}, ActiveState && (remote) ~~ 2019--2021 \\
\end{jobhead}
\begin{bullets}
Created a next-generation dependency resolution system that works across ecosystems and on multiple platforms. \\
Maintained an inventory of software packages for users to create custom runtimes. \\
Maximized observability via metric reporting, distributed tracing, and careful logging. \\
\end{bullets}
\begin{jobhead}
\textbf{Senior Software Engineer}, Dish Network && Denver, CO ~~ 2018--2019 \\
\end{jobhead}
Narrowband Internet of Things (NB IoT) \\
\begin{bullets}
Designed and coded Go microservices to process data from IoT devices. \\
Created CI / CD pipelines in GitLab to test, build, vet, and deploy. \\
Led adoption of AWS Elastic Container Service. \\
\end{bullets}
Sling TV \\
\begin{bullets}
Created scalable gRPC microservices and an HTTP frontend. \\
Designed libraries to encourage standard behavior across our ecosystem. \\
\end{bullets}
Legacy application maintenance \\
\begin{bullets}
Prioritized the most relevant issues to reduce production support requirements. \\
Reduced daily error messages from 500,000 to 1000. \\
\end{bullets}
\begin{jobhead}
\textbf{Senior Software Engineer}, UberResearch && Bethesda, MD ~~ 2015--2018 \\
\end{jobhead}
On-site at the National Institutes of Health (NIH) \\
\begin{bullets}
Created an asynchronous web service for enriching scientific documents. \\
Scaled up data processing by a factor of 100. \\
Developed web applications, including OPA's first public app, iCite (\href{https://icite.od.nih.gov}{icite.od.nih.gov}). \\
Implemented the Relative Citation Ratio, assessing the impact of scientific articles. \\
\end{bullets}
\begin{jobhead}
\textbf{Software Engineer}, Nationwide Insurance (contract) && Columbus, OH ~~ 2013--2015 \\
\end{jobhead}
\begin{bullets}
Automated security updates for thousands of Red Hat Enterprise Linux servers. \\
Provided control via SSH, with no software installation required on the remote hosts. \\
Exposed equivalent functionality via command-line or a web app, including REST API. \\
\end{bullets}
\begin{jobhead}
\textbf{Software Engineer}, IBM && Columbus, OH ~~ 2012--2013 \\
\end{jobhead}
\begin{bullets}
Deployed and maintained application servers, databases, and directory servers. \\
Developed automated performance tests based on real customer bottlenecks. \\
\end{bullets}
\begin{jobhead}
\textbf{Research Associate}, Ohio State University && Columbus, OH ~~ 2009--2012 \\
\end{jobhead}
\begin{bullets}
Optimized medically relevant EPR (electron paramagnetic resonance) experiments. \\
Taught undergraduate labs: communication laboratory, microcontroller laboratory. \\
Published two peer-reviewed articles. \\
\end{bullets}
\begin{jobhead}
\textbf{Software Engineer}, Chemical Abstracts Service && Columbus, OH ~~ 2007--2009 \\
\end{jobhead}
\begin{bullets}
Disassembled with OllyDbg to discover a password recovery vulnerability. \\
Intelligently converted JPEG spectrums to PNG for a 93\% size reduction. \\
\end{bullets}
\subsection*{Skills}
\begin{bullets}
Fluency in Go and Python, also experienced with C-family, assembly, shell scripts, JavaScript, Lisps. \\
Software engineering, start to finish: gather and analyze requirements, architect a system, design and code its components, test thoroughly, document, and build an automated pipeline to deploy every commit. \\
Specialize in backend development, but work across the stack when needed: command-line tools, text and numerical processing, front-end. \\
Leadership: help less experienced engineers make progress, constantly refine and share best practices in multi-team meetings, learn every day. \\
Messaging and queueing: leverage Celery and Redis, RabbitMQ, Kafka, or build our own queues in PostgreSQL. \\
Performance: profile CPU and memory usage, add concurrency without sacrificing safety or clarity of code, optimize database queries, add caching layers. \\
Code review: provide rapid, constructive feedback to team members; catch issues early, when they are easiest to address; provoke thoughtful discussions that we all learn from. \\
APIs: create HTTP and gRPC APIs that are pleasant to use, and design libraries that encourage standards and speed development on new projects. \\
Operations: maintain services, set up monitoring and alerting, perform thorough postmortems after production outages. \\
CI / CD: automate builds, unit tests, static analysis, and integration tests. Deploy with no manual steps. \\
Analysis: math, statistics, optimization, estimation, machine learning. Dig deep into new problem spaces and get up to speed quickly. \\
Documentation: write articles, presentations, online help, and examples. \\
Unix philosophy: favor composable and minimalist tools over large programs, removing nonessential features over adding more, and simplicity over perfection. \\
\end{bullets}
\subsection*{Education}
\begin{tabularx}{\textwidth}{ @{\bullet} l X c X r @{} }
MS, Electrical and Computer Engineering && Ohio State University \\
BS, Electrical and Computer Engineering && Ohio State University \\
\end{tabularx}
\subsection*{Community}
\begin{bullets}
Open source: fix issues that I encounter, leading to contributions to
caniuse.com,
Django REST framework,
GNU Octave,
go-sdl2,
poppler,
pyramid\_exclog,
and
SQLBoiler.
I am also the author of a small Python library that has been downloaded millions of times. \\
Attend local programming meetups and major conferences such as GopherCon. \\
\end{bullets}
\end{document}