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,87 +19,132 @@
\section{\mysidestyle Contact\\Information} \section{\mysidestyle Contact\\Information}
7703 Windrush Drive \hfill phone : +1 512 777 1602\\ 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 % Personal Brief
\section{\mysidestyle Personal Summary} \section{\mysidestyle Personal Summary}
\textit{I am a senior full-stack software engineer with proven experience \textit{I am a full-stack software engineer with broad experience creating
across many layers of the stack. I have a strong background in applied software at multiple levels of the technology stack. I enjoy the process of
software solutions and cryptographic systems. I am looking for a team of code authorship and care deeply about the long-term quality of the products
people who share my passion for solving problems with software solutions I create. The joy of seeing elegant solutions and the impact on the user
that are correct, maintainable, and understandable.} are my primary motivations as a developer.}
%__________________________________________________________________________ %__________________________________________________________________________
% Summary of Qualifications % Summary of Qualifications
\section{\mysidestyle Summary of Qualifications} \section{\mysidestyle Summary of Qualifications}
\textbf{Programming Languages}\\ \textbf{Programming Languages}\\
Java, Groovy, C\#, JavaScript, C/C++, Erlang, PHP, Lisp, Boo, Ruby,Perl, BASH, Java, JavaScript, Groovy, C\#, C/C++, Erlang, Nim, Ruby, PHP, Lisp,
HTML5, CSS3, XML, XSD, Visual Basic, \LaTeX, Markdown Perl, Python, BASH, HTML5, CSS3, XML, XSD, \LaTeX
\textbf{Frameworks \& Libraries}\\ \textbf{Frameworks \& Libraries}\\
\textsl{Server-side}: Jersey (Java REST framework), Grails, Spring \textsl{Server-side}: Express.js, JAX-RS, Grails, Spring Framework,
Framework, ASP.NET, JSF, Ruby on Rails \\ ASP.NET, JSF, Ruby on Rails \\
\textsl{In-browser}: Backbone.js, Underscore.js, Require.js, jQuery, \textsl{In-browser}: Angular 1, React.js, Backbone.js, jQuery,\\
\textsl{many more JS libraries} \\ \textsl{Data Processing}: Amazon Kinesis, Apache Flink
\textsl{Desktop \& Others}: Griffon, WPF, WinForms, MFC, Swing \\
\textbf{Web Technologies}\\ \textbf{Web Technologies}\\
HTTP, REST, WebSockets, SOAP, WSDL HTTP, REST, WebSockets, SOAP, WSDL
\textbf{Development \& Testing Tools}\\ \textbf{Development \& Testing Tools}\\
Git, mercurial, Apache Ant and Gant, Apache Ivy, Apache Maven, Gradle, Git, Gradle, Apache Ant and Gant, Apache Ivy, Apache Maven, Jenkins,
Jenkins, JUnit (xUnit, EUnit), Cucumber\\ JUnit (xUnit, EUnit), Cucumber
\textbf{Systems and Tools}\\ \textbf{Systems and Tools}\\
\textsl{Servers and Containers}: Apache httpd, nginx, Tomcat, Jetty, \textsl{Servers and Containers}: Docker, Apache httpd, nginx, Tomcat, Jetty,
Glassfish, YAWS, IIS\\ Glassfish, YAWS, AWS ECS\\
\textsl{OS's}: Linux (\textit{esp. Ubuntu, Debian, and Red Hat \textsl{OS's}: Linux (\textit{esp. Ubuntu, AWS AMI, Debian, and Red Hat
distros.}), OpenBSD, Windows (\textit{all versions}) distros.}), OpenBSD, Windows (\textit{all versions})\\
\textsl{Experienced with large portions of Amazon's AWS offerings.}
\textbf{Databases}\\ \textbf{Databases}\\
\textsl{RDBMS}: SQL, PostgreSQL, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\ \textsl{RDBMS}: SQL, PostgreSQL, AWS RDS, MS SqlServer, Oracle, MySQL, HSQLDB, SqlLite \\
\textsl{NoSQL}: CouchDB, MongoDB, Mnesia \textsl{NoSQL}: AWS DynamoDB, MongoDB, AWS Redshift, Mnesia, LevelDB, CouchDB,
\textbf{IDEs \& Environments}\\ \textbf{IDEs \& Environments}\\
VI(m), Eclipse, VisualStudio, NetBeans, Appcelerator Titanium Studio VI(m), Eclipse, VisualStudio, NetBeans
%__________________________________________________________________________ %__________________________________________________________________________
% Professional Experience % Professional Experience
\section{\mysidestyle 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 \\ \textbf{3M (contract via. Maxis Group)}, Austin, TX \\
For the last year I have been the lead developer responsible for all I was the lead developer responsible for all front-end development across
front-end development across 3M's new tolling solution as well as the lead 3M's new tolling solution as well as the lead responsible for the backend
responsible for the backend implementation several of the microservices implementation several of the microservices that make up the solution. I am
that make up the solution. I am also fulfilling many of the DevOps needs of also fulfilling many of the DevOps needs of the team. In addition to direct
the team. In addition to direct implementation my responsibilities in this implementation my responsibilities in this role included:
role have included:
\begin{resplist} \begin{resplist}
\item Technical ownership of all front-end architecture and development \item Technical ownership of all front-end architecture and development
practices. practices.
\item Mentoring and teaching junior developers. Several of our team members \item Mentoring and teaching junior developers (some new to JavaScript).
were new to Backbone and to core JavaScript.
\item Technical leadership and oversight of four on-site developers and \item Technical leadership and oversight of four on-site developers and
three off-shore teams of developers. three off-shore teams of developers.
\item Communication with our customers regarding project requirements and \item Direct communication with our customers regarding project
capabilities. I have been responsible on several occasions for explaining requirements and capabilities. This includes on-site interaction
to our customers the architecture of our solution and the benefits they can supporting our sales team.
expect to see when using it.
\item Setup and administration of the team's central git repository (using \item Setup and administration of the team's central git repository (using
GOGS). GOGS).
\item Authoring and supporting the release process and version control \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 scheme used by the team to deliver builds of the solution to QA and other
internal customers. internal customers.
\end{resplist} \end{resplist}
\textsl{Key Technologies:} Java, JAX-RS, Backbone.js, Oracle.
Previous to this project I was responsible for maintaining existing Previous to this project I was responsible for maintaining existing
production software. Responsibilities included: production software. Responsibilities included:
\begin{resplist} \begin{resplist}
\item Maintaining our internal, web-based time-tracking tools used by \item Maintaining the internal time-tracking tools used by multiple 3M
multiple 3M departments, spanning roughly 800 people. departments, spanning roughly 800 people.
\item Leading the design and implementation of a fundamental \item Leading the design and implementation of a fundamental
architectural change to the time-tracking tool, extending it to work architectural change to the time-tracking tool, extending it to work
transparently for multiple divisions. It originally had no concept of transparently for multiple divisions. It originally had no concept of
@ -123,16 +168,18 @@
production machines. This project required close cooperation with an production machines. This project required close cooperation with an
international vendor. international vendor.
\item Writing production scripts to load product and customer-specific \item Writing production scripts to load product and customer-specific
applications and data onto the secured product (ranging from simple memory applications and data onto secured product.
cards to highly secured smart cards). \item Writing and maintaining in-house cryptographic and communcations
\item Writing and maintaining library code used by our scripting platform libraries supporting personaliztion of GlobalPlatform-compliant smart
to perform cryptographic authentication and secure communication with cards.
smart cards following the GlobalPlatform specification. \item Direct technical support of maufacturing centers in the US.
\item Supporting production services. This includes troubleshooting service
outages, machine operations, and software defects in the final product.
\item Developing an IDE (based on SharpDevelop) for the in-house scripting \item Developing an IDE (based on SharpDevelop) for the in-house scripting
language used to control and program the product. language used to control and program the product.
\end{resplist} \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{Systems Developer} \hfill \textbf{August 2010 -- February 2012}\\
\textbf{QuantumDigital Inc.}, Austin, TX \\ \textbf{QuantumDigital Inc.}, Austin, TX \\
@ -141,13 +188,12 @@
\begin{resplist} \begin{resplist}
\item Developing a Java library to interface directly with legacy \item Developing a Java library to interface directly with legacy
FoxPro table files. FoxPro table files.
\item Creating several tools to reduce the time spent managing support \item Automation of common support requests fielded by the development team.
requests made of the development team.
\item Participating in the planning and design of the next generation \item Participating in the planning and design of the next generation
of the core order placement and fulfillment software (see of the core order placement and fulfillment software (see
\texttt{http://quantumpostcards.com}). \texttt{http://quantumpostcards.com}).
\item Designing and developing the company's first mobile application with \item Developing the company's first mobile application
one other coworker (see \texttt{http://quantumdigital.com/qcards}) (see \texttt{http://quantumdigital.com/qcards})
\end{resplist} \end{resplist}
\textbf{Software Architect and Developer} \hfill \textbf{June 2005 -- August 2010}\\ \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{Summer Intern / Contractor} \hfill \textbf{June 2004 -- Oct 2004}\\
\textbf{Freescale Semiconductor (Hardware/Software Development)}, Austin, TX \\ \textbf{Freescale Semiconductor (Hardware/Software Development)}, Austin, TX \\
Notable accomplishments included: Notable accomplishments included: developing hardware diagnostics scripts,
\begin{resplist} schematic capture using Mentor Degisn Architect, assisting lab technicians.
\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}
%__________________________________________________________________________ %__________________________________________________________________________
% Ongoing Personal Development % Ongoing Personal Development
@ -195,24 +232,26 @@
the work I have done for employers over the years. Some of my favorite the work I have done for employers over the years. Some of my favorite
projects have been: projects have been:
\begin{resplist} \begin{resplist}
\item Creating a system to manage the logistics of a church's Vacation \item Creating a SaaS-like product to manage the logistics of a large
Bible School. This tool has been used for several years primarily by church's yearly Vacation Bible School. This tool was used over a ten-year
non-technical volunteers and has received praise for its ease-of-use and period primarily by non-technical volunteers and received praise for its
for increasing productivity. ease-of-use and for increasing productivity.
The next generation of this tool is being beta-tested for this year's VBS Over it's lifetime the tool evolved from a desktop-based application
program. This version of the tool is web-based. It is built on an Erlang coordinating with a centrally-managed database to it's current SaaS
back-end, an HTML5 and JavaScript front-end based on Backbone.js, and it architecture: a single-page web application written primarily in React.js
exposes a RESTful API which is used internally by the front-end. 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 \item SermonLink.net, a tool I initially wrote for myself to author and
principles of Literate Programming with the abilities of modern-day manage personal teaching materials and later expanded to offer as a
documentation tools (like \texttt{javadoc}). This allows code and service to others. Following initial positive feedback but little
documentation to be effectively co-located in source files. 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 SermonLink is a responsive web app with a fully decoupled front-end
personal projects. You can browse the code at written in JavaScript using Backbone.js backed by a REST API written in
\texttt{https://doc.jdb-labs.com/jlp/current/} Groovy and Java.
\end{resplist} \end{resplist}
%__________________________________________________________________________ %__________________________________________________________________________
@ -223,14 +262,14 @@
100+ hours completed towards a B.S. in Computer Science 100+ hours completed towards a B.S. in Computer Science
%__________________________________________________________________________ %__________________________________________________________________________
% Referees % References
\section{\mysidestyle Referees} \section{\mysidestyle References}
\begin{tabular}{@{}p{6cm}p{6cm}} \begin{tabular}{@{}p{6cm}p{6cm}}
\textbf{Ben Benson} & \textbf{Mridul Sharma} \\ \textbf{Ben Benson} & \textbf{Cameron Cooper} \\
Senior Architect & Regional Engineering Manager \\ Senior Architect & Chief Technical Officer \\
Traffic Safety Systems Division & Personalization and Services \\ Traffic Safety Systems Division & Edgecase Inc., Austin, TX \\
3M, Austin TX & Gemalto Inc., Austin, TX \\ 3M, Austin TX & \\
\end{tabular} \end{tabular}
\hspace*{1in} \textit{additional contacts and contact information available on request} \hspace*{1in} \textit{additional contacts and contact information available on request}