I spent four years at MD Anderson developing and validating multiplex immunoassays before I became someone who mostly writes code. People sometimes describe that as a career change. It did not feel like one. It felt like following the same question further downstream.
You cannot separate the data from the assay
At the bench, you learn that every number has a history. A protein level is not a fact; it is the output of a plate, a batch of reagent, a technician, a day. Two samples run a week apart are not strictly comparable until you have done something about it.
When I moved to analysis, the habit stuck. The first question I ask about a dataset is not "what does it show" but "how was it produced, and what would systematically distort it". That instinct has saved me from more false positives than any statistical test.
Batch effects are not a nuisance parameter
Normalising protein levels across a hundred-plus patient samples taught me that batch structure is often the strongest signal in a dataset. If your grouping variable happens to correlate with run order, you will find a beautiful, highly significant, entirely artefactual result.
The fix is boring and it is procedural: know the randomisation scheme before you look at the outcome, and plot the covariate structure before you plot the biology.
Controls are a form of argument
In a lab, a control is not a formality; it is the sentence that makes your claim defensible. Computational work has the same requirement and less enforcement. Nobody stops you from running a differential analysis without a negative control set. The permutation, the shuffled-label baseline, the held-out cell type: these are the computational equivalent of the blank well, and they are just as non-optional.
What I had to unlearn
Two things, mainly.
- Scale changes what is expensive. At the bench, each measurement costs real money and time, so you plan carefully and run few. In computation, running the analysis is nearly free, which makes it dangerously easy to run it fifty ways and report the one that worked. The discipline has to be imported deliberately.
- Reproducibility means something stricter. A protocol says "incubate for one hour". A pipeline has to say which version, which reference genome, which random seed. My first analyses were not reproducible by that standard, including by me, six months later.
If you are considering the same move
The wet-lab background is an asset, not a deficit to overcome. You already know what a real experiment looks like, what a plausible effect size is in your system, and when a result is too clean to be true. Those are the parts that are genuinely hard to teach.
What you have to build is the engineering half: version control, workflow management, and the willingness to write your analysis so that a stranger (or your future self) can run it from scratch and get the same numbers.