Updated resume for post-SailPoint job search.

This commit is contained in:
Jonathan Bernard 2018-02-15 10:16:57 -06:00
parent de4af479f8
commit b90de84e6e

View File

@ -19,91 +19,136 @@
\section{\mysidestyle Contact\\Information}
7703 Windrush Drive \hfill phone : +1 512 777 1602\\
Austin, TX, 78729 \hfill e-mail: jdbernard@gmail.com
Austin, TX, 78729 \hfill e-mail: jonathan@jdbernard.com
%__________________________________________________________________________
% Personal Brief
\section{\mysidestyle Personal Summary}
\textit{I am a senior full-stack software engineer with proven experience
across many layers of the stack. I have a strong background in applied
software solutions and cryptographic systems. I am looking for a team of
people who share my passion for solving problems with software solutions
that are correct, maintainable, and understandable.}
\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.}
%__________________________________________________________________________
% Summary of Qualifications
\section{\mysidestyle Summary of Qualifications}
\textbf{Programming Languages}\\
Java, Groovy, C\#, JavaScript, C/C++, Erlang, PHP, Lisp, Boo, Ruby,Perl, BASH,
HTML5, CSS3, XML, XSD, Visual Basic, \LaTeX, Markdown
Java, JavaScript, Groovy, C\#, C/C++, Erlang, Nim, Ruby, PHP, Lisp,
Perl, Python, BASH, HTML5, CSS3, XML, XSD, \LaTeX
\textbf{Frameworks \& Libraries}\\
\textsl{Server-side}: Jersey (Java REST framework), Grails, Spring
Framework, ASP.NET, JSF, Ruby on Rails \\
\textsl{In-browser}: Backbone.js, Underscore.js, Require.js, jQuery,
\textsl{many more JS libraries} \\
\textsl{Desktop \& Others}: Griffon, WPF, WinForms, MFC, Swing \\
\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
\textbf{Web Technologies}\\
HTTP, REST, WebSockets, SOAP, WSDL
\textbf{Development \& Testing Tools}\\
Git, mercurial, Apache Ant and Gant, Apache Ivy, Apache Maven, Gradle,
Jenkins, JUnit (xUnit, EUnit), Cucumber\\
Git, Gradle, Apache Ant and Gant, Apache Ivy, Apache Maven, Jenkins,
JUnit (xUnit, EUnit), Cucumber
\textbf{Systems and Tools}\\
\textsl{Servers and Containers}: Apache httpd, nginx, Tomcat, Jetty,
Glassfish, YAWS, IIS\\
\textsl{OS's}: Linux (\textit{esp. Ubuntu, Debian, and Red Hat
distros.}), OpenBSD, Windows (\textit{all versions})
\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.}
\textbf{Databases}\\
\textsl{RDBMS}: SQL, PostgreSQL, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\
\textsl{NoSQL}: CouchDB, MongoDB, Mnesia
\textsl{RDBMS}: SQL, PostgreSQL, AWS RDS, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\
\textsl{NoSQL}: AWS DynamoDB, MongoDB, AWS Redshift, Mnesia, LevelDB, CouchDB,
\textbf{IDEs \& Environments}\\
VI(m), Eclipse, VisualStudio, NetBeans, Appcelerator Titanium Studio
VI(m), Eclipse, VisualStudio, NetBeans
%__________________________________________________________________________
% Professional Experience
\section{\mysidestyle Professional\\Experience}
\textbf{Software Engineer VI} \hfill \textbf{October 2013 -- present}\\
\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
our primary product.
\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}\\
\textbf{3M (contract via. Maxis Group)}, Austin, TX \\
For the last year I have been 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 have included:
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:
\begin{resplist}
\item Technical ownership of all front-end architecture and development
practices.
\item Mentoring and teaching junior developers. Several of our team members
were new to Backbone and to core JavaScript.
\item Mentoring and teaching junior developers (some new to JavaScript).
\item Technical leadership and oversight of four on-site developers and
three off-shore teams of developers.
\item Communication with our customers regarding project requirements and
capabilities. I have been responsible on several occasions for explaining
to our customers the architecture of our solution and the benefits they can
expect to see when using it.
\item Direct communication with our customers regarding project
requirements and capabilities. This includes on-site interaction
supporting our sales team.
\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.
\end{resplist}
\textsl{Key Technologies:} Java, JAX-RS, Backbone.js, Oracle.
Previous to this project I was responsible for maintaining existing
production software. Responsibilities included:
\begin{resplist}
\item Maintaining our internal, web-based time-tracking tools used by
multiple 3M departments, spanning roughly 800 people.
\item Maintaining the internal time-tracking tools used by multiple 3M
departments, spanning roughly 800 people.
\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
multiple divisions.
multiple divisions.
\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
@ -123,16 +168,18 @@
production machines. This project required close cooperation with an
international vendor.
\item Writing production scripts to load product and customer-specific
applications and data onto the secured product (ranging from simple memory
cards to highly secured smart cards).
\item Writing and maintaining library code used by our scripting platform
to perform cryptographic authentication and secure communication with
smart cards following the GlobalPlatform specification.
\item Supporting production services. This includes troubleshooting service
outages, machine operations, and software defects in the final product.
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.
\item Developing an IDE (based on SharpDevelop) for the in-house scripting
language used to control and program the product.
\end{resplist}
\textsl{Key Technologies:} C\#, Boo (.NET language), ISO-7816, ISO-14443a,
Java, Backbone.js
\vspace{60mm}
\textbf{Systems Developer} \hfill \textbf{August 2010 -- February 2012}\\
\textbf{QuantumDigital Inc.}, Austin, TX \\
@ -141,13 +188,12 @@
\begin{resplist}
\item Developing a Java library to interface directly with legacy
FoxPro table files.
\item Creating several tools to reduce the time spent managing support
requests made of the development team.
\item Automation of common support requests fielded by the development team.
\item Participating in the planning and design of the next generation
of the core order placement and fulfillment software (see
\texttt{http://quantumpostcards.com}).
\item Designing and developing the company's first mobile application with
one other coworker (see \texttt{http://quantumdigital.com/qcards})
\item Developing the company's first mobile application
(see \texttt{http://quantumdigital.com/qcards})
\end{resplist}
\textbf{Software Architect and Developer} \hfill \textbf{June 2005 -- August 2010}\\
@ -176,17 +222,8 @@
\textbf{Summer Intern / Contractor} \hfill \textbf{June 2004 -- Oct 2004}\\
\textbf{Freescale Semiconductor (Hardware/Software Development)}, Austin, TX \\
Notable accomplishments included:
\begin{resplist}
\item Developing hardware diagnostics scripts pertaining to Intel 31154 PCI
bridge chip, DDR memory test.
\item Performing schematic capture activities using Mentors Design
Architect. Assistance helped to accelerate and beat schedule requirements.
\item Designing high quality schematic symbols for use by the hardware
design community.
\item Misc. endeavors - Assisting lab technicians in customer shipments.
\end{resplist}
Notable accomplishments included: developing hardware diagnostics scripts,
schematic capture using Mentor Degisn Architect, assisting lab technicians.
%__________________________________________________________________________
% Ongoing Personal Development
@ -195,24 +232,26 @@
the work I have done for employers over the years. Some of my favorite
projects have been:
\begin{resplist}
\item Creating a system to manage the logistics of a church's Vacation
Bible School. This tool has been used for several years primarily by
non-technical volunteers and has received praise for its ease-of-use and
for increasing productivity.
\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.
The next generation of this tool is being beta-tested for this year's VBS
program. This version of the tool is web-based. It is built on an Erlang
back-end, an HTML5 and JavaScript front-end based on Backbone.js, and it
exposes a RESTful API which is used internally by the front-end.
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 Developing a new documentation tool, \texttt{jlp}, to apply the
principles of Literate Programming with the abilities of modern-day
documentation tools (like \texttt{javadoc}). This allows code and
documentation to be effectively co-located in source files.
\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.
Though this project is still in its early stages, it is used for all of my
personal projects. You can browse the code at
\texttt{https://doc.jdb-labs.com/jlp/current/}
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.
\end{resplist}
%__________________________________________________________________________
@ -223,14 +262,14 @@
100+ hours completed towards a B.S. in Computer Science
%__________________________________________________________________________
% Referees
\section{\mysidestyle Referees}
% References
\section{\mysidestyle References}
\begin{tabular}{@{}p{6cm}p{6cm}}
\textbf{Ben Benson} & \textbf{Mridul Sharma} \\
Senior Architect & Regional Engineering Manager \\
Traffic Safety Systems Division & Personalization and Services \\
3M, Austin TX & Gemalto Inc., Austin, TX \\
\textbf{Ben Benson} & \textbf{Cameron Cooper} \\
Senior Architect & Chief Technical Officer \\
Traffic Safety Systems Division & Edgecase Inc., Austin, TX \\
3M, Austin TX & \\
\end{tabular}
\hspace*{1in} \textit{additional contacts and contact information available on request}