2010-08-16 23:24:06 -05:00
|
|
|
%______________________________________________________________________________
|
|
|
|
% @brief LaTeX2e Resume for Jonathan Bernard
|
|
|
|
\documentclass[margin,line]{resume}
|
|
|
|
|
|
|
|
\newenvironment{resplist}{
|
|
|
|
\begin{list}{\small $\bullet$}{%
|
|
|
|
\setlength{\itemsep}{0in}
|
|
|
|
\setlength{\parsep}{0in} \setlength{\parskip}{0in}
|
|
|
|
\setlength{\topsep}{0in} \setlength{\partopsep}{0in}
|
|
|
|
\setlength{\leftmargin}{0.2in}}}{\end{list}}
|
|
|
|
|
|
|
|
%______________________________________________________________________________
|
|
|
|
\begin{document}
|
|
|
|
\name{\Large Jonathan Bernard}
|
|
|
|
\begin{resume}
|
|
|
|
|
|
|
|
%__________________________________________________________________________
|
|
|
|
% Contact Information
|
|
|
|
\section{\mysidestyle Contact\\Information}
|
|
|
|
|
2011-09-08 08:12:34 -05:00
|
|
|
7703 Windrush Drive \hfill phone : +1 512 777 1602\\
|
2018-02-15 10:16:57 -06:00
|
|
|
Austin, TX, 78729 \hfill e-mail: jonathan@jdbernard.com
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2013-07-09 09:21:49 -05:00
|
|
|
%__________________________________________________________________________
|
|
|
|
% Personal Brief
|
|
|
|
\section{\mysidestyle Personal Summary}
|
2018-02-15 10:16:57 -06:00
|
|
|
\textit{I am a full-stack software engineer with broad experience creating
|
|
|
|
software at multiple levels of the technology stack. I enjoy the process of
|
|
|
|
code authorship and care deeply about the long-term quality of the products
|
|
|
|
I create. The joy of seeing elegant solutions and the impact on the user
|
|
|
|
are my primary motivations as a developer.}
|
2013-07-09 09:21:49 -05:00
|
|
|
|
2010-08-16 23:24:06 -05:00
|
|
|
%__________________________________________________________________________
|
|
|
|
% Summary of Qualifications
|
|
|
|
\section{\mysidestyle Summary of Qualifications}
|
|
|
|
|
2015-10-14 09:13:46 -05:00
|
|
|
\textbf{Programming Languages}\\
|
2018-02-15 10:16:57 -06:00
|
|
|
Java, JavaScript, Groovy, C\#, C/C++, Erlang, Nim, Ruby, PHP, Lisp,
|
|
|
|
Perl, Python, BASH, HTML5, CSS3, XML, XSD, \LaTeX
|
2011-09-08 08:12:34 -05:00
|
|
|
|
2015-10-14 09:13:46 -05:00
|
|
|
\textbf{Frameworks \& Libraries}\\
|
2018-02-15 10:16:57 -06:00
|
|
|
\textsl{Server-side}: Express.js, JAX-RS, Grails, Spring Framework,
|
|
|
|
ASP.NET, JSF, Ruby on Rails \\
|
|
|
|
\textsl{In-browser}: Angular 1, React.js, Backbone.js, jQuery,\\
|
|
|
|
\textsl{Data Processing}: Amazon Kinesis, Apache Flink
|
2021-05-25 05:36:40 -05:00
|
|
|
|
2015-10-14 09:13:46 -05:00
|
|
|
\textbf{Web Technologies}\\
|
|
|
|
HTTP, REST, WebSockets, SOAP, WSDL
|
2021-05-25 05:36:40 -05:00
|
|
|
|
2015-10-14 09:13:46 -05:00
|
|
|
\textbf{Development \& Testing Tools}\\
|
2018-02-15 10:16:57 -06:00
|
|
|
Git, Gradle, Apache Ant and Gant, Apache Ivy, Apache Maven, Jenkins,
|
|
|
|
JUnit (xUnit, EUnit), Cucumber
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2015-10-14 09:13:46 -05:00
|
|
|
\textbf{Systems and Tools}\\
|
2018-02-15 10:16:57 -06:00
|
|
|
\textsl{Servers and Containers}: Docker, Apache httpd, nginx, Tomcat, Jetty,
|
|
|
|
Glassfish, YAWS, AWS ECS\\
|
|
|
|
\textsl{OS's}: Linux (\textit{esp. Ubuntu, AWS AMI, Debian, and Red Hat
|
|
|
|
distros.}), OpenBSD, Windows (\textit{all versions})\\
|
|
|
|
\textsl{Experienced with large portions of Amazon's AWS offerings.}
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2015-10-14 09:13:46 -05:00
|
|
|
\textbf{Databases}\\
|
2018-02-15 10:16:57 -06:00
|
|
|
\textsl{RDBMS}: SQL, PostgreSQL, AWS RDS, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\
|
2021-05-25 05:36:40 -05:00
|
|
|
\textsl{NoSQL}: AWS DynamoDB, MongoDB, AWS Redshift, Mnesia, LevelDB, CouchDB,
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2015-09-23 15:09:38 -05:00
|
|
|
\textbf{IDEs \& Environments}\\
|
2018-02-15 10:16:57 -06:00
|
|
|
VI(m), Eclipse, VisualStudio, NetBeans
|
2021-05-25 05:36:40 -05:00
|
|
|
|
2010-08-16 23:24:06 -05:00
|
|
|
%__________________________________________________________________________
|
|
|
|
% Professional Experience
|
|
|
|
\section{\mysidestyle Professional\\Experience}
|
|
|
|
|
2018-02-15 10:16:57 -06:00
|
|
|
\textbf{Staff Software Engineer} \hfill \textbf{May 2017 -- present}\\
|
|
|
|
\textbf{SailPoint Inc. (IdentityAI)}, Austin, TX \\
|
|
|
|
IdentityAI is a new SaaS product offering from SailPoint that adds
|
|
|
|
intelligent analytics to the governance and identity assurance data created
|
|
|
|
by their IdentityNow and IdentityIQ products. A small team was created with
|
|
|
|
a startup mentality to bring an MVP to market. SailPoint heavily leverages
|
|
|
|
AWS for it's production, development, and QA environments. As part of this
|
|
|
|
team I have been directly responsible for:
|
|
|
|
\begin{resplist}
|
|
|
|
\item Operational automation of data ingestion: automated provisioning,
|
|
|
|
configuration, management, and operation of data harvesters (cloud and
|
|
|
|
on-prem) using Docker, AWS SQS, Kinesis Firehose, and DynamoDB.
|
|
|
|
\item Implementation and maintenance of the data pipeline (Flink)
|
|
|
|
\item Designing and implementing the infrastructure to support
|
|
|
|
productization of data analytics performed by data scientists (Flink).
|
|
|
|
\item Participating in the design and implementation of data-mapping
|
|
|
|
configuration.
|
|
|
|
\item Implementation of the REST APIs across all the services that make up
|
|
|
|
the product. This includes servicing the UI, other internal services, and
|
|
|
|
aforementioned harvester infrastructure.
|
|
|
|
\end{resplist}
|
|
|
|
\textsl{Key technologies:} Java, JAX-RS, Apache Flink, Docker, AWS (esp. Kinesis,
|
|
|
|
DynamoDB), JavaScript, MySQL (in RDS)
|
|
|
|
|
|
|
|
\vspace{60mm}
|
|
|
|
|
|
|
|
\textbf{Senior Software Engineer} \hfill \textbf{November 2015 -- April 2017}\\
|
|
|
|
\textbf{Edgecase Inc.}, Austin, TX \\
|
|
|
|
The engineering team at Edgecase was responsible for all aspects of the
|
|
|
|
technical infrastructure, product development, and last-line technical
|
|
|
|
customer support. In this role I was active at every level of the
|
|
|
|
application stack:
|
|
|
|
\begin{resplist}
|
|
|
|
\item Designing, optimizing, and monitoring the databases and our storage
|
|
|
|
solutions that back our application platform,
|
|
|
|
\item Designing and implementing the REST API that powers our web-based
|
|
|
|
application offering,
|
|
|
|
\item Performing DevOps responsibilities wrt. our deployed environments on
|
|
|
|
AWS,
|
|
|
|
\item Direct implementation of the web-based product that is the gateway to
|
2021-05-25 05:36:40 -05:00
|
|
|
our primary product.
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Mentoring junior devs and being responsible for overall code
|
|
|
|
quality,
|
|
|
|
\end{resplist}
|
|
|
|
\textsl{Key technologies:} JavaScript, node.js, Angular 1, PostgreSQL (in
|
|
|
|
RDS), AWS (Beanstalk, RDS, Redshift, etc.), Ruby
|
|
|
|
|
|
|
|
\textbf{Software Engineer VI} \hfill \textbf{October 2013 -- October 2015}\\
|
2014-06-17 00:58:08 -05:00
|
|
|
\textbf{3M (contract via. Maxis Group)}, Austin, TX \\
|
2018-02-15 10:16:57 -06:00
|
|
|
I was the lead developer responsible for all front-end development across
|
|
|
|
3M's new tolling solution as well as the lead responsible for the backend
|
|
|
|
implementation several of the microservices that make up the solution. I am
|
|
|
|
also fulfilling many of the DevOps needs of the team. In addition to direct
|
|
|
|
implementation my responsibilities in this role included:
|
2014-06-17 00:58:08 -05:00
|
|
|
\begin{resplist}
|
2015-09-23 15:09:38 -05:00
|
|
|
\item Technical ownership of all front-end architecture and development
|
|
|
|
practices.
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Mentoring and teaching junior developers (some new to JavaScript).
|
2015-09-23 15:09:38 -05:00
|
|
|
\item Technical leadership and oversight of four on-site developers and
|
|
|
|
three off-shore teams of developers.
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Direct communication with our customers regarding project
|
|
|
|
requirements and capabilities. This includes on-site interaction
|
|
|
|
supporting our sales team.
|
2015-09-23 15:09:38 -05:00
|
|
|
\item Setup and administration of the team's central git repository (using
|
|
|
|
GOGS).
|
|
|
|
\item Authoring and supporting the release process and version control
|
|
|
|
scheme used by the team to deliver builds of the solution to QA and other
|
|
|
|
internal customers.
|
2014-06-17 00:58:08 -05:00
|
|
|
\end{resplist}
|
2018-02-15 10:16:57 -06:00
|
|
|
\textsl{Key Technologies:} Java, JAX-RS, Backbone.js, Oracle.
|
2014-06-17 00:58:08 -05:00
|
|
|
|
2015-10-14 12:05:11 -05:00
|
|
|
Previous to this project I was responsible for maintaining existing
|
|
|
|
production software. Responsibilities included:
|
|
|
|
\begin{resplist}
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Maintaining the internal time-tracking tools used by multiple 3M
|
|
|
|
departments, spanning roughly 800 people.
|
2015-10-14 12:05:11 -05:00
|
|
|
\item Leading the design and implementation of a fundamental
|
|
|
|
architectural change to the time-tracking tool, extending it to work
|
|
|
|
transparently for multiple divisions. It originally had no concept of
|
2018-02-15 10:16:57 -06:00
|
|
|
multiple divisions.
|
2015-10-14 12:05:11 -05:00
|
|
|
\item Maintaining a very old (20+ years) facility management product still
|
|
|
|
in regular use by customers. This was a unique challenge as the project
|
|
|
|
integrates components written in over 8 different languages, C being the
|
|
|
|
most common, and C\# .NET being the most recent. It also required expertise
|
|
|
|
in embedded hardware control.
|
|
|
|
\end{resplist}
|
|
|
|
|
2014-06-17 00:58:08 -05:00
|
|
|
\textbf{Staff Engineer} \hfill \textbf{February 2012 -- September 2013}\\
|
2013-07-09 09:21:49 -05:00
|
|
|
\textbf{HID Global (Personalization Infrastructure)}, Austin, TX \\
|
2014-06-17 00:58:08 -05:00
|
|
|
My team was responsible for all the software controlling and supporting the
|
2013-07-09 09:21:49 -05:00
|
|
|
production process, ranging from low-level machine control and automation
|
|
|
|
to the server-oriented infrastructure that supplied production services
|
|
|
|
(key management, product configuration, etc.). Some of my specific
|
|
|
|
responsibilities included:
|
|
|
|
\begin{resplist}
|
|
|
|
\item Developing the machine control software for the next generation of
|
|
|
|
production machines. This project required close cooperation with an
|
|
|
|
international vendor.
|
|
|
|
\item Writing production scripts to load product and customer-specific
|
2018-02-15 10:16:57 -06:00
|
|
|
applications and data onto secured product.
|
|
|
|
\item Writing and maintaining in-house cryptographic and communcations
|
|
|
|
libraries supporting personaliztion of GlobalPlatform-compliant smart
|
|
|
|
cards.
|
|
|
|
\item Direct technical support of maufacturing centers in the US.
|
2013-07-09 09:21:49 -05:00
|
|
|
\item Developing an IDE (based on SharpDevelop) for the in-house scripting
|
|
|
|
language used to control and program the product.
|
|
|
|
\end{resplist}
|
2018-02-15 10:16:57 -06:00
|
|
|
\textsl{Key Technologies:} C\#, Boo (.NET language), ISO-7816, ISO-14443a,
|
|
|
|
Java, Backbone.js
|
|
|
|
|
|
|
|
\vspace{60mm}
|
2013-07-09 09:21:49 -05:00
|
|
|
|
|
|
|
\textbf{Systems Developer} \hfill \textbf{August 2010 -- February 2012}\\
|
2011-09-08 08:12:34 -05:00
|
|
|
\textbf{QuantumDigital Inc.}, Austin, TX \\
|
|
|
|
Responsible for supporting the legacy order and fulfillment systems and
|
2015-10-14 09:25:07 -05:00
|
|
|
migrating these systems to modern technology. Some achievements:
|
2011-09-08 08:12:34 -05:00
|
|
|
\begin{resplist}
|
|
|
|
\item Developing a Java library to interface directly with legacy
|
|
|
|
FoxPro table files.
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Automation of common support requests fielded by the development team.
|
2021-05-25 05:36:40 -05:00
|
|
|
\item Participating in the planning and design of the next generation
|
2013-07-09 09:21:49 -05:00
|
|
|
of the core order placement and fulfillment software (see
|
|
|
|
\texttt{http://quantumpostcards.com}).
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Developing the company's first mobile application
|
|
|
|
(see \texttt{http://quantumdigital.com/qcards})
|
2011-09-08 08:12:34 -05:00
|
|
|
\end{resplist}
|
|
|
|
|
|
|
|
\textbf{Software Architect and Developer} \hfill \textbf{June 2005 -- August 2010}\\
|
2010-08-16 23:24:06 -05:00
|
|
|
\textbf{Gemalto Inc. (Solutions and Special Projects)}, Austin, TX \\
|
|
|
|
Responsible for finding solutions to new problems, developing custom
|
|
|
|
customer solutions, and providing tools and support to other development
|
2011-09-08 08:12:34 -05:00
|
|
|
teams. Some specific tasks in this position included:
|
2010-08-16 23:24:06 -05:00
|
|
|
\begin{resplist}
|
|
|
|
\item Designing a generic SOAP-based Web Service framework for secure
|
2011-09-08 08:12:34 -05:00
|
|
|
online order placement and implementing custom services using this framework
|
|
|
|
for multiple customers. Among the requirements was compliance with the
|
2010-08-16 23:24:06 -05:00
|
|
|
WS-Interoperability standard and security according to the WS-Security
|
|
|
|
standard.
|
2015-10-14 09:25:07 -05:00
|
|
|
\item Setup and maintenance of in-house database, cryptographic, and
|
2010-08-16 23:24:06 -05:00
|
|
|
general-purpose servers, including the implementation of a custom,
|
|
|
|
hardware based cryptographic server.
|
|
|
|
\item Designing and developing generic, extensible database reporting
|
|
|
|
software used in production environments worldwide.
|
2015-10-14 09:25:07 -05:00
|
|
|
\item Performing training for coworkers locally and internationally on
|
2010-08-16 23:24:06 -05:00
|
|
|
topics ranging from industry best-practice to expertise with solutions
|
|
|
|
developed in-house.
|
|
|
|
\item Participating in the design and leading the implementation of the
|
2011-09-08 09:14:26 -05:00
|
|
|
production database systems used in the manufacture of the U.S. e-Passport.
|
2010-08-16 23:24:06 -05:00
|
|
|
\item Developing several tools used in-house by personalization engineers.
|
|
|
|
\end{resplist}
|
|
|
|
|
|
|
|
\textbf{Summer Intern / Contractor} \hfill \textbf{June 2004 -- Oct 2004}\\
|
|
|
|
\textbf{Freescale Semiconductor (Hardware/Software Development)}, Austin, TX \\
|
2018-02-15 10:16:57 -06:00
|
|
|
Notable accomplishments included: developing hardware diagnostics scripts,
|
2021-05-25 05:36:40 -05:00
|
|
|
schematic capture using Mentor Degisn Architect, assisting lab technicians.
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2011-09-08 08:12:34 -05:00
|
|
|
%__________________________________________________________________________
|
|
|
|
% Ongoing Personal Development
|
|
|
|
\section{\mysidestyle Personal Development}
|
|
|
|
Software engineering continues to be a passion of mine that extends beyond
|
|
|
|
the work I have done for employers over the years. Some of my favorite
|
|
|
|
projects have been:
|
|
|
|
\begin{resplist}
|
2018-02-15 10:16:57 -06:00
|
|
|
\item Creating a SaaS-like product to manage the logistics of a large
|
|
|
|
church's yearly Vacation Bible School. This tool was used over a ten-year
|
|
|
|
period primarily by non-technical volunteers and received praise for its
|
|
|
|
ease-of-use and for increasing productivity.
|
2021-05-25 05:36:40 -05:00
|
|
|
|
2018-02-15 10:16:57 -06:00
|
|
|
Over it's lifetime the tool evolved from a desktop-based application
|
|
|
|
coordinating with a centrally-managed database to it's current SaaS
|
|
|
|
architecture: a single-page web application written primarily in React.js
|
|
|
|
coupled with a REST API written in Erlang and Groovy, deployed
|
|
|
|
with it's PostgreSQL database in AWS.
|
|
|
|
|
|
|
|
\item SermonLink.net, a tool I initially wrote for myself to author and
|
|
|
|
manage personal teaching materials and later expanded to offer as a
|
|
|
|
service to others. Following initial positive feedback but little
|
|
|
|
traction I put the continued development on the back-burner, though it is
|
|
|
|
still used on a regular basis.
|
|
|
|
|
|
|
|
SermonLink is a responsive web app with a fully decoupled front-end
|
|
|
|
written in JavaScript using Backbone.js backed by a REST API written in
|
|
|
|
Groovy and Java.
|
2011-09-08 08:12:34 -05:00
|
|
|
\end{resplist}
|
|
|
|
|
2010-08-16 23:24:06 -05:00
|
|
|
%__________________________________________________________________________
|
|
|
|
% Education
|
|
|
|
\section{\mysidestyle Education}
|
|
|
|
|
|
|
|
\textbf{University of Texas at Austin}, Austin, TX\\
|
2011-09-08 08:12:34 -05:00
|
|
|
100+ hours completed towards a B.S. in Computer Science
|
2010-08-16 23:24:06 -05:00
|
|
|
|
|
|
|
%__________________________________________________________________________
|
2018-02-15 10:16:57 -06:00
|
|
|
% References
|
2021-05-25 05:36:40 -05:00
|
|
|
\section{\mysidestyle References}
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2015-10-14 09:25:07 -05:00
|
|
|
\begin{tabular}{@{}p{6cm}p{6cm}}
|
2018-02-15 10:16:57 -06:00
|
|
|
\textbf{Ben Benson} & \textbf{Cameron Cooper} \\
|
|
|
|
Senior Architect & Chief Technical Officer \\
|
|
|
|
Traffic Safety Systems Division & Edgecase Inc., Austin, TX \\
|
|
|
|
3M, Austin TX & \\
|
2015-10-14 09:25:07 -05:00
|
|
|
\end{tabular}
|
2010-08-16 23:24:06 -05:00
|
|
|
|
2015-10-14 09:25:07 -05:00
|
|
|
\hspace*{1in} \textit{additional contacts and contact information available on request}
|
2010-08-16 23:24:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%______________________________________________________________________________________________________________________
|
|
|
|
\end{resume}
|
|
|
|
\end{document}
|
|
|
|
|
|
|
|
|
|
|
|
%______________________________________________________________________________________________________________________
|
|
|
|
% EOF
|