Britt Gresham — Software Engineer

britt@brittg.com
https://www.brittg.com/
Skills and Proficiencies
Programming Python, Javascript, CSS/HTML/HTML5, Puppet, Bash, Ruby
Technology Git, Mercurial, VCS, Vagrant, Jira, Trello, Agile Scrum, Puppet, Django, Pyramid, Jenkins, Jenkins Job Builder, TravisCI
Work Experience
Bright.md, Inc.
Software Engineer
September 2018 — Present

Responsible for developing and maintaining the features within the Smartexam application as well as providing more robust release strategies to streamline the development process of the codebase.

  • Successfully onboarded new partners with code which added custom integration points with the partners environment. Also demonstrated the ability to understand and document previously undocumented processes in order to train other engineers in the engineering department.
  • Implemented testing automation in order to drive inefficiencies out of previously manual processes.
  • Reformed the release process to address internal, error prone tagging and deployments by creating a tool which was used by members who previously manually handled the release process. This tool also performed many sanity checks to ensure that release regressions would be avoided at all cost.
Puppet, Inc.
Release Engineer
April 2017 — August 2018

Responsible for maintaining pipelines related to building and shipping software to our customers as well as the public download infrastructure.

  • Improved automation regarding shipping and releasing software that Puppet creates through documenting and streamlining previously undocumented processes.
  • Led efforts to automate the Puppet Enterprise Beta release process which helped us deliver beta software to customers in a moments notice.
  • Led efforts to automate the Puppet Enterprise Beta release process which helped us deliver beta software to customers in a moments notice.
Puppet, Inc.
Software Engineer
August 2014 — August 2018

Responsible for maintaining the Puppet Enterprise Installer and Upgrader on the Integration Team as well as internal tooling related to testing and maintenance of the codebases.

  • Wrote a tool which became invaluable for testing changes to the enterprise product. The tool was able to reliably reproduce pipeline failures in a local environment instead of spending valuable time trying to reproduce the same problems inside of Jenkins. This led to increased productivity and confidence in validating bugs.
  • Improved automated integration level testing coverage of the product around various upgrade scenarios.
  • Ensured that configuration of customers deployments of Puppet Enterprise were functional through many different upgrade paths. Upgrade paths included all supported operating systems, supported versions, supported configurations, and any combination of the mentioned.
NIC, Inc.
Software Developer
February 2013 — July 2014

Responsible for maintaining internal tooling as a Software Developer embedded on the Infrastructure team.

  • Wrote various tools for automatically opening incident tickets when a failure was detected with Avamar backups.
  • Improved monitoring as a whole by automatically collecting additional information about impacted services when an outage was detected.
Personal Work
Django Girls
Volunteer Coach
2017 — 2018

Volunteered as a coach at a workshop geared toward teaching women and non-binary people how to setup their first Django website.

Education
Johnson County Community College, 2011 — 2013
Prepared for https://brittg.com/resume

Britt Gresham

Software Engineer

About

Software engineer focused on infrastructure and automation. Both front end and back end experience. 6 years of professional experience.

Skills

Programming

  • Python, +8 years
  • Javascript, +8 years
  • CSS/HTML/HTML5, +8 years
  • Puppet, +7 years
  • Bash, +7 years
  • Ruby, +6 years

Technology

  • Git, Mercurial, VCS
  • Vagrant
  • Jira, Trello
  • Agile Scrum
  • Puppet
  • Django, Pyramid
  • Jenkins, Jenkins Job Builder
  • TravisCI

Work Experience

Bright.md, Inc.

Software Engineer

September 2018 — Present   •   7 months

https://www.bright.md/

Responsible for developing and maintaining the features within the Smartexam application as well as providing more robust release strategies to streamline the development process of the codebase.

  • Successfully onboarded new partners with code which added custom integration points with the partners environment. Also demonstrated the ability to understand and document previously undocumented processes in order to train other engineers in the engineering department.
  • Implemented testing automation in order to drive inefficiencies out of previously manual processes.
  • Reformed the release process to address internal, error prone tagging and deployments by creating a tool which was used by members who previously manually handled the release process. This tool also performed many sanity checks to ensure that release regressions would be avoided at all cost.

Puppet, Inc.

Release Engineer

April 2017 — August 2018   •   1 year 4 months

https://puppet.com/

Responsible for maintaining pipelines related to building and shipping software to our customers as well as the public download infrastructure.

  • Improved automation regarding shipping and releasing software that Puppet creates through documenting and streamlining previously undocumented processes.
  • Led efforts to automate the Puppet Enterprise Beta release process which helped us deliver beta software to customers in a moments notice.
  • Led efforts to automate the Puppet Enterprise Beta release process which helped us deliver beta software to customers in a moments notice.

