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
CircleCI
Staff Release Engineer
September 2020 — Present

Led the overall release pipeline improvement project for streamlining internal release pipelines for the on-prem offering of CircleCI.

  • Automated deployment of the on-prem product to enable developers to get quicker feedback on their changes.
  • Led effort to start ripping out areas of the release process which were redundant.
CircleCI
Senior Release Engineer
June 2019 — August 2020

Responsible for maintaining the feature sets and release activities for the on-prem offering for CircleCI.

  • Maintained internal dogfood environment and automated processes for updating the environment for developers to validate changes on.
  • Successfully migrated our on-prem product to run in a customers kubernetes environment.
  • Led effort to remove old and outdated libraries from a monolithic application in order to support overall maintainability of both the in house hosted and on-prem hosted versions of CircleCI.
Bright.md, Inc.
Software Engineer
September 2018 — June 2019

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.

  • 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.
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.
Personal Work
PyCascades
Conference Organizer
2019 — Present

Recruited and organized volunteer efforts during PyCascades 2020 held in Portland, OR. Also responsible for reviewing and selecting speakers and talks for the event.

Django Girls
Volunteer Coach
2017 — Present

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. 9 years of professional experience.

Skills

Programming

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

Technology

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

Work Experience

CircleCI

Staff Release Engineer

September 2020 — Present   •   1 month

https://circleci.com/

Led the overall release pipeline improvement project for streamlining internal release pipelines for the on-prem offering of CircleCI.

  • Automated deployment of the on-prem product to enable developers to get quicker feedback on their changes.
  • Led effort to start ripping out areas of the release process which were redundant.

CircleCI

Senior Release Engineer

June 2019 — August 2020   •   1 year 2 months

https://circleci.com/

Responsible for maintaining the feature sets and release activities for the on-prem offering for CircleCI.

  • Maintained internal dogfood environment and automated processes for updating the environment for developers to validate changes on.
  • Successfully migrated our on-prem product to run in a customers kubernetes environment.
  • Led effort to remove old and outdated libraries from a monolithic application in order to support overall maintainability of both the in house hosted and on-prem hosted versions of CircleCI.

Bright.md, Inc.

Software Engineer

September 2018 — June 2019   •   8 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.

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

PyCascades

Conference Organizer

October 2019 — Present

https://2020.pycascades.com/

Recruited and organized volunteer efforts during PyCascades 2020 held in Portland, OR. Also responsible for reviewing and selecting speakers and talks for the event.

Django Girls

Volunteer Coach

October 2017 — Present

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.

Education

Johnson County Community College

October 2011 — October 2013

Interests

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