There’s a moment every scientist knows — you’ve been staring at the same data for hours, and suddenly the pattern clicks into focus. The noise resolves into signal. The chaos becomes information.
I’ve been thinking about that feeling a lot since I moved from a lab bench to a code editor.
The job that changed my mind
After my master’s in microbiology I went to Pfizer as a LIMS and quality systems analyst. My job was deploying gLIMS — a laboratory information management system — across production and R&D labs, for three departments.
On paper it was a compliance role. In practice, almost all of the difficulty lived in one gap: the distance between how a lab actually works and how the software assumed it worked.
Analysts had workarounds. Some of those workarounds were bad habits, and some were the accumulated wisdom of people who’d been doing the work for fifteen years and knew something the system’s designers hadn’t asked about. Telling those two apart was the entire job.
That’s when I realised I was more interested in the software than in the samples.
The overlap nobody expects
When I tell people I moved from life sciences to software, they assume it was a complete pivot. Lab coat to hoodie. But the longer I work in both worlds, the more the overlap looks structural rather than metaphorical.
Documentation. In a lab, your notebook is sacred. Every reagent concentration, every temperature deviation, every unexpected observation — written down, dated, signed. Not because anyone enjoys it, but because reproducibility is the whole point. A codebase only its author can understand isn’t engineering; it’s alchemy.
Protocol design. We didn’t call it user flow, but that’s what it was. A good protocol reduces error, saves time, and accounts for the moment when you’re eleven hours in and just need the next step to be obvious. That’s the same instinct behind an interface built for a tired, distracted, interrupted person — which is to say, every real person.
Not trusting a result you haven’t reproduced. This is the one I’m most grateful for. In a lab you don’t believe a number until you’ve seen it twice. The habit transfers directly: I don’t believe a fix works until I’ve watched it work, and I don’t believe a performance change helped until I’ve measured it.
Two years in between
I didn’t move straight across. I spent two years — 2020 to 2022 — teaching myself JavaScript, React, Angular and Node while still deciding whether this was a good idea.
The honest version is that it was slow and frequently discouraging, and the only thing that got me through was the same stubbornness that makes you re-run a failed experiment. Career changes are mostly an endurance problem.
Four years and a handful of shipped products later, I think the journey from microscopes to keyboards was shorter than it looked from the start. The tools changed completely. The way of thinking barely changed at all.