Puppet, Inc.

Software Engineer

August 2014 — August 2018   •   4 years

https://puppet.com/

Responsible for maintaining the Puppet Enterprise Installer and Upgrader on the Integration Team as well as internal tooling related to testing and maintenance of the codebases.

  • Wrote a tool which became invaluable for testing changes to the enterprise product. The tool was able to reliably reproduce pipeline failures in a local environment instead of spending valuable time trying to reproduce the same problems inside of Jenkins. This led to increased productivity and confidence in validating bugs.
  • Wrote additional tools to help developers on all teams triage CI failures quickly by scanning through test logs and separating new failures from known failures across hundreds of test cases.
  • Improved automated integration level testing coverage of the product around various upgrade scenarios.
  • Ensured that configuration of customers deployments of Puppet Enterprise were functional through many different upgrade paths. Upgrade paths included all supported operating systems, supported versions, supported configurations, and any combination of the mentioned.
  • Set up new pipelines using Jenkins Job Builder for developers to land code on newer version of the product, as well as tearing down unused pipelines.

NIC, Inc.

Software Developer

February 2013 — July 2014   •   1 year 5 months

https://www.egov.com/

Responsible for maintaining internal tooling as a Software Developer embedded on the Infrastructure team.

  • Wrote various tools for automatically opening incident tickets when a failure was detected with Avamar backups.
  • Integrated monitoring and ticketing systems into an internal Drupal site. This project helped increase transparency to our partners on changes and incidents regarding their applications hosted in our environments.
  • Improved monitoring as a whole by automatically collecting additional information about impacted services when an outage was detected.
  • Created custom alerts that monitored node changes on F5 BIGIP products configured for LTM and GTM.

NIC, Inc.

Intern

December 2011 — February 2013   •   1 year 1 month

https://www.egov.com/

Responsible for creating the foundation for a single pane of glass monitoring system that was used by everyone in a support role at the corporate office.

  • Automated data entry work which saved the company four months of labor.
  • Wrote a tool for generating reports to help post-mortem analysis of outages.
  • Integrated Pingdom and Solarwinds data together to drive down time-to-resolution by correlating customer facing problems with internal services and infrastructure.
  • Used websockets to display a realtime display of failed transactions as an early warning system.

Projects

PyCon 2017 Sprints

Mailman Contributor

May 2017

https://www.gnu.org/software/mailman/index.html

Doubled test coverage in GNU Mailman 3 while volunteering at PyCon 2017 Sprints. I was able to jump into a brand new codebase, identify a problem, and start working on that problem within the first day of sprinting.

Django Girls

Volunteer Coach

April 2017 — April 2018

https://djangogirls.org/portland/

Volunteered as a coach at a workshop geared toward teaching women and non-binary people how to setup their first Django website.

Oregon CTF

Participant

April 2017

https://oregonctf.org/

Participated in a CTF hacking competition with a group of friends who were interested in software security.

CAT BarCamp

Speaker

September 2016

https://brittg.com/vim

Gave multiple talks on how to get the most out of Vim.

  • Talks were aimed at people who had minimal to no experience with Vim learn how to get past common hurdles.
  • Used Webvim to embed a preconfigured instance of Vim into everyones slide deck that could be used as they followed along.

Webvim

July 2015

https://github.com/demophoon/webvim

Stream Vim to the web browser using Docker and Websockets.

  • Used the Tornado web framework for running websocket server and terminal delegation.
  • Backend relies on Docker for spawning on-demand terminals.
  • Also used to embed individual terminals into slide decks in order to engage participants at conferences.

Hack The Midwest 2013

Lead Engineer

June 2013

http://www.hackmidwest.com/

Participated in Hack the Midwest to create a 1x1ft LED array consisting of 480 neopipxel LEDs. All of the LEDs were powered by an Arduino. Video of display is avaliable at http://brittg.com/ledboard.

Music Wars

April 2013

https://brittg.com/mw/

Used Ivank Lib (a javascript library that renders 2D graphics using WebGL), HTML5 Canvas and the Web Audio API to create a space themed music platformer where players battle their own songs.

Cards of Lunacy

November 2012

https://github.com/demophoon/cards-of-lunacy

Websockets experiment to recreate an online version of the popular game Cards Against Humanity™.

Music Music Revolution

October 2012

https://htdocs.brittg.com/music/

Used the Web Audio API and HTML5 Canvas to create a Dance Dance Revolution style game from scratch that works with player supplied MP3 files.

Education

Johnson County Community College

April 2011 — April 2013

Interests

  • Computer Science
  • Security / Pentesting
  • Arduino / Hardware Hacking
  • Astronomy
  • PC Gaming
  • Cycling
  • Cooking / Baking