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 with the people using a product, their workflows, and the business behind it. At Opentrons, I build cloud applications, AI tooling, and robot software. I’m especially drawn to work where AI meets the physical world, with hands-on implementation and direct customer collaboration. I bring deep test architecture to making those systems work from design through production.
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.
Customer collaboration & implementation
My consulting background shapes how I work: understand the workflow, clarify constraints, and stay hands-on through implementation and troubleshooting. I’m eager to work directly with customer teams, become a technical expert in the product they rely on, and connect what happens in the field with the hardware and software teams building it.
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 build pytest/Playwright frameworks, visual regression checks with Applitools, and tests that verify packages as external consumers install them. I 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 build protocol analysis and simulation services, and extend robot diagnostics with serial transcripts and log archives. I work across these boundaries to verify behavior and diagnose failures.
Platform & production delivery
Build and release pipelines, CI/CD, monitoring, and developer tooling, including OIDC-based npm publishing without long-lived publish tokens. 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.
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 own the pipelines that deliver two robot operating systems and the application suite, and built agentic tooling that enables colleagues with less technical experience to run the release process.
I maintain Opentrons AI v1, including model/API upgrades, evaluations, and retrieval-augmented generation (RAG). I implemented bounded, multi-step LLM tool execution for protocol generation and simulation, and improved retrieval context with version-pinned API docs, curated routing metadata, and CI coverage checks. I provide the infrastructure and application framework using AWS ECS, Amazon Bedrock, and direct model APIs.
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 Consulting Leadership Test architecture Build & Release / platform
Experience
Lead Software Engineer and Build & Release Manager
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.
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.
Test Automation Architect
TEKsystemsAug 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.
Software Developer, Test III
RackspaceNov 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.
Test Architect / Lead Automation Engineer
Xpanxion2009–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.
Epiq Systems, Standard Beverage, Target, independent IT work
Earlier roles2003 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.
I’m especially interested in AI that helps people do work in the physical world. At Opentrons, I implemented bounded LLM tool execution for lab protocol generation and simulation. I maintain Opentrons AI v1, including model and API upgrades, evaluations, retrieval-augmented generation (RAG), and application reliability. That work includes regression tests for chained and parallel tool calls, version-pinned API documentation, curated retrieval context, and CI coverage checks, using AWS ECS, Amazon Bedrock, and direct model APIs.
I built agentic tooling that makes our robot software and operating-system release pipelines accessible to a broader team. It enables colleagues with less technical experience to conduct releases, so the process can be delegated beyond the engineers who maintain the pipelines.
I build reusable agent skills for protocol authoring and verification. My public flex-talk project pairs a typed TypeScript robot SDK with portable agent tools for discovery, hardware inspection, image capture, and protocol execution. I also built a FastAPI service for asynchronous protocol analysis and simulation in version-specific Python environments. Code review, test automation, and production monitoring remain part of how I build and deliver software.
Let’s talk
Selectively open to senior, staff, and principal individual-contributor roles, especially customer-facing implementation, forward-deployed, field applications, and solutions engineering where AI, software, and physical systems meet. I’m drawn to working alongside customers: integrating a product into their workflow, troubleshooting across hardware and software, and helping their teams use it well. Based in Lawrence, Kansas; interested in remote work with approximately 15–40% travel.