%______________________________________________________________________________
% @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}

    7703 Windrush Drive            \hfill phone : +1 512 777 1602\\
    Austin, TX, 78729              \hfill e-mail: jonathan@jdbernard.com

    %__________________________________________________________________________
    % Personal Brief
    \section{\mysidestyle Personal Summary}
    \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, JavaScript, Groovy, C\#, C/C++, Erlang, Nim, Ruby, PHP, Lisp,
        Perl, Python, BASH, HTML5, CSS3, XML, XSD, \LaTeX

    \textbf{Frameworks \& Libraries}\\
        \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, Gradle, Apache Ant and Gant, Apache Ivy, Apache Maven, Jenkins,
        JUnit (xUnit, EUnit), Cucumber

    \textbf{Systems and Tools}\\
        \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, 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

    %__________________________________________________________________________
    % Professional Experience
    \section{\mysidestyle Professional\\Experience}

    \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 \\
    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 (some new to JavaScript).
    \item Technical leadership and oversight of four on-site developers and
    three off-shore teams of developers.
    \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 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.
    \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}

    \textbf{Staff Engineer} \hfill \textbf{February 2012 -- September 2013}\\
    \textbf{HID Global (Personalization Infrastructure)}, Austin, TX \\
    My team was responsible for all the software controlling and supporting the
    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
    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 \\
    Responsible for supporting the legacy order and fulfillment systems and
    migrating these systems to modern technology. Some achievements:
    \begin{resplist}
    \item Developing a Java library to interface directly with legacy
    FoxPro table files.
    \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 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}\\
    \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
    teams. Some specific tasks in this position included:
    \begin{resplist}
    \item Designing a generic SOAP-based Web Service framework for secure
    online order placement and implementing custom services using this framework
    for multiple customers. Among the requirements was compliance with the
    WS-Interoperability standard and security according to the WS-Security
    standard.
    \item Setup and maintenance of in-house database, cryptographic, and
    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.
    \item Performing training for coworkers locally and internationally on
    topics ranging from industry best-practice to expertise with solutions
    developed in-house.
    \item Participating in the design and leading the implementation of the
    production database systems used in the manufacture of the U.S. e-Passport.
    \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 \\
    Notable accomplishments included: developing hardware diagnostics scripts,
    schematic capture using Mentor Degisn Architect, assisting lab technicians.

    %__________________________________________________________________________
    % 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}
    \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.

      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.
    \end{resplist}

    %__________________________________________________________________________
    % Education
    \section{\mysidestyle Education}

    \textbf{University of Texas at Austin}, Austin, TX\\
    100+ hours completed towards a B.S. in Computer Science

    %__________________________________________________________________________
    % References
    \section{\mysidestyle References}

    \begin{tabular}{@{}p{6cm}p{6cm}}
    \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}



%______________________________________________________________________________________________________________________
\end{resume}
\end{document}


%______________________________________________________________________________________________________________________
% EOF
