Full-stack software architect building solutions for a complex society.
The New York Times (Sep. 2022 — Jun. 2025)
As a Staff Software Engineer, I worked across organizational boundaries between product engineering, information security, and corporate infrastructure to speed up strategic transitions for business-critical publishing applications.
TypeScript (Next, Express), Java (Spring), Go, Open Policy Agent, Hydra, MySQL, Elasticsearch, ActiveMQ, Amazon Web Services, Google Cloud Platform, Kubernetes, Istio, Docker, Terraform, Vault
Architected identity solutions to integrate systems across sub-brands and turn news publishing applications into a company-wide publishing platform
Replaced on-premise network appliances with cloud-native application gateways to migrate the publishing platform to the company’s new cloud platform
Configured identity federations to move workload migrations across clouds
Provided critical feedback and partnership to platform engineering teams on developer experience and platform features
Championed monorepo adoption to improve collaboration across teams
The New York Times (Jan. 2020 — Sep. 2022)
As a Senior Software Engineer, I enabled new products to ship more quickly by working to polish and extend the core collaborative text editing application for news publishing.
TypeScript (React, ProseMirror, Express), Google Cloud Platform, Kubernetes, Docker, Terraform
Established safer integration patterns for React and ProseMirror, releasing an open source library that became the basis for text editing development at the company
Re-architected asynchronous task management to minimize production incidents and improve their recovery time
Developed an idiomatic REST API for integrations from other applications
Modernized build, deployment, packaging, linting, and typing
Remix (Apr. 2017 — Dec. 2019)
As an individual contributor and as a founding member of an organization-wide front-end engineering working group, I accelerated development and deployment of web-based geospatial applications for city transportation planners.
TypeScript (React), Python (Cython, Celery, Flask), Ruby (Rails), PostgreSQL, Redis, Amazon Web Services, Docker, Terraform
Developed abstractions to enable rapid migration of an application from Leaflet to Mapbox GL
Developed organizational capacity to begin continuous deployment of microservices
Transitioned a major project out of active development and prepared it for long term maintenance
Medal (Jan. 2016 — Dec. 2016)
As the first full-time engineering hire, I recruited a team of engineers to develop solutions for medical records management in clinical and research settings.
Python (Django), C#, Amazon Web Services, Docker, Terraform, Vault
Developed infrastructure-as-code supporting deployment under strict compliance requirements
Established interviewing and onboarding processes for new engineers
Hypothes.is (Dec. 2011 — Sep. 2015)
I worked as technical lead of a not-for-profit initiative to develop open source annotation services supporting digital research, publishing and pedagogy.
Python (Pyramid), JavaScript (AngularJS), Elasticsearch, PostgreSQL, Amazon Web Services, Docker, Ansible, Terraform
Contributed to standards for digital annotation as a member of the World Wide Web Consortium (W3C) Web Annotations Working Group
Developed modern, open-source JavaScript applications, libraries and browser extensions
Meebo (Sep. 2009 — Dec. 2011)
Python (Gevent, Twisted), C, Erlang, CouchDB, Cassandra, Redis, Graphite, Nginx, Puppet
Introduced co-routine techniques for reducing memory use and time-to-ship for microservices
Contributed to Apache CouchDB, becoming an active project maintainer
Infrastructure: 12 years of experience with infrastructure as code and a range of popular tools, platforms, and standards.
JavaScript: 12 years of experience developing web applications. I follow language proposals and Web Platform standards development. I have experience with a range of popular frameworks and tools.
I am comfortable working in C, C++, C#, Java, Python, Ruby, Go, and Erlang.
Human Languages:
Scrum leadership training