Britt Gresham — Software Engineer

[email protected]
http://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
Puppet, Inc.
Software Engineer
August 2014 — Present

Responsible for maintaining the Puppet Enterprise Installer and Upgrader on the Integration Team as well as streamlining the processes related to packaging and shipping final artifacts on the Release Engineering team.

  • 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.
  • Improved automation regarding shipping and releasing software that Puppet creates through documenting and streamlining previously undocumented processes.
  • 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

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

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.
  • 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.
Personal Work
Django Girls
Volunteer Coach
September 2017

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

PyCon 2017 Sprints
Mailman Contributor
May 2017

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.

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 frontend and backend experience. 6 years of professional experience.

Skills

Programming

  • Python, +6 years
  • Javascript, +6 years
  • CSS/HTML/HTML5, +6 years
  • Puppet, +5 years
  • Bash, +5 years
  • Ruby, +4 years

Technology

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

Work Experience

Puppet, Inc.

Software Engineer

August 2014 — Present   •   3 years 1 month

http://puppet.com/

Responsible for maintaining the Puppet Enterprise Installer and Upgrader on the Integration Team as well as streamlining the processes related to packaging and shipping final artifacts on the Release Engineering team.

  • 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.
  • Improved automation regarding shipping and releasing software that Puppet creates through documenting and streamlining previously undocumented processes.
  • 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

http://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

http://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

Django Girls

Volunteer Coach

September 2017

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.

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.

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

September 2011 — September 2013

Interests

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