About
One career in three parts: consultant, regulated-software engineer, applied AI engineer.
I got my start in software in the fall of 2011 as an engineering intern in the machine vision group at Hutchinson Technology, porting inspection software to 64-bit and working directly with the people who used it. A few months later I joined Magenic, a Microsoft-focused consultancy in the Twin Cities, as an associate developer, and I stayed for seven and a half years. Consulting meant a new client and an unfamiliar codebase every few months, across payments, insurance, audit and tax, financial services, travel and entertainment, and it taught me to get productive quickly and to own a piece of work from requirements all the way to production. Along the way I moved from Minnesota to the San Francisco Bay Area, was promoted four times to senior consultant, led development on several engagements with offshore teams, and was named the Magenic Delivery Center's 2014 Consultant of the Year.
Toward the end of my time at Magenic I consulted for Genomic Health, and in 2019 I joined them full time as a senior software engineer at Genomic Health / Exact Sciences, where I led a team of junior engineers building an Angular application for clinical approvals, the work that let the company take its cancer diagnostic products into new regulatory markets. That was my first real taste of software where a quality engineer sits in the requirements meeting, and it turned out I liked it.
In May 2020 I joined Cellares, a young company building automated manufacturing for cell therapies, and spent the next six years there. I wrote the first commit on the service that defined manufacturing processes, built the admin application that carried the company's 21 CFR Part 11 audit trail, and then moved over to the instrument-control software, where I made the second commit in a brand new repository in early 2023 and was still its top contributor three and a half years later, when I left. I became tech lead for that team, held office hours most days to help other engineers get unstuck, and designed the real-time pipeline that streams live instrument data to the browser.
In my last year at Cellares I moved into applied AI. We were building an AI-assisted quality management system, and in a GMP environment “it feels better” doesn't clear the bar, so I built the evaluation harness first. Ten controlled experiments later the system was finding the right procedure about 8 times in 10 instead of 3, the one failure mode that really mattered had gone to zero, and two of the textbook improvements I expected to work had been measured, found worse, and dropped. That last part is my favorite.
I live in Minneapolis, Minnesota, and ride bikes long distances when I'm not at a keyboard. I write here about what I'm learning in AI and software development, mostly the parts that didn't go the way I expected.