-
Notifications
You must be signed in to change notification settings - Fork 0
/
resume.tex
290 lines (271 loc) · 14.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
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
\documentclass[10pt]{article}
% -------START PREAMBLE-------
% Packages
\usepackage{scrextend} % Allows patches to addmargin
\usepackage{textcomp} % For special characters
\usepackage{titlesec} % Help with title formatting
\usepackage[inline]{enumitem} % Allow setting bullet style
\usepackage{multicol} % Multi-column layout
\usepackage{bold-extra} % Allow bold smallcaps
\usepackage{datatool} % Used in sorting data
\usepackage[letterpaper, margin=0.5in]{geometry} % Set document properties
% Formatting Setup
\titleformat{\section}{\Large\scshape\bfseries\raggedright}{}{0em}{}[\titlerule]
\titlespacing{\section}{0pt}{3pt}{3pt}
\titleformat{\subsection}{\itshape\raggedright}{}{0em}{}
\titlespacing{\subsection}{0pt}{0pt}{0pt}
% Style Overrides
\setlength\parindent{0pt}
\setlist[itemize]{nosep, noitemsep, leftmargin=1.5em}
\setlength\multicolsep{0pt}
\setlength{\columnsep}{0.1em}
% Custom Commands
% These we use to justfify partial lines
\newcommand{\startsquarepar}{\par\begingroup \parfillskip 0pt \relax}
\newcommand{\stopsquarepar}{\par\endgroup}
% Allow sorted lists
\newcommand{\sortitem}[2][\relax]{
\DTLnewrow{list} % Create a new entry
\ifx#1\relax
\DTLnewdbentry{list}{sortlabel}{#2} % Add entry sortlabel (with optional sortkey)
\else
\DTLnewdbentry{list}{sortlabel}{#1} % Add entry sortlabel (without optional sortkey)
\fi
\DTLnewdbentry{list}{description}{#2} % Add entry description
}
% Bulleted row sorted list
\newenvironment{sortedlist}{
\DTLifdbexists{list}{\DTLcleardb{list}}{\DTLnewdb{list}} % Create new/discard old list
}{
\DTLsort{sortlabel}{list} % Sort list
\begin{itemize}
\DTLforeach*{list}{\theDesc=description}{\item \theDesc} % Print each item
\end{itemize}
}
% Inline horizontal sorted list
\newenvironment{sortedInlineList}{
\DTLifdbexists{list}{\DTLcleardb{list}}{\DTLnewdb{list}} % Create new/discard old list
}{
\DTLsort{sortlabel}{list} % Sort list
\begin{itemize*}[label={}, itemjoin={,}, leftmargin=*]
\DTLforeach*{list}{\theDesc=description}{\item \theDesc} % Print each item
\end{itemize*}
}
% Patches
\makeatletter
% Remove top margin from addmargin
\let\@addmarginORIG\@addmargin
\renewcommand*\@addmargin{%
\vspace{-\bigskipamount}
\@addmarginORIG}
\makeatother
% -------END PREAMBLE-------
% Begin the document
\begin{document}
\pagestyle{empty} % non-numbered pages
% Title
\section*{\Huge Nathan E. Disidore}
\startsquarepar
9409 Campbell Rd $\cdot$ Apt B $\cdot$ Houston, Texas 77080 $\cdot$ (913) 961 - 7749 $\cdot$ [email protected]
\stopsquarepar
% Sections
\section*{Professional Profile}
Self-motivated, versatile Computer Engineer looking to develop and utilize my passion for the sciences and emerging technologies. Extensive background in both programming and hardware-related roles with proven experience in full product life cycle development. Field tested successfully in sink-or-swim situations. Flexible yet adept and team oriented.
\section*{Skill Profile}
\subsection*{Programming Languages \& Databases:}
\begin{sortedInlineList}
% Core
\sortitem[corePython]{Python}
\sortitem[coreRust]{Rust}
\sortitem[coreC]{C/C++}
\sortitem[coreJava]{Java}
\sortitem[coreRuby]{Ruby}
\sortitem[coreCSharp]{C\#}
% Web Tech
\sortitem[webES6]{ES6}
\sortitem[webNode]{NodeJS}
\sortitem[webReact]{React}
\sortitem[webRedux]{Redux}
\sortitem[webExpress]{Express}
\sortitem[webGraphQL]{GraphQL}
% Functional
\sortitem[functLua]{Lua}
\sortitem[functHaskell]{Haskell}
% Hardware
\sortitem[hardVHDL]{VHDL}
\sortitem[hardAssembly]{Assembly}
% Databases
\sortitem[dbPostgres]{PostgreSQL}
\sortitem[dbMongo]{MongoDB}
\sortitem[dbDynamo]{DynamoDB}
\end{sortedInlineList}
\subsection*{Hardware:}
\begin{sortedInlineList}
\sortitem{PCB Design}
\sortitem{Raspberry Pi}
\sortitem{Ardunio}
\sortitem{Xilinx}
\sortitem{Modbus}
\sortitem{CISCO Routers/Switches}
\sortitem{Multicast}
\sortitem{Docker}
\end{sortedInlineList}
\section*{Work Experience}
% Pason Power
\textbf{Pason Power} \hfill Houston, TX \\
\textit{Pason Power empowers customers to realize eco and cost energy savings via ML driven solar and battery management systems.} \\
\begin{addmargin}[1em]{0em}
\textbf{Chief Cloud Architect \& Full Stack Engineer} \hfill \textit{June 2017 \textendash{} Present} \\
Member of founding team for hardware startup. Lead decisions on tech stack, built out cloud infrastructure, interfaced directly with clients in both a sales and support capacity, and solved scaling issues \\
\vspace{-1.1em}
\begin{itemize}
\item Kickstarted critical infrastructure work, including introduction of CI deploys and architecture as code via IaaS to support self-healing, load balanced, and auto-scaling instances with blue green deploys
\item Architected on-boarding and commissioning process for end devices, targeting multiple client personas along the way, managing configuration stacks with over 150 parameters, with real time updates via async iterators with pubsub
\item Deployed both a data ingestion pipeline, utilizing IoT Core as a broker, Kinesis, and Redis for supporting real time data, and a secure command and control proxy for cloud to device signals
\item Advocated for and ushered in a modern web stack, facilitating migration to Material UI, GraphQL, and latest Babel and Webpack
\item Collaborated closely with sales, driving multiple client demos and implementing key functionality ultimately helping the company transition from zero to over \$1M annually
\item Responsible for hiring, designed interview exercises and standardized list of questions, helping grow team from 5 to 20
\end{itemize}
\textit{Dev Technologies:} GraphQL, Javascript, ES6, Node, ExpressJS, Babel, MQTT, SSO, OAuth, JWT, Websockets, Docker, Redis, Python, TimescaleDB, Postgres, MySQL \\
\textit{Cloud Technologies:} Lambda, CloudFormation, DynamoDB, CloudFront, Kinesis, ECS, ECR, Elastic Beanstalk, IoT, ElastiCache, Security Groups, VPCs (with Peering)
\end{addmargin}
% Knocki
\textbf{Knocki} \hfill Houston, TX \\
\textit{Knocki is a startup in the IoT space developing a hardware backed, gesture based smart home integration hub.} \\
\begin{addmargin}[1em]{0em}
\textbf{Full Stack Engineer} \hfill \textit{November 2016 \textendash{} April 2017} \\
Member of founding team for hardware startup. Initiated contact with and vetted vendors, screened applicants and interns and represented the company at networking events and SXSW while building the cloud platform/integrations \\
\vspace{-1.1em}
\begin{itemize}
\item Co-architected and implemented a serverless backend allowing for on-demand scalability and minimal resource usage utilizing Express.js with connections to AWS Lambda, S3, DynamoDB, CloudFront, CloudSearch and IoT
\item Conceptualized and scripted hardware OTA process, interfacing with MCU driver code up to the cloud features including firmware management and staged device deploys
\item Authored and developed admin dashboard using React, Redux, Webpack and other leading technologies
\item Implemented device commissioning process, working with manufacturer to develop custom API for secure device registration to Knocki cloud, including certificate juggling and record creation with manufacturing specifics
\end{itemize}
\textit{Dev Technologies:} Serverless, Javascript, ES6, Node, ExpressJS, Babel, MQTT, SSO, OAuth, ClaudiaJS \\
\textit{Cloud Technologies:} AWS Lambda, CloudFormation, DynamoDB, MongoDB, CloudFront, AWS IoT
\end{addmargin}
% Targeted Victory
\textbf{Product Team, Targeted Victory} \hfill Alexandria, VA \\
\textit{Targeted Victory is a media and technology firm specializing in fundraising, advocacy, and constituency development.} \\
\begin{addmargin}[1em]{0em}
\textbf{Full Stack Devops Developer} \hfill \textit{September 2013 \textendash{} November 2016} \\
Co-developed an in-house fundraising portal solution utilizing REST API with OAuth support and single sign on capabilities across multiple client websites, one click and email functionality, and secure card processing \\
\vspace{-1.1em}
\begin{itemize}
\item Introduced and embraced the latest technologies including an automated build process utilizing Grunt, adhering to MVC design using Backbone, dependency management using RequireJS and Composer, and standards checking
\item Willingly assumed additional server administration role with the need was identified, handling server setup and L.E.M.P. configuration, site migration, VPC setup, load balancing, and AWS EC2 cloud instance management
\item Reworked system architecture to support real time server monitoring, elastic load balancing, CDN distribution and Web Application Firewall implementation, reducing hosting costs by \$20,000/month and increasing PCI compliance
\end{itemize}
\textit{Technologies:} PHP, Ruby on Rails, Laravel, Wordpress, JavaScript, REST, Backbone.js, MVC, RequireJS, Node.js, Grunt, OAuth, CORS, AWS EC2, nginx, Apache, Varnish, BASH, Docker, VPC, Cloudflare, Continuous Integration
\end{addmargin}
\section*{Leadership / Activities}
% TCM Hackaton
\textbf{TMC Biodesign Hackathon $\cdot$ People's Choice Award} \hfill Houston, TX\\
\textit{Tech Lead: VertiKNOW \hfill April 2018} \\
\vspace{-1.1em}
\begin{itemize}
\item Shepherded team through technical requirements, developing an MVP hardware solution, and pitching to the judges.
\end{itemize}
% Tech.co SXSW Pitch
\textbf{Tech.Co\textquotesingle{}s Startup Night at SXSW} \hfill Austin, TX\\
\textit{Pitcher: Knocki \hfill March 2017} \\
\vspace{-1.1em}
\begin{itemize}
\item Competed in startup pitch-off, pitching on behalf of Knocki to a panel of 25 judges and an audience of {\textasciitilde{}}300
\item Manned Knocki booth for remainder of event, conveying utility, networking and distributing promotional material
\end{itemize}
% Startup Weekend Activities
\textbf{Startup Weekend D.C.} \hfill Washington, D.C. \\
% Startup Weekend Alumni Mentorship
\textit{Alumni Mentor \& Volunteer \hfill June 2016} \\
\vspace{-1.1em}
\begin{itemize}
\item Served as a resource, answering technical questions and guiding participants to help realize their visions
\end{itemize}
% Zipline
\textit{Developer: Zipline $\cdot$ People's Choice Award \hfill November 2015} \\
\vspace{-1.1em}
\begin{itemize}
\item Participated in the setup of the business logic and developed API to communicate with Target's data warehouse
\item Spun up a MEAN stack based web portal for user login and to serve as the client facing website
\end{itemize}
% BBQ.io
\textit{Developer: BBQ.io $\cdot$ First Place Team \hfill March 2015} \\
\vspace{-1.1em}
\begin{itemize}
\item Implemented client side communication using websockets, facilitating the sending of data and receiving of commands
\item Wired and tested the relay communication for both the fan control and smoke sensor and GPIO control
\item Presented tech demo to judges and viewing audience, outlining technical aspects in an engaging and clear manner
\end{itemize}
% iSurvive
\textbf{Microsoft Health and Wellness Hack-a-ton $\cdot$ Third Place Team} \hfill Washington, D.C. \\
\textit{Developer: iSurvive \hfill June 2015} \\
\vspace{-1.1em}
\begin{itemize}
\item Helped spec and architect native mobile app for managing HIV, spearheading iOS and Android development
\item Setup and deployed Laravel 5.0 REST server, utilizing MVC for app data flow
\end{itemize}
% Meetup Talks
\textbf{Meetup Talks} \hfill Washington, D.C. \\
\textit{Dev Done Right: Using Vagrant \& Docker for Local Development \hfill May 2015} \\
\vspace{-1.1em}
\begin{itemize}
\item Argued the advantages of using a portable, server-in-a-box Vagrant and Docker setups for local development
\item Demoed a personally built addition to Vagrant functionality that allow easy development across server configurations
\end{itemize}
\textit{Lighting Talk: C\textquotesingle{}mon Man, Have Some Standards \hfill February 2016} \\
\vspace{-1.1em}
\begin{itemize}
\item Delivered talk on adhering to coding standards, including demo of code sniffing utilities and use of beautifiers
\end{itemize}
\section*{Other Noteworthy Projects}
% Drone Copter
\textbf{Autonomous Quadrotor Helicopter $\cdot$ The University of Kansas} \hfill \textit{August 2012 \textendash{} May 2013} \\
Augmented Quadrotor Helicopter with GPS capabilities to allow autonomous flight via a pre-programmed flight path. Integrated a Raspberry Pi allowing calculations and commands to be relayed to execute necessary maneuvers to stay on target.
\begin{itemize}
\item Served as team-lead, implementing modified Agile processes for team, with stand-ups and sprints to achieve product MVP
\item Ensured necessary communication streams between different hardware components using sockets and UDP
\end{itemize}
\textit{Technologies:} C++, Java, GPSD, Soldering, UDP, Sockets, Baud Rate, Raspberry Pi, Linux, ARM, Cross Compiling
\section*{Education}
\textbf{The University of Kansas $\cdot$ Cumulative GPA: 3.42 $\cdot$ Professional GPA: 3.50} \hfill Lawrence, KS \\
\textbf{Bachelor of Science in Computer Engineering} \textit{\textendash{} Dean\textquotesingle{}s List (4 semesters)} \hfill \textit{Graduated May 2014} \\
\subsection*{Completed Coursework:}
\begin{multicols}{4}
\begin{sortedlist}
\sortitem{Circuits I/II}
\sortitem{Communication Networks}
\sortitem{Programming Paradigms}
\sortitem{Programming I/II}
\sortitem{Organization/Architecture}
\sortitem{Systems \& Assembly}
\sortitem{Discrete Structures}
\sortitem{Functional Programming}
\sortitem{Electromagnetics}
\sortitem{Embedded Systems}
\sortitem{Digital System Design}
\sortitem{Operating Systems}
\end{sortedlist}
\end{multicols}
\section*{Involvement / Honors}
\begin{multicols}{3}
\begin{itemize}
\item Future City Engineering Scholarship
\item Lost Dog Adoption Volunteer
\item Habitat for Humanity Volunteer
\item Open Source Contributor
\item Ultimate Frisbee Captain
\item Houston Responds
\end{itemize}
\end{multicols}
% Prevent LaTeX from greedily splilling to next page
\enlargethispage{3\baselineskip}
\section*{Additional Information}
\begin{multicols}{2}
\begin{itemize}
\item \textit{Github \& Bitbucket:} ndisidore
\item \textit{Interests:} dancing, guitar, improv, woodworking, zombies
\end{itemize}
\end{multicols}
\end{document}