GitHub
About Me
I love building software at scale in polyglot environments. Python and Erlang are closest to my heart, but these days I also use TypeScript, Java and Scala.
I’m passionate about platform engineering and developer experience. I believe a good developer platform does more than just improve productivity; it also sparks creative joy.
Education and Certifications
B.S. of Computer Science, University of Georgia (2002)
AWS Certified Solution Architect Associate (2022)
Experience
Senior Staff Software Engineer at SiriusXM/Pandora
August 2018 to present
- During my time at Pandora (and SiriusXM, post-acquisition) I’ve leaned into developer experience wherever possible. In addition to my day-to-day work, I’ve been organizing developer resources and platform support for our annual hackathon for the past 3 years.
- Technical lead on the buildout of SiriusXM’s AWS developer platform, including developer tooling (Python), shared infrastructure and infrastructure-as-code patterns using CDK (TypeScript), CI/CD pipelines (GitHub Actions), data recovery tooling (Glue/PySpark) and software templates (various languages). Typical services deployed on the platform use a combination of ECS/Fargate, Lambda, DynamoDB and Kinesis, with many other AWS services used for specific cases.
- Technical lead on Pandora’s quote-to-cash advertising software ecosystem, handling $1.5 billion dollars of annual advertising revenue (Java/Spring, Python/Django, TypeScript/Express, PostgreSQL, BigQuery, Redis).
- Individual contributor building components of Pandora’s private cloud offering based on the Hashicorp stack, including work on Nomad deployment patterns, our Consul/Envoy-based service mesh, software templates, Jenkins CI/CD tooling, and Docker base image automation.
Staff Software Engineer at MailChimp
May 2012 to July 2018
- While at MailChimp, my efforts focused on productionizing our data scientists’ research, putting the power of analytics and statistical modeling within reach of small businesses. I also formed and led MailChimp’s performance engineering team, and contributed to DevOps efforts.
- Designed and led development of MailChimp’s data pipeline, streaming billions of row-level changes each day from the binlogs of hundreds of MySQL instances (MySQL, Scala, Kafka). Also built tooling and client libraries for various languages (Java, PHP, Python).
- Designing and building MailChimp Pro’s reporting and BI tools, fed from the data pipeline (PHP, Scala, PostgreSQL, Redis).
- Designing and building MailChimp’s predictive analytics service, which maintains summary statistics on around 4 billion unique email addresses and uses these to feed ML models for compliance and optimization (Python, R, Redis, RabbitMQ).
- Designing and building MailChimp’s predictive demographics service, as well as a BI tool enabling customers to perform ad hoc analysis on their MailChimp data (Python, BigQuery).
- Individual contributor on MailChimp’s in-house web framework, including improvements to its ORM, process management, and concurrency APIs (PHP).
Staff Software Engineer at Vitrue (acquired by Oracle)
July 2010 to May 2012
- As a lead developer on Vitrue’s Core Services team, I focused heavily on modularizing and scaling the core APIs behind Vitrue’s social marketing platform.
- Released an open-source Erlang ISO 8601 date/time library.
- Led development of Vitrue Publisher’s conversational features for Facebook and Twitter, helping brands engage directly with customers (Ruby/Rails, MongoDB).
- Designed and built a distributed ingestion service to collect social media conversation and engagement data in near-real-time. This distributed system replaced a slower, more limited Ruby application, realizing substantial performance and reliability gains (Erlang, PostgreSQL, Redis).
- Designed and built Vitrue’s self-service location-based marketing offering, integrated with Foursquare and Facebook Places (Ruby/Rails, MongoDB, Twilio).
- Individual contributor building Vitrue’s DevOps approach to managing our AWS EC2 infrastructure (Chef, Scalr).
- Designed and built the backends for various Facebook wall and tab applications (Ruby/Rails).
Odds and Ends
In the distant past, I worked as a Ruby developer at InComm (payments), a Java developer at Hannon Hill (higher ed CMS) and as a sysadmin and PHP developer at a small law firm.
In my free time, I like to play at the intersection of art and programming, making little games (with SDL) or doing a bit of audio programming (often with ChuCK).