2016 - 2019 · Software Engineer → Team Lead → Engineering Manager
Epic Systems
Led two engineering teams at Epic: Patient History, through a full rewrite, and Provider/Nurse Scheduling, the primary clinical entry point in Epic's Ambulatory product.
Context
Epic's software runs a large share of US hospital care. I joined the History team in 2016 as a developer, took it over as team lead fifteen months later, and in 2019 added a second team, Provider/Nurse Scheduling: the primary clinical entry point for Ambulatory users. Work at that position in the product reaches thousands of clinicians on release, and there is no quietly rolling back a data model decision once customers have years of patient data sitting in it.
The hard part
Rewriting a live clinical system
Patient History was rewritten under my team. The constraint on a rewrite in this environment isn't the new implementation, it's that every customer has years of accumulated patient data in the old one, thousands of clinicians depend on behavior they already know, and there is no maintenance window where a hospital stops seeing patients. It shipped with minor issues and no significant breakage, which is the only outcome that counts for a system in that position.
A shared-instance deployment model for small hospitals
Owning Epic was economically out of reach for small customers. Working with the head of R&D alongside Sales, Legal, Technical Services, and Implementation, I helped develop a model placing multiple small customers on a single instance. An existing model let a large hospital extend its instance to smaller members in its community, but concentrated the IT and governance burden on that host. What we built kept the same underlying code path while distributing operational ownership across members, making it viable for customers with no host to attach to.
Also at Epic
Identity data propagates everywhere
Epic overhauled preferred-name handling as part of a broader identity initiative, and the change generated escalations. A patient's name isn't one field, it surfaces in scheduling, chart headers, printed documents, patient communications, and dozens of downstream integrations, and different health systems had genuinely different clinical and legal requirements for how it should display in each of those places. Any single global default was going to be wrong for someone.
I was assigned to coordinate the R&D response. The design I landed on was a low-level override that let an organization keep the legal name visible throughout the system rather than rush through a review of more than 10,000 configurations before its next upgrade. Over 30% of the customer base adopted it, and it stopped being an escalation driver.
Engineering management
Two teams, up to 7 developers. Reduced the QA backlog by 80%. Ran quarterly staffing reviews with the product lead across every Ambulatory workgroup on a fixed template: quality, project progress, and team hours and happiness. Implemented Scrum for the History workgroup. Interviewed developer candidates for R&D.