A senior systems programmer and Linux administrator who loves building reliable stacks, crafting great tools & solving problems. One who finds joy on a team who takes pride in their work and is passionate about design, automation & excellence in implementation.
- Quality matters
- Ensure what you build will be grokked by others
- Automate what you can, persevere through the rest
- Test, retest, and if feasible automate said tests
- Over fifteen years of UNIX experience, with a principal focus on Linux
- Adept at programming complex systems in Go
- Loves gluing together systems with Bash & ShellCheck
- Strong ability to engineer high availability systems using tools such as Pacemaker
- Systems configuration automation expertise with tools such as Puppet
Braintree: March 2012 — Present
Lead Infrastructure Engineer: As the company’s second sysadmin hire, helped to build and maintain Braintree’s highly available Linux based payment transaction infrastructure. Created Pacemaker clusters managing Linux routers, Linux IPVS load balancers and Linux Postgres databases. Helped build Braintree’s platform to process over 6 billion transactions annually across multiple datacenters.
- Created Linux Pacemaker based routers, load balancers, and Postgres clusters
- Created highly available egress to 3rd parties using HAProxy
- Automated our Puppet deployments with Heckler
- Sleuthed for kernel bugs in the Linux routing stack
- Improved & optimized our router management software written in Bash
- Made over six thousand commits to our Puppet based infrastructure repo
- Prototyped using eBPF to monitor TLS expirations, SourCerts
Pay-Ease: September 2010 — 2012
Systems Engineering Lead: Lead the team which built and maintained Pay-Ease’s Linux kiosks and infrastructure.
- Standardized kiosk Linux distribution and remotely reinstalled all kiosks with Debian stable.
- Implemented a Puppet server to standardize backend server configuration and kiosk configuration.
- Ensured our systems were compliant with PCI requirements, e.g. regular patch updates (Puppet) and file integrity monitoring (OSSEC)
- Worked to pass PCI review with on site QSA
- Deployed FAI for automating internal kiosk and server builds
- Wrote Ruby scripts to aid developers in testing kiosk builds
- Deployed wireless kiosks which utilized OpenVPN tunnels to connect to the processing backend
Chapdelaine & Co: August 2004 — August 2010
Linux and Solaris Administrator:
- Designed a FIX protocol based straight through processing system which allowed Chapdelaine to electronically receive orders and in return electronically execute the order at the customer’s end. The system relied on Apache Synapse in concert with a QPID AMQP broker and a custom designed JRuby glue layer between our proprietary in house system and the FIX engine.
- Created specifications and implemented those specifications for the delivery of market data feeds to Chapdelaine’s customer’s.
- Engineered a Gigabit based iSCSI SAN using HP LeftHand storage nodes
- Created a central authentication and directory system using OpenLDAP. Configured OpenLDAP for optimum performance and high availability using Pacemaker. Setup OpenLDAP as a Windows primary domain controller in conjunction with Samba. Integrated Windows clients via OpenLDAP and Samba.
- Retooled the Nagios monitoring system to ensure system availability and quick identification of system problems. Created custom Nagios plugins to monitor trading systems. Setup a separate off-site Nagios implementation to monitor the data center and critical customer facing services.
- Created custom X Windows (LTSP) based thin clients for use as trader desktops. Setup load balancing against three backend servers to ensure high availability.
- Migrated internal architecture from disparate Solaris, FreeBSD, and RedHat systems, to the Debian Linux distribution, setup a central customized build server running FAI to facilitate the migration
Additional experience available upon request
University of Illinois at Urbana-Champaign: 2003
Bachelor of Science in Computer Science
- Logic and Algorithm Design: Curriculum emphasized developing a thorough formal logic base, which was used to understand and design algorithms. Algorithms were developed and analyzed with regards to speed, correctness, and memory growth.
- Interface Design: Developed a SuperWaba Java program for the Palm and Pocket PC platforms. Used the development of the program as a means to learn and analyze the iterative design process used to develop interfaces.
- Programming: Diverse set of languages learned and used within courses: Java, O’Caml, Lisp, C++