In 2022 I was a software engineer at DeHaat, wiring SAP to bank APIs so vendor payments would run without a human touching them. In 2026 I spend my mornings at a micromanipulator doing ICSI — injecting a single sperm into a single egg — in an embryology lab in Chandrapur, Maharashtra. People assume these are different careers. They are the same job with one variable changed: the cost of being wrong.
No rollback
Software engineering, as practised at any decent company, is a machine for making
mistakes cheap. Version control, staging environments, feature flags, canary deploys,
git revert — the entire discipline is built on the assumption that you will be wrong,
often, and the system should absorb it.
An embryology lab is built on the opposite assumption. When I thaw a vitrified embryo, there is no staging environment. When a transfer happens, it happened. The couple in the consultation room has usually waited years, borrowed money, and told nobody. There is no incident retro that makes them whole.
You’d think this would make lab work terrifying, and at first it did. But the deeper lesson was that irreversibility doesn’t make careful people slower — it makes the system around them stricter. Which brings me to checklists.
The lab is a better engineer than I was
Everything in a well-run IVF lab is what software calls “boring technology, aggressively applied”:
- Double witnessing. Every gamete movement is verified by a second person. Not sometimes — every time. Code review, except skipping it is unthinkable.
- Chain of custody. At our clinic, eggs, sperm and embryos never leave the registered facility. One facility, one registry entry, no hand-offs. It’s the same reasoning as owning your whole pipeline instead of passing data through three vendors — every hand-off is where things get lost.
- Environmental monitoring. Incubator temperature, gas, pH — logged continuously. The lab had observability before I knew the word.
- Protocols over heroics. The best embryologist on a bad process loses to an average embryologist on a great process. Software knows this (“don’t blame the person, fix the system”) but mostly says it after an outage. The lab says it before.
When people ask what qualifies a software engineer to run a clinical lab, this is the honest answer: I didn’t bring engineering discipline to the lab. The lab already had more of it than most engineering teams I’ve seen. What I brought was the ability to extend that discipline past the lab door — into scheduling, records, follow-ups, pharmacy stock — where healthcare is still running on paper and memory.
What healthcare operations looks like from inside
Here’s what surprised me most: clinically, small-town India can absolutely deliver metro-grade fertility care. The protocols are published. The equipment ships anywhere. The training exists.
What fails is everything around the medicine. The patient who didn’t come back because nobody called. The register that satisfies the ART Act but tells you nothing about your own lab’s trends. The medication that expired on the shelf. The couple who never walked in because the clinic has no website, and the only information in Marathi about IVF is a WhatsApp forward that says it causes cancer.
None of these are medical failures. They’re operations failures — and operations failures are engineering-shaped problems. That conviction eventually became a company (Lumen), but it started as a list of small indignities I kept fixing one at a time.
What each side should steal
What healthcare should steal from software: blameless post-mortems (medicine’s M&M conferences are close, but fear of liability keeps them defensive); the idea that any process done twice should be automated or at least instrumented; and dashboards that answer questions before the monthly register does.
What software should steal from healthcare: double witnessing for anything irreversible (two humans, not two clicks); the humility of protocols — the checklist doesn’t insult your skill, it frees your attention for the parts that need it; and the discipline of never claiming an outcome you can’t document. A clinic that advertises an unverifiable success rate can lose its registration. Imagine if landing pages were held to that standard.
The variable that changed
I said the cost of being wrong is the variable that changed. Let me be precise about what that does to a person.
At DeHaat, I was proud when things worked. In the lab, pride is the wrong emotion — what you feel when a cycle goes well is closer to relief, and what you feel walking in every morning is the weight of the vials in the nitrogen tank, each one somebody’s entire hope, waiting.
Software engineers talk about “owning” systems. You don’t know what owning a system means until the system is a −196°C tank, and the disaster recovery plan is you.
I still ship code at night. But I write it differently now — like someone might be waiting on it for years.
Thoughts, corrections, disagreements: email@aayushagarwal.dev. More in the writing index.