Career · Systems 4 min read

From clinical lab bench to C++: what the switch actually taught me

Medical laboratory science and telecom software look nothing alike from the outside. Here's what carried over — and what I had to unlearn.

Before I wrote a line of production code, I ran clinical chemistry panels at a research center in Gabon and studied epidemiology in Sweden. On paper, that has nothing to do with C++17 or radio-network software. In practice, it shaped how I work more than any bootcamp or course did.

Data doesn't lie, but it does mislead

In a clinical lab, a bad result isn't an inconvenience — it changes what a doctor tells a patient. That forces a specific habit: before trusting a number, ask what could have produced a wrong one that looks right. Reagent gone bad. Sample mislabeled. Instrument drifting out of calibration without triggering an alarm.

That habit transferred directly to debugging distributed systems. A metric that looks fine can still be lying to you — the aggregation window hides the spike, the health check passes while the actual service degrades. I don't trust a green dashboard until I understand what it would look like if something were quietly wrong underneath it.

Protocols exist because memory fails under pressure

Lab work runs on checklists and protocols, not because the people running them are careless, but because everyone is fallible under time pressure and repetition. The first time I saw a well-run CI/CD pipeline with mandatory checks before a merge, it felt familiar — not as bureaucracy, but as the same insurance policy against human error I'd relied on for years.

What I had to unlearn

The biggest adjustment was speed of iteration. Lab work is deliberate by necessity — you don't get to "quickly try" a different reagent concentration on a real sample. Software lets you experiment cheaply, and for a long time I under-used that. I've had to actively practice writing a rough version first and refining it, instead of trying to reason my way to the right design before touching the keyboard.

Why this matters for where I'm headed

I'm finishing a master's in AI/ML at UCF now, and the same instincts apply again. Model outputs are numbers that look authoritative whether or not they should be trusted. The question I ask of a clinical result — what would make this look right while being wrong — is the same question worth asking of a model's prediction before it ships.

Different bench, same discipline.

All posts