"If you're not working on your best idea right now, you're doing it wrong."
- David Heinemeier Hansson
Raw data. Expected output. Try to find software that transforms the first into the later. Find nothing. Code. Rinse and repeat through twenty some years and you got the life of any bioinformatic ever existed. And I am not different than that.
I started coding in my teens, tinkering with BASIC, C and some Assembly. Some years passed and for some reason I graduated in biology instead of CS. Luckily for me, as soon as I got my degree, huge amounts of biologic data started pouring into the field so I could fully exploit my programming hobby while being paid to do it.
One of my first tasks was to analyse the first twelve released genomes of Drosophilas. While everybody in the field was using and recommending Perl, I chose Python over it, C or Java. It was cleaner. It was elegant. Bruce Eckel (https://www.mindviewllc.com/), from whom I learned Java with "Thinking in Java" recommended it. Flash forward fifteen years, and everybody is using either Python or R. Jackpot.
A few years later I took a detour into biochemistry, putting together a server to model and simulate GPCR membrane proteins. Walking that path showed me how to set up a complex server, from the bare metal to the internet frontend, while talking to a huge supercomputer that run the simulations in the background. It was fun and the freedom Hugo allowed gave me the opportunity to use Django and PostgreSQL for the first time. They served me well on those days, and still do today.
Afterwards, I worked for some years at a clinical lab focused in human genome sequencing. What could seem as a chance to develop new software, ended up showing that clinical environments tend to lack freedom to experiment. Different skills were needed. It turned out to be a machine to churn out genomic data ready for analysis. The fun part was limited to polish the pipelines in terms of efficiency, both in speed and in memory usage. With time I learned how to be a piece of an assembly line dedicated to turn fresh blood into genetic advice. Also, the tooling was vastly different from what I was used to do, and I started to refrain from coding and do more glueing of "accepted" and rock solid software. Good practices for the win. Luckily for me I found a new toy, Nim (https://nim-lang.org/), which I used extensively to grease some parts of the pipelines while learning something new from the ground up. Daily plumbing, shell honing and minute optimizations were the major pieces of the game.
Currently I'm working at GenPob. A huge shift. Judging by the cover it may seem more of the same old friends: genetics and NGS. But data comes non-stop from any source and in any imaginable shape needing to be transformed into conclusions. Fast. And reliably. Thinking beats resources every day. In the course of the same journey you can work on genomics, transcriptomics, epigenomics, human, zebra fish, cell cultures, bare metal servers, a new sequencer, concertos (not even joking)... blink and you'll miss something important. Pure madness. And I dig it.