From b90de84e6e592527fe9884315888e4e933df34ac Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Thu, 15 Feb 2018 10:16:57 -0600 Subject: [PATCH] Updated resume for post-SailPoint job search. --- resume2.tex | 201 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 120 insertions(+), 81 deletions(-) diff --git a/resume2.tex b/resume2.tex index a64e0c1..7b5ade0 100644 --- a/resume2.tex +++ b/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}