AWS Solutions Architect Associate · AWS Developer Associate · HashiCorp Terraform Associate
I design and deploy cloud infrastructure on AWS — choosing the right compute model, integration pattern, and data layer for what the workload actually requires. Sometimes that's serverless. Sometimes it's EC2 with an autoscaling group. The pinned repos below show the output. This is how I think before I write a single line of code.
It starts with the real problem, not the interesting problem
Before choosing a service or designing a schema, I work backwards from what the end user actually needs. What decision are they trying to make? What friction are they trying to avoid? The architecture flows from that — not from what sounds impressive or what I want to practice.
Strong framework first, iteration second
Good software doesn't start with a sloppy draft. It starts with a clear idea of what you're building and why, what the constraints are, and what tradeoffs you're willing to make. Iteration is necessary — but you need something worth iterating on. Thinking through cost, ease of use, failure modes, and scope before touching a keyboard isn't overthinking. It's just engineering.
AI tools accelerate execution, fundamentals prevent getting lost
I use Claude Code and Codex to move fast — generating boilerplate, debugging, iterating on implementations. But I don't use them as a crutch. Understanding what's actually happening in the code means I can course-correct when the output is wrong, ask better questions, and make judgment calls the model can't make for me. Speed without comprehension is just faster mistakes.
Every architectural decision has a reason
I don't default to the most powerful option or the most familiar one. I ask: what does this workload actually look like? Burst-heavy or steady-state? Single writer or concurrent? Latency-sensitive or async-tolerant? The answers determine the data layer, the integration pattern, and the provisioning model. The goal is the minimum surface area that solves the problem well — nothing bloated, nothing missing.