I'm a Full Stack Engineer who started in QA, moved through test automation, software development, full stack engineering, DevOps/SRE, and security, and came out the other side having been on every side of the wall.
That journey means I've personally shipped the feature, written the tests that caught the regression, built the pipeline that deployed it, managed the incident when it broke, and hardened the system after the post-mortem. I understand how decisions made on one side of the stack ripple into consequences on another.
I bring security thinking into every phase of the product lifecycle, not as a final audit, but as a design constraint from day one. Systems I build are observable, testable, and defensible.
I leverage AI tooling to move faster across the full stack, from rapid prototyping to code review to infrastructure automation. It's a force multiplier, not a replacement for engineering judgment.
Career arc
Start
QA Engineering
Learned to break things before users do. Developed a systematic approach to failure modes, edge cases, and regression testing. Built the habit of questioning every assumption.
Test Automation
Moved from manual testing to building automated test frameworks and CI pipelines. Wrote code to validate code, which demanded thinking like a developer while keeping a QA mindset.
Software Developer
Crossed to the other side of the wall. Built backend services and APIs. Understood what it feels like to have a QA team file bugs against your code, and designed to prevent them.
Full Stack Development
Expanded into frontend (React, component systems, responsive UIs). Developed intuition for how UI decisions affect backend load and how backend design shapes user experience.
DevOps / SRE
Infrastructure as code, CI/CD pipelines, container orchestration, observability, and on-call. Learned what breaks at 3 AM and how to build systems that don't.
Security Engineering
AppSec, DevSecOps, threat modeling, policy as code, SAST/DAST. Shifted security left, not as a gatekeeper, but as a collaborator who had already been on every other side of the table.
Now
Full Stack (all of it)
Combining everything: I can own a feature from spec to deploy to security review to on-call runbook. Having been on every side of the wall means I know how to build systems that work for everyone.
How I work
Critical thinking first
I question requirements before writing code. The best solution is often a simpler problem.
Build it, prove it
Concrete trumps theoretical. When a question is disputed, I build the minimal proof of concept.
Security as a feature
Security isn't a final audit. It's a design constraint from day one.
Own the full lifecycle
I'm comfortable owning a feature from spec to deploy to on-call runbook.
Test before it ships
QA roots mean I think about failure modes while I'm writing the feature, not after. Testability is a design concern.
Empathy across the wall
I've been QA, dev, ops, and security. I understand the friction between teams because I've felt it from every side.
Want to work together?
I'm open to senior engineering and staff roles. Let's talk.
Find me on GitHub →Outside of work
Guiding principles
"The important thing is not to stop questioning."
"Done is better than perfect — because perfect never gets done."
"Don't reinvent the wheel, just realign it."
"Feedback is the breakfast of champions."
"Unwritten words are forgotten."