Consulting Software Engineer, Oilcan
May 2023–Present
- Building the product + backend for a Rails-based SaaS product focused on on-call tooling for engineering teams.
Staff Software Engineer - Banking & Financial Products, Stripe
Jan 2020–Jun 2022
- Led engineering team responsible for Stripe Treasury, an embedded finance product. Shipped beta release and supported tens of design-partner customers as they built new products with deeply embedded banking experiences, such as Shopify Balance.
- Worked closely with cross-functional partners (internal Legal, Risk, Financial Partnerships teams and external partners) in designing the product to meet regulatory and legal obligations for regulated money transmission products.
Staff Software Engineer & Tech Lead - Compute, Stripe
Jan 2017–Jan 2020
- Supported Compute engineering team that works on Stripe's service platform (e.g. cloud integrations, workload scheduling, deploy and change management). Provided technical, design, security guidance, owned processes, and helped grow a team from 3 to 30 engineers and 1 to 3 engineering managers. This team shipped projects including cron jobs on Kubernetes[0] and skycfg[1].
- Designed and built multi-AWS account authentication/authorization system using a centralized bastion account. This simplied credential issuance/management, reduced control plane attack surface, and accelerated adoption of multi-account isolation through unified account governance.
Staff Software Engineer & Tech Lead+Manager, Stripe
Aug 2016–Jan 2017
- Founded and led Streaming infrastructure team that built out Kafka-based streaming infrastructure and unified existing workflows onto a common platform. This powered critical API data flows and reduced operational burden on product and infrastructure teams.
- Founded and led infrastructure team responsible for Stripe's service platform (later Compute) and content delivery.
- Designed, built, and rolled out hardware-backed U2F multi-factor authentication system to all internal sites that eliminated phishing attack surface area and improved security observability and guarantees for access to all internal and customer data.
Software Engineer, Stripe
Aug 2014–Aug 2016
- Led project to migrate all infrastructure and services from AWS us-west-1 to us-west-2 with no downtime. Reduced infrastructure spend by 10%, and improved overall reliability and growth capabilities due to better AWS support and managed service availability.
- Built hybrid streaming + batch aggregation infrastructure based on Twitter Summingbird[2] that powered risk and machine learning workloads for fraud modeling and transaction scoring. This later grew to encompass customer-facing analytics for dashboards and reports.
Software Engineer, Twitter
Jan 2012–Aug 2014
- Built Observability infrastructure[3][4] for metric collection, storage, and service monitoring. This stack collected and stored hundreds of millions of metrics per minute, while processing hundreds of thousands of queries per minute.
- Prototyped and built WAN infrastructure for user-specified service health monitoring across geographically disparate sites.
- Contributor and commiter on Zipkin, an open source Dapper-style distributed tracing system[5][6][7].
Software Engineering Intern, Facebook
May 2011–Aug 2011
- Developed new features and improvements for Apache Hive:
- HIVE-306 Support INSERT [INTO] destination
- HIVE-2035 Use block-level merge for RCFile if merging intermediate results needed
- HIVE-2296 bad compressed file names from insert into
- HIVE-2343 stats not updated for non "load table desc" operations
- HIVE-2360 create dynamic partition if and only if intermediate source has files
- HIVE-2272 add TIMESTAMP data type
Engineering Intern, Tubemogul
Jun 2010–Sept 2010
- Developed key features, metrics, and analytics for real-time bidding system on video ad networks.
Globalization & Localization Intern, Plaxo
Jun 2009–Aug 2009
- Developed an in-line translation feature to crowd-source the translation of Plaxo.com, augmenting the existing front-end and back-end architecture.
- Performed localization tasks for weekly code releases.
Education
- Learning to operate Kubernetes reliably
https://stripe.com/blog/operating-kubernetes - Github: stripe/skycfg
https://github.com/stripe/skycfg - Github: twitter/summingbird
https://github.com/twitter/summingbird - "How Twitter monitors millions of time-series"
https://www.oreilly.com/ideas/how-twitter-monitors-millions-of-time-series - "Observability at Twitter"
https://blog.twitter.com/2013/observability-at-twitter - https://github.com/twitter/zipkin
- "Distributed Systems Tracing with Zipkin"
https://blog.twitter.com/2012/distributed-systems-tracing-with-zipkin - Zipkin talk at Twitter Runtime Systems Summit
https://www.slideshare.net/johanoskarsson/zipkin-runtime-open-house