Other Formats: ASCII Text Portable Document Format

 

Andrew J. Reitz
San Francisco, CA ajr9@po.cwru.edu
(408) 480-4327 http://redefine.dyndns.org/~andyr

Objective

I am a generalist with nearly 20 years of experience in a variety of roles, who enjoys working with UNIX systems, networking, and programming. I am seeking a full-time position in the Developer Productivity, Release, or DevOps areas.

Skills

  • UNIX systems including Linux, macOS, FreeBSD, and Solaris
  • Programming in Ruby, Python, shell, Perl, Java, and C
  • Data networking including TCP/IP, Ethernet, VLAN, Routing, Firewall, NAT, and DHCP
  • Tools including Nagios, Jenkins, Review Board, puppet, git, Confluence, Jira, GitHub Enterprise, AWS, and Pants

Experience

Stripe Inc. San Francisco, CA 1/2016 - present
In my 6+ years at Stripe, I served as a senior engineer focused on ensuring Stripe’s engineers could write code with velocity and safety. I started off helping to maintain Stripe’s Continuous Integration (CI) system, developer environment, and source control (SCM) systems. Over time, as the company grew, I focused more on Stripe’s core SCM and Code Review tooling and the integrations between these systems and CI.

I joined Stripe as part of an experimental batch of SREs, but my role and body of work have been indistinguishable from other software engineers at the company. During my time at Stripe, I helped to maintain and push forward various tools used by engineers internally. I helped the company grow by completing over 450 interviews, writing design documents, managing projects, managing customer expectations, working across teams, mentoring junior engineers (including several interns), and partnering with recruiting on improving hiring practices. In the last year, I’ve focused on building a team around code storage, search, and review. This initiative involved mentoring new members of the team, setting the overall direction, and leading the scoping, design, and implementation of projects. In addition, I owned Stripe’s relationship with GitHub, participating on their customer advisory board, negotiating contracts, and directing Stripe on the best ways to leverage GitHub’s software.

For over 5 years, I was primarily responsible for the maintenance, performance, and reliability of the GitHub Enterprise Server at Stripe. I lead the development of Stripe’s first Merge Queue, which enabled engineering velocity to be maintained as Stripe grew. I was heavily involved in developing Stripe’s processes around code storage and code review. As a key stakeholder in Stripe’s code review system, I was able to lead the development of several projects focused on improving code review processes, including the development of a system that could automate reviews when we could statically assert that a proposed change was safe. I also directed the migration of over 600 git repositories from github.com to an internal GitHub Enterprise Server instance.

Twitter Inc. San Francisco, CA 7/2011 - 10/2015
Software Engineer, Build Team 4/2012 - 10/2015
In April of 2012, I joined a newly formed team at Twitter focused on developer productivity. During my time on this team, I performed a variety of duties, ranging from maintaining internal git and Review Board services, maintaining our use of maven in a large scala repository, and helping to maintain Pants (Twitter’s homegrown build tool). Along the way, I worked on projects to convert said scala repository from Maven to Pants, performed critical integration work to upgrade Pants, and worked on getting Twitter into a monorepo, with a true monobuild. I also wrote documentation, developed training courses (that I frequently delivered inside of Twitter), and provided excellent support to our customers. During this time I worked on several side projects, including revamping Twitter’s internal people directory which included adding a feature to support employee recognition.

Software Engineer, Release Team 7/2011 - 4/2012
As a release engineer at Twitter, my team was responsible for daily deploys of Twitter’s frontend Ruby on Rails application. This role entailed not only performing deploys but also performing light QA, site reliability functions, and on-call support. I also helped maintain several in-house tools (written in everything from Ruby, to Rails, to Java). In addition, I was part of a small team that built out a new test environment and built a complete copy of Twitter from scratch. This effort involved learning how to install and configure every layer of Twitter’s stack, including discovering service dependencies, rewriting config files, and figuring out how to bootstrap the system while including enough data for the test site to be useful.

Sugar Publishing Inc. San Francisco, CA 4/2008 - 6/2011
For two years, I was the sole dedicated member of the operations staff at PopSugar Inc. I was in charge of all aspects of the operation of PopSugar’s web properties. This included maintaining two different software stacks (one Java/Tomcat, the other PHP/Lighttpd) in two separate managed facilities. I built and/or maintained the following: alert monitoring, performance monitoring, on-call support, build/release, MySQL administration, backups, and tools for development. Notable projects included: building an environment that passed PCI DSS audit, a full data center migration, and building alert monitoring from scratch.

Aggregate Knowledge San Mateo, CA 9/2006 - 4/2008
As a Systems Administrator and Developer I helped to build out Aggregate Knowledge’s web infrastructure, including managing Linux and Solaris machines, performing code releases, building networks, managing in-house IT resources, and automation programming. Notable projects included: building a new co-located facility from scratch, crafting a flexible on-call rotation system, writing custom Nagios plugins, and implementing custom statistics gathering/graphing scripts.

EDS Sunnyvale, CA 4/2003 - 8/2006
As a Field Engineer in the Automated Operations business unit at EDS (formerly Loudcloud, Inc.), I provided advanced support and maintenance of a state-of-the-art operations system. In this role I supported various legacy systems, including an automated network device configuration tool that functioned as part of the Opsware system. As a software developer in Production Engineering, I was part of a team that built custom software for EDS’ global operations. This role included writing new functionality in Perl and Java, as well as refactoring legacy Perl code, promoting stability, code reuse, and supportability. I also promoted next-generation communications technologies, including blogs, Wiki and RSS, to promote easier collaboration within the organization.

CCSO, University of Illinois Urbana, Illinois 3/2000 - 5/2001
Held the position of research assistant in the Workstation Services Group. Designed and deployed pilot SunRay project (which required network design, system integration, documentation, troubleshooting, and ongoing support). I investigated the feasibility of a unified campus-wide storage system, under the auspices of the Storage Project Working Group. As part of this effort, I researched Samba, clustering, AppleTalk integration, and authentication issues.

Ameritech Broadband Lab Hoffman Estates, IL 1995 - 1998
For four consecutive summers I was an intern at Ameritech and worked on testing network devices and protocols such as ATM switches, ATM NICs, ADSL CPE, Redback PPP concentrator, Frame Relay ISDN dial backup, Frame Relay to ATM interworking, PPP over ATM, and Fax/Voice/Video over IP. I provided advanced technical support for Ameritech’s initial ADSL trial, including management of production IP firewalls and direct customer support. In addition, I managed several UNIX systems, including web, DHCP, and SMTP servers.

Education

University of Illinois Urbana, Illinois 1999 - 2001
MS in Computer Science
Case Western Reserve University Cleveland, Ohio 1995 - 1999
BS in Computer Science

Masters Thesis

The Dynamic Port Reservation Protocol”. With advisor Robin Kravets, I designed an UDPv4 protocol to simplify inbound port reservations on NAT gateways, solving the “NAT traversal” problem for applications.

 


Last updated: March 27th, 2022