Updated resume for post-SailPoint job search.
This commit is contained in:
parent
de4af479f8
commit
b90de84e6e
201
resume2.tex
201
resume2.tex
@ -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 Mentor’s 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}
|
||||
|
Loading…
x
Reference in New Issue
Block a user