ℹ️ This is a version of the resume that I pdf and submit for most job applications. It's stuffed with job-relevant keywords to get through automated resume filters, and attempts to describe things in the action-verbed, data-driven ways that hiring managers ostensibly find appealing. I think this style sometimes does a poor job of communicating what it is like to work with someone, which is why the How To Work With a DJ and Less Boring Resume pages also exist.

tl;dr: I’m a polyglot backend engineer with a little over a decade of experience. I’m interested in serving teams building tools and products that improve the state of the world. You can trust me to lead and grow a team that delivers and supports tested, performant, reliable software. Alternatively, you can trust me to prototype, build, or rewrite the “here be dragons” part of your application or distributed system. Love a good discussion about servant leadership.

Citrine Informatics

Tech Lead, January 2020 - 2023, Remote

Project Management, Prototyping, Standards, and Product Collaboration for a Team of 2-7 Engineers

  • Worked with the Product team to shape product goals into product and then technical requirements. Helped to prioritize features based on cost, providing delivery estimates and implementation plans.
  • Personally prototyped new products and performed technical spikes to refine delivery estimates and reduce technical risk before assigning features and tasks to the team.
  • Broke down requirements into features, features into tasks, and worked with my team to ensure all engineers had work to do that aligned with their abilities and professional goals.
  • Gave internal product demos on a regular cadence to provide updates on progress when appropriate, but I always encourage team members to show their own work - I'm not interested in claiming credit for things I didn't do.
  • Wrote and evangelized API style guides, Scala style guides, PR review standards, and testing standards for my team and throughout the engineering org.
  • Did dozens of technical interviews, resume reviews, and phone screens.
  • My immediate manager was often swamped (at times he had >20 direct reports), had regular 1-1s with the team to ensure folks were happy and they were accomplishing their goals.
  • Provided feedback for performance reviews of members of the team.

Senior Engineer August 2018 - 2023, Remote

Backend Scala Development for Scientific Software and AI Featurization

  • Led a fully remote and partially overseas team building APIs to reduce the ETL effort to transform arbitrary customer data into ML-ready vectorized data from weeks, to days, to hours.
  • Architected a data system for storing and transforming arbitrary materials data (think complex recipes, for everything from perfume to steel) into featurized AI model training data in 15 minutes or less.
  • Designed, built, and deployed APIs to power the React UI components of our application, maintaining robust test coverage, API documentation, and iterating quickly with PMs and UI engineers.
  • Tech: Scala (Akka Actor Framework), AWS, Docker, DynamoDB, Postgres, AI featurization


Senior Engineer, January 2015 - July 2018, Remote

High Throughput, HA Backend Java API and Distributed System for Mobile Application Backends

  • Rewrote a NoSQL data access layer with greater than 10B records backing an API with 50k+ requests per second. Reduced response time by ~75% with 0 downtime, request failure rate (5xx) from 1-2% to ~0.
  • Rebuilt the usage-based-billing service to provide accurate unique monthly active device counts for each account (billions). Worked across the company to provide estimates of the financial impact of rolling out the new system (negative ARR), and pitch the change as necessary to reduce customer churn.
  • Tech: GCP, Java, ZooKeeper, Hbase, Bigtable, Kafka, Pubsub, protobufs (2.4).


Software Engineer, November 2012 - December 2014

Full-Stack Web and Desktop Software Developmen for Real-time Sports Statistics

  • Built an autoscaling backend that scaled up requests by four orders of magnitude during events.
  • Built a video-streaming system and custom desktop video playback application to enable live, simultaneous tracking of multiple athletes during events. Streamed stats to the broadcast truck for on-screen graphics.
  • Tech: ffmpeg, php, ruby, Rails, javascript, QT5, mySQL, raw unix sockets, telnet.

Steck Consulting

Senior Analyst, January 2010 - June 2012

Damages Estimation for Health Care Litigation.

  • Wrote python scripts to verify, load, and validate terabyte scale data sets on distributed servers.
  • Wrote algorithms to estimate damages for six cases being litigated by the U.S. Department of Justice.
  • Cases I worked on recovered over a billion dollars for federal and state governments.
  • Tech: Python, Stata, R, and SQL.


Reed College, B.A., Mathematics and Economics


  • I’ve been paid to write Python, Stata, R, Ruby, PHP, Java, Scala, Javascript, Qt, and even some C++.
  • I’ve designed, shipped, and debugged APIs backed by HBase, mySQL, PostgreSQL, DynamoDB, and redis.
  • I’ve shipped production code to AWS, GCP, Rackspace, bare metal, in containers, and in AWS Lambdas.