Work · 2020–2022 · 🌍Remote
Senior SDE / Tech Lead
Joined GoDaddy through the Uniregistry acquisition. Promoted to Tech Lead mid-cycle for leading GoDaddy’s AWS migration team — its first AWS deployment of a new internal Golang stack, delivered with three mid-level engineers.
Platform & infrastructure
- Architected the stack’s AWS infrastructure on ECS and EKS; served as the team’s AWS expert.
- Built platform components — Service Catalog products,
helmcharts, CloudFormation templates — that other GoDaddy teams later picked up. - Contributed to GoDaddy’s internal Go web framework, auth libraries, and APM tooling.
- Owned reliability and security practices for the new Kubernetes workloads.
CI/CD & containerization
- Set up containerization for the Golang services from scratch — learned
dockerin depth, wroteDockerfiles with carefully ordered caching layers, and useddockerto build images for both CI and local development. - Built GitHub Actions pipelines that build the container images and publish to both GitHub Container Registry (GHCR) and AWS ECR.
- Drove deployments with a GitOps workflow, so the cluster state followed what was declared in git.
Cluster operations & upgrades
- Used
k9sto debug live workloads on both the ECS and EKS clusters. - Experimented with blue-green deployments, and upgraded the EKS cluster version via a blue-green cutover — stood up a new cluster on the target version, shifted traffic across, then retired the old one.
- ECS had an automated upgrade flow; EKS upgrades had to be done manually, which is exactly why the version bump went through the blue-green path.
Streaming & event processing
A core piece of the stack was an event pipeline built on Amazon Kinesis. Domain and registry events were published to a Kinesis stream, and we consumed from it with a fleet of AWS Lambda functions that fanned the data out to the downstream services that needed it.
- Wrote the Lambda consumers in both Go and Python — Go for the throughput-sensitive, latency-sensitive consumers, and Python where we wanted to iterate quickly and lean on existing libraries.
- Tuned shard counts, batch sizes, and parallelisation so consumers kept pace with the stream under load, with retry and dead-letter handling for poison records.
- Wired the consumers into the same CloudFormation / Service Catalog deployment story as the rest of the stack, so other teams could stand up their own Kinesis consumers the same way.