Staff Software Development Engineer in Test
I build the systems that help teams know when software is ready to ship. Test frameworks, CI pipelines, and the tooling that connects everything together.
I have spent nine years doing this across products with 250M+ users and regulated medical devices, where a missed defect can mean a recall instead of a simple rollback.
A big part of my work is making failures easy to find, easy to understand, and reliable enough that teams can act on them with confidence.
Most people describe test automation. This is what it looks like when it runs: unit through mobile, gated on a performance budget, with a report a release manager can read.
// Illustrative run. The stages, stack and numbers come from real work — the log itself is a simulation, not a live build.
It knows my background and answers as me. Every reply is checked by a second model before it reaches you — you will see that step happen. Same idea as a review gate in a pipeline, applied to an agent.
An AI twin, not me. It can be wrong, and it will say so when it does not know. For anything that matters, email me.
Measured outcomes from production programs, not estimates.
Enterprise SaaS, consumer scale, then regulated medical devices — each step raised the cost of being wrong.
Libre glucose-monitoring ecosystem: mobile SDKs, backend APIs and hardware integration under medical-device validation. Framework architecture, CI/CD, and automation standards other teams adopt. Grew suite coverage from ~70% to 90% and cut a regression cycle from 6 hours to under 2 hours.
UI, API, web and mobile automation for a consumer product at 250M+ users. Test design and CI integration where a bad release is visible within minutes.
Enterprise SaaS UI and API automation. Selenium Grid, cross-browser coverage and CI pipelines across a multi-product portfolio.
Web smoke, regression and acceptance suites across browsers and platforms — the first place automation replaced a manual release checklist.
Listed only where the work is real. Nothing here is a weekend tutorial.
The short version of what an interview with me would cover.
It has users — the engineers who read its output at 2am. If the failure message does not tell them what broke and where, the test failed even when it passed.
Auto-retry hides the signal and teaches the team to ignore red. Flakes get triaged like defects, with an owner and a root cause.
A six-hour suite gets skipped before a deadline. Cutting one to under two hours changed how often it ran, which is what actually caught defects.
The goal is a framework other teams adopt without me in the room. Cross-team automation standards outlive any suite I personally write.
Medical-device validation means traceability, evidence and audit trails — not just a green checkmark. It is a habit I keep even where it is not required.
Claude and Codex speed up test-case generation, failure analysis and review. A human still signs off. Nothing runs unattended in CI on my watch.
Most of my work sits behind an NDA. This one does not.
A Python/pytest API test framework against a live public API: JSON Schema validation on every response, plus a Locust performance gate that fails the build on p95 latency or error rate. Runs on every push in GitHub Actions. Small on purpose — it shows how I structure a suite, not how many files I can produce.
Everything that usually takes three emails to establish.
Santa Clara, CA. Authorized to work in the US — no sponsorship needed, now or later.
Staff or Senior SDET, test infrastructure, and developer-productivity roles where the framework and CI pipeline are part of the job rather than an afterthought. Python or Java shops both work.
Both are primary. Python for API, service and tooling work with pytest and Robot Framework; Java for UI and mobile suites with TestNG, JUnit and REST Assured. JavaScript, SQL and Bash are working languages, not headline ones.
Frameworks, internal tooling, CI infrastructure and API/SDK integration alongside the suites. At Abbott that includes unit tests for firmware-adjacent components in C++ and limited native work on an in-house integration framework touching Swift and Kotlin.
A large share. Appium with the XCUITest and UIAutomator2 drivers, on real devices and on BrowserStack and Sauce Labs, across both a consumer app and a medical-device companion app.
Daily, as an assistant: Claude and Codex for test-case generation, failure analysis and code review, with a human reviewing every result. I have not run agents unattended in CI or owned an org-wide AI testing strategy — if that is the job, ask me and I will tell you exactly where the line is.
About three years of it, at Abbott only. Validation evidence, traceability from requirement to test to result, and controlled change — on top of normal engineering. The rest of the nine years is consumer and enterprise software.
Email. I answer every message that names the company, the level and the base range.
If your team ships nervously, that is a solvable problem. Tell me what breaks and I will tell you how I would approach it.