-
Notifications
You must be signed in to change notification settings - Fork 0
/
resume.html
303 lines (265 loc) · 13.2 KB
/
resume.html
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<!-- RESUME -->
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: sans-serif;
padding: 0.25in;
}
h1 {
font-size: 20px;
}
h2 {
font-weight: normal;
}
h2, h3, p, li, span {
font-size: 16px;
}
h3 {
display: inline;
}
li {
margin: .04in 0;
}
* {
margin: 0px;
}
.section-item {
margin-bottom: 0.1in;
}
section>.section-item:last-child {
margin-bottom: 0;
}
.bold {
font-weight: bold;
}
.flex {
display: flex;
}
.flex-row {
flex-direction: row;
}
.flex-col {
flex-direction: column;
}
.justify-center {
justify-content: center;
}
.full-row {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.space-above {
margin-top: 0.25in;
}
.inset {
margin-left: 0.25in;
}
.inline {
display: inline;
}
@media print {
body {
width: 8.5in;
height: 11in;
padding: 0;
}
@page {
margin: 0.75in 1in;
}
h1 {
font-size: 16px;
}
h2, h3, p, li, span {
font-size: 14px;
}
}
</style>
</head>
<body>
<!-- personal info -->
<section>
<div class="flex flex-row justify-center"><h1>Samuel Engel</h1></div>
<hr />
<div class="full-row">
<div class="flex flex-col">
<p>443.812.6301</p>
<p><a href="mailto:samuel.d.engel@gmail.com">samuel.d.engel@gmail.com</a></p>
<p>he/they</p>
</div>
<div class="flex flex-col">
<p><a href="https://www.linkedin.com/in/sam-engel-77b1761a4/">LinkedIn</a></p>
<p><a href="https://legnes.github.io/my">legnes.github.io/my</a></p>
</div>
</div>
<div class="flex flex-col inset">
<div class="space-above">
<p>I'm a Software Engineer with a focus on creative audiovisual, spatial, and scientific tools. Also talk to me about cryptic crosswords, sewing and mending, rugby union, and single-reed instruments.</p>
</div>
<div class="space-above">
<h3>Technical skills</h3>
<ul>
<li><span class="bold">Programming:</span> Typescript, Python, C#, Rust, Julia, C, Java</li>
<li><span class="bold">Technologies:</span> WebGL, WebGPU, Node.js, React, three.js, Unity, esbuild, PyTorch, Heroku, CouchDB, Postgres, ASP.NET</li>
<li><span class="bold">Practices:</span> Git, Code review, Design documents, Project management</li>
<li><span class="bold">Open source contributions:</span> <a href="https://github.com/crosshare-org/crosshare">Crosshare</a>, <a href="https://github.com/tsherif/webgpu-examples">WebGPU Examples</a></li>
<li><span class="bold">Training:</span> <i>Reinforcement Learning 1 and 2</i>, Delta Academy; <i>Compute Shaders in Unity</i>, Arsiliath</li>
</ul>
</div>
</div>
</section>
<!-- education -->
<section class="space-above">
<h2>Education</h2>
<hr />
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">Columbia University</h3>, New York, NY</span>
<p class="bold">2010–2014</p>
</div>
<ul>
<li><p>B.A. in Chemical Physics</p></li>
<!-- <li><p>B.A. in Chemical Physics (CGPA: 3.6845)</p></li> -->
<li><p>Honors: Senior marshal, Dean's list 2011–2013</p></li>
<li><p>Relevant coursework: Computer Animation, Introduction to Quantum Computing, Data Structures in Java, Introduction to Computer Science</p></li>
<li><p>Relevant coursework: Quantum Mechanics I, Electromagnetic Waves & Optics, Making & Breaking Codes, Electricity & Magnetism, Linear Algebra, Calculus IV</p></li>
</ul>
</div>
</section>
<!-- employment -->
<section class="space-above">
<h2>Employment and Research</h2>
<hr />
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">Esri</h3>, Remote | <span class="bold">Senior Software Engineer, Graphics</span></span>
<p class="bold">2021–present</p>
</div>
<p>Senior IC on the ArcGIS Maps SDK for Javascript, a data-driven large-scale geospatial visualization engine powering thousands of new web maps made daily.</p>
<ul>
<li>Owned several high-profile subsystems including camera animation, hittesting, heatmaps, and streaming data visualization.</li>
<li>Drove engine performance improvements. Optimized marker mesh sizing, alleviating overdraw and improving frame time by up to 100%. Overhauled dashed lines to use 1D SDFs, reducing vertex count by 10x or more. Enhanced batching, leading to 10x speedups for complex symbology. Modified draw order to reduce GL calls by 5%–50% in certain cases.</li>
<li>Shipped new camera animations for improved geographical context. Extended implementation of internal R&D paper on optimized camera transitions. Worked with A11y team to ensure best practices, gathered feedback from stakeholders, designed new user-facing API, and coordinated rollout.</li>
<li>Overhauled heatmap rendering. Moved implementation to the GPU. Coordinated API, implementation, and documentation changes from Gaussian to Quartic kernels. Derived approximate analytical conversion for backwards compatibility.</li>
<li>Organized cross-team investigations into WebGPU-readiness. Presented on WebGPU fundamentals. Evaluated continued relevance of batch rendering. Implemented parallel radix sort (5–10x faster than serial cpu-side) as part of a morton code binary tree culling algorithm.</li>
<li>Led adoption of WebGL2 features such as pixel buffers, sync objects, uniform buffers, and GLES 3. Shipped a custom system for encoding float16 attributes.</li>
<li>Developed a Typescript + esbuild workflow for local test apps, reducing developer build times from minutes to instants.</li>
<li>Prototyped real-time GPU-enabled analysis techniques, such as inverse distance weighting interpolation and jump flood-based 2D viewshed analysis.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">Iambic Therapeutics</h3> (previously Entos, Inc.), Remote | <span class="bold">Lead Front End Engineer</span></span>
<p class="bold">2020–2021</p>
</div>
<p>Coordinated the front end team in a growing computational chemistry startup.</p>
<ul>
<li>Scaled a web app from MVP to hundreds of users. Architected designs for a chemical filesystem, molecule editor, and user auth using React, TypeScript, WebGL, Python, and Postgres.</li>
<li>Conducted standups and retros, advised at high-level strategy meetings. Designed and ran technical interviews.</li>
<!-- <li>Prototyped exploratory web apps. Designed a molecule SVG renderer and a cloud computation analytics dashboard.</li> -->
<li>Promoted best practices like reusable components, project managment tooling, and code standards. Introduced lunch-and-learns.</li>
</ul>
</div>
<div class="section-item">
<!-- <div class="full-row">
<span><h3 class="inline">CBRE Build</h3> (previously Floored), New York, NY | <span class="bold">Senior Software Engineer</span></span>
<p class="bold">2019–2020</p>
</div>
<div class="full-row">
<span style="margin-left: 22.25em">Software Engineer</span>
<p>2015–2019</p>
</div> -->
<div class="full-row">
<span><h3 class="inline">CBRE Build</h3> (previously Floored), New York, NY | <span class="bold">Senior Software Engineer</span>, Software Engineer</span>
<span><span class="bold">2019–2020</span>, 2015–2019</span>
</div>
<p>Built interactive spatial visualizations at a startup acquired in 2017 by the world's largest commercial real estate services firm.</p>
<ul>
<li>Owned continuing development of a proprietary 3D WebGL rendering engine. Scoped, researched, and deployed artist-facing tools, developer diagnostics, and quality improvements.</li>
<li>Led development of a new LDR rendering pipeline. Identified technical and aesthetic requirements from stakeholders, set quarterly objectives, and promoted release.</li>
<li>Prototyped and presented experimental features, including screen space reflections, real-time volumetric clouds, world space HTML overlay, and temporal depth of field.</li>
<li>Delivered full-stack features across multiple products, including inter-app resource management in Node.js and SVG polygon manipulation in Mithril.js. Diagnosed and resolved production issues, including Node.js Heroku memory leaks, WebGL engine load times, and data-heavy virtualized React table performance.</li>
<li>Ran internal graphics literature club.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">Three Byte Intermedia</h3>, New York, NY | <span class="bold">Software Developer</span></span>
<p class="bold">2014–2015</p>
</div>
<p>Created custom software solutions for artists and museums.</p>
<ul>
<li>Projects included the Paley Center for Media's archive portal, the Robot Swarm exhibit at the National Museum of Mathematics, and a photography installation for Doug and Mike Starn.</li>
<li>Engineered interactive Robot Swarm exhibit at the National Museum of Mathematics. Implemented cross-platform UX and a novel collision avoidance scheme.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">Columbia University</h3>, New York, NY | <span class="bold">Researcher</span></span>
<p class="bold">2013–2014</p>
</div>
<p>Angelo Cacciuto physical chemistry lab.</p>
<ul>
<li>Modeled vesicle membrane and polymer systems using Monte Carlo methods.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">WKCR-FM NY</h3>, New York, NY | <span class="bold">Station Manager</span></span>
<p class="bold">2012–2013</p>
</div>
<p>Oversaw operations of full-time radio station founded in 1941.</p>
<ul>
<li>Led staff of 15 as well as dozens of volunteers.</li>
<li>Catalogued and coordinated preservation efforts for archive of historically valuable reel-to-reel tapes.</li>
<li>Jazz and American music DJ.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">Columbia University</h3>, New York, NY | <span class="bold">Researcher</span></span>
<p class="bold">Summer 2012</p>
</div>
<p>Jeffrey Koberstein chemical engineering lab.</p>
<ul>
<li>Examined functionality concentration in photochemical cross-linking of thin-film polymer systems using quantitative Gel Permeation Chromatography.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">UMD Training and Research Experiences in Nonlinear Dynamics</h3>, College Park, MD | <span class="bold">Researcher</span></span>
<p class="bold">Summer 2011</p>
</div>
<p>Wolfgang Losert biophysics lab.</p>
<ul>
<li>Probed the cytoskeletal structure of metastatic cancer cells by algorithmic image analysis of optical stretcher data using Particle Image Velocimetry.</li>
</ul>
</div>
<div class="section-item">
<div class="full-row">
<span><h3 class="inline">University of Maryland</h3>, College Park, MD | <span class="bold">Researcher</span></span>
<p class="bold">Summer 2010</p>
</div>
<p>Karen Carleton evolutionary biology lab.</p>
<ul>
<li>Identified correlations between miRNA and opsin expression in cichlid fishes.</li>
<li>O'Quin, K. E, Smith, D., Naseer, Z., Schulte, J., <span class="bold">Engel, S. D</span>, Loh, Y. E, Streelman, J. T, Boore, J. L, Carleton, K. L (2011). <a href="http://escholarship.org/uc/item/8bf6m15p">Divergence in cis-regulatory sequences surrounding the opsin gene arrays of African cichlid fishes</a>. BMC Evolutionary Biology, 11(1).</li>
</ul>
</div>
</section>
<!-- publications & talks -->
<section class="space-above">
<h2>Publications and Talks</h2>
<hr />
<div class="section-item">
<ul>
<li><span class="bold">NYC Nodejs meetup</span>—<a href="https://www.meetup.com/nodejs/events/252718152/">"Leaky Pipes in Build 3D"</a>, 2018</li>
<li><span class="bold">IEEE International Conference on Robotics and Automation</span>—A. Levy, C. Keitel, <span class="bold">S. Engel</span> and J. McLurkin, "<a href="https://ieeexplore.ieee.org/abstract/document/7138974">The Extended Velocity Obstacle and applying ORCA in the real world</a>," 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, 2015, pp. 16-22.</li>
<li><span class="bold">BMC Ecology and Evolution</span>—O'Quin, K. E, Smith, D., Naseer, Z., Schulte, J., <span class="bold">Engel, S. D</span>, Loh, Y. E, Streelman, J. T, Boore, J. L, Carleton, K. L (2011). <a href="http://escholarship.org/uc/item/8bf6m15p">Divergence in cis-regulatory sequences surrounding the opsin gene arrays of African cichlid fishes</a>. BMC Evolutionary Biology, 11(1).</a></li>
</ul>
</div>
</section>
</body>
</html>