Experience
2021 — Now
2018 — 2021
2018 — 2021
Palo Alto, CA
I'm the tech lead of DeepMap's cloud infrastructure and security practices.
• Built a batch processing system which can schedule many thousands of parallel tasks in Kubernetes or AWS Batch.
• Designed a flexible deployment model for our software stack, using Kubernetes for the core functionality, and cloud-native tools for dependencies.
• Created an OpenAPI spec driven service development model, where developers create specifications and server boilerplate code as well as docs are automatically generated from the spec. I've open sourced the code generator at (https://github.com/deepmap/oapi-codegen).
• Before I started, most of DeepMap's cloud infrastructure was manually deployed, but moved it to code-driven, reproducible deployment using CloudFormation and scripts around it.
• Built APIs for customers and cars, composed of several microservices, with modern authentication and security practices, also using a third party identity provider.
• A live service is only a good as its monitoring, so everything I've built uploads logs and metrics to third party analysis services, and we are notified of problems and can monitor performance behavior.
• Built software deployment pipelines where code is validated automatically, and staged for deployment to production. Developers no longer have to deploy anything using personal credentials, but simply submit code, and the deployment systems take care of the rest
• Created very secure AWS deployments using multiple VPC's connected with minimal security exposure to each other.
2013 — 2018
2013 — 2018
Mountain View, CA
I'm responsible for the overall architecture of our service, which includes a public API, private RPC's and deployment in the public cloud. Bracket is still a young company trying to find its product fit, so my work has been quite broad and varied.
• Developed many micro-services which implement RPC's and API's. They're written in Go, and deployed as Kubernetes pods
• Created code generation tools for Go which automatically generate Go handlers and models which implement our API specification
• Developed an authentication mechanism for RPC based on a secure subset of the JOSE specification
• Created a netflow analysis system which captures netflow stats from many hosts, correlates them, and generates flow graphs, showing actual network behavior in cloud deployments. I had to write my own backend for this, as no off the shelf timeseries database can handle the high cardinality of netflow parameters.
• Created a simple object relational model which maps our Go structures into SQL, without all the complexity and hidden queries of something like Django.
• I'm always working on keeping our service scalable. Maintaining scalable services requires constant diligence, so I'm involved in design, optimization, and database tuning of all our services.
• Deployed and maintained our service in the public cloud. We run our own Kubernetes cluster in AWS, and keeping one running is a large task, spanning areas like key distribution, failover, live upgrades, scalability with load, and fault diagnosis.
• Deployed a Hadoop cluster in the cloud and used OpenTSDB/HBase to gather and analyze metrics from our workloads. Designed a very high throughput metrics load balancer in C++ which worked around OpenTSDB outages and a scalable RPC in Java using Dropwizard frameworks.
2005 — 2013
2005 — 2013
Mountain View, CA
Software Engineer in the Geo division.
2005-2012: Google Earth. Worked on 3D rendering, performance, cross-platform portability, user interface, and many new features.
• Designed and implemented efficient, internationalized font rendering in 3D. My code supported mixing and matching any language supported by system fonts.
• Designed and implemented many Google Earth features necessary to launch Google Ocean. My work resulted in a successful feature and patents US8638330B1, US8675013B1.
• Ported Google Earth to OS X from Windows, and made the code base portable so that future ports to Linux and other systems were much easier.
2012-2013: GT Local project. This is an internal team focused on maps data quality. Worked on internal pipelines for scheduling work with human operators, and merging their corrections into the main databases.
2004 — 2005
2004 — 2005
Mountain View, CA
Engineer on Alchemy, a framework for building cross platform 3D apps. Worked on improving efficiency, porting the code to new architectures (Mac, Hitachi SH4/Linux). Designed a scene graph for working on graphics systems with no fixed function pipelines, such as OpenGL 2.0.
Education
Brown University