Software Engineering · Lead SDET & Test Architect · Systems Integration

I build software and make sure it works — from the first design through production.

15+ years in software. I start by understanding the product: who uses it, what they need to accomplish, and how that supports the business. I combine hands-on engineering with deep test architecture to turn that understanding into software we can verify, deliver, and operate — from cloud applications to robot software.

Download resume (PDF)

What I bring

I connect product purpose, people, and engineering. Understanding the business and the people using the software shapes what I build, how I test it, and how I get it into use.

Product & business understanding

I work to understand the whole product: its primary users, their workflows, the business objectives behind it, and the job the software needs to do. I use that context to question assumptions, clarify requirements, and make engineering tradeoffs that support the intended outcome.

Stakeholder alignment & delivery

I connect conversations across product, engineering, and the people who depend on what we ship. I make goals, constraints, and risks clear, turn them into shared acceptance criteria, and carry that context through testing and release. Delivery means people can use the software to accomplish what they need.

Lead SDET & Test Architect

Quality starts before the code is written. I bring testability and failure modes into design, build automation into development, and carry verification through integration, release, and production. I architect test frameworks and mentor engineers in testing so we can tell whether the system actually works.

Applications & integration

Full-stack development, cloud services, and OAuth/OIDC authentication. I connect the pieces, understand how they fail together, and stay involved after the code ships.

Robot software & reliability

Python and TypeScript robot-interaction clients, with test architecture across on-robot systems, desktop applications, and HTTP APIs. I work across these boundaries to verify behavior and diagnose failures.

Platform & production delivery

Build and release pipelines, CI/CD, monitoring, and developer tooling. I work hands-on with engineers across teams to diagnose issues and get software into use.

Selected engineering work

Examples from my work at Opentrons, spanning lab robotics and cloud applications.

Cloud applications & identity

Protocol Library and Opentrons Accounts need application ownership from architecture through operation. I build and operate these services and own OAuth/OIDC authentication and authorization across web products.

Explore Protocol Library

Test architecture & robot software delivery

Robot software spans on-robot systems, desktop applications, and HTTP APIs. I architect test automation across that stack and built frameworks that shortened release cycles. I also own the pipelines that deliver two robot operating systems and the application suite, connecting verification with the software we ship.

Public Opentrons contributions

AI features & robot interaction

I contribute full-stack features to Opentrons AI and developed Python and TypeScript robot-interaction clients. This work brings AI feature development together with the software interfaces used to interact with robots.

20+ years across four lanes

Consulting, leadership, test architecture, and build/release/platform work overlap across the timeline. The bars show where each lane shows up, not exclusive job titles.

2003 to 2026
Career lanes from 2003 to 2026 2003 2008 2013 2018 2023 2026 Consulting Leadership Test architecture Build & Release / platform

Experience

  1. Lead Software Engineer and Build & Release Manager

    Opentrons Labworks Feb 2024 to present

    Added build and release ownership in February 2024 while continuing the engineering role below. Hands-on pipelines and releases for two robot operating systems and the application suite; full-stack Opentrons AI features and OAuth/OIDC authentication.

  2. Senior Developer and SDET

    Opentrons Labworks Jun 2021 to present

    Architect test automation across on-robot systems, desktop applications, and HTTP APIs; mentor engineers in testing. Build and operate Protocol Library and Opentrons Accounts, with GitHub Actions/AWS CI/CD and Datadog monitoring. Test frameworks shortened robot software release cycles.

  3. Test Automation Architect

    TEKsystems Aug 2019 to Jun 2021

    Practice architect for continuous testing. Led pytest automation for a gaming engine team of ten and browser-based UAT in Azure DevOps for energy-sector .com work with a team of five.

  4. Software Developer, Test III

    Rackspace Nov 2016 to Aug 2019

    Lead SDET on a dedicated-device web portal across customer-facing apps, ETL, and APIs. Python, Java, TypeScript, Jenkins, OpenShift, Docker, GraphQL, Elasticsearch.

  5. Test Architect / Lead Automation Engineer

    Xpanxion 2009–2012 and 2013–2016

    Hands-on QA strategy and automation consulting on long-term engagements. Built frameworks for web, API, ETL, mobile, and desktop; BDD/TDD with Cucumber, JUnit, TestNG; performance work with JMeter and LoadRunner.

  6. Epiq Systems, Standard Beverage, Target, independent IT work

    Earlier roles 2003 to 2013

    Automation in C# and Selenium, QA leadership for enterprise web and ETL, retail operations leadership, and nonprofit web and AV implementation. 20+ years across engineering, consulting, and operations.

Public work at Opentrons

A periodically refreshed snapshot of my pull requests across public Opentrons repositories. Work in private repos (Protocol Library, Opentrons AI) isn't listed here — see Experience for that.

  1. fix(analyses-snapshot-testing): cap chunk analysis concurrency in CI

    opentrons Closed Oct 2026

  2. feat(ai-server): upgrade to Claude Sonnet 5.5 (AUTH-3480)

    opentrons Merged Oct 2026

  3. fix(ai-server): sanitize Google Sheets feedback with nh3 (AUTH-3448)

    opentrons Merged Sep 2026

  4. fix(ai-server): omit exception details from 500 responses (AUTH-3447)

    opentrons Merged Sep 2026

  5. fix(ai-server): remove unauthenticated /api/timeout (AUTH-3446)

    opentrons Merged Sep 2026

  6. AUTH-3433: Golden Studio harness POC (informational, do not merge)

    opentrons Open Oct 2026

  7. fix(ai-server): AUTH-3347 Sonnet 5 tool loop and prompt modernization

    opentrons Merged Sep 2026

  8. fix(auth): keep user write scopes and gate requireAdminCreds at request time

    opentrons Closed Aug 2026

  9. chore(step-generation): revert/reapply setShakeSpeed for 26.6.0 tag point

    opentrons-ot2 Closed Aug 2026

  10. feat(js-package-testing): Flex Smoke 2.27 fixture + contain playback controls

    opentrons Closed Oct 2026

View all on GitHub →

AI in engineering practice

I use AI tools in day-to-day development and build reusable skills, rules, and workflows around them. My work includes shipped Opentrons AI features and Python/TypeScript robot-interaction clients. Code review, test automation, and production monitoring remain part of the engineering work.

Let’s talk

Selectively open to senior, staff, and principal individual-contributor roles in software, test architecture, systems integration, platform, and customer-facing engineering. Based in Lawrence, Kansas; interested in remote work with approximately 15–40% travel.