There is almost always one question that I receive when someone finds out both what my research is and that my background is in biology. That is 'So when did you start programming?’, with implication that the answer should be when I was a child. The answer is really that I started when I joined the Amaral lab, 4 years ago. To be fair, I had fooled around with programming and tried to learn because I sensed the importance of it since high school but I had never actually “learned” anything.
In truth, I never actually even liked computers as a child. We had one computer and my sister spent most of her time on it, using MS Paint, playing games, or later AOL chat rooms. The extent of my use really stopped at looking up NBA player statistics and typing up essays (my handwriting was atrocious and this was more or less made mandatory by my teachers for longer essays). I really didn’t see the appeal of using computers and preferred to do things by hand. This continued all the way through college actually, I shunned using Maple or Matlab and chose to do all math homework by hand. Oddly enough, I really enjoy building computers and spent a lot of time doing this during high school. But my love for building and computer hardware never really transitioned into even a liking for software.
So what changed? Somewhere during my undergraduate research I really became infected by this idea that I really wanted to build something to cure what ails us, pick a disease really but I always thought of it in the context of HIV. For the longest time I really did believe in the way things were done; that if you found out what made something tick (the virus), found the structure and the appropriate active site for the protein that ticks, and then designed an appropriate chemical or peptide mimetic that you would have then cured the disease. But as I kept looking at the problem as time went on I realized that carrying on in this fashion doesn’t always work, that there isn’t always a magic bullet because we are dealing with things that change over time. Now that’s not to say that the therapeutics that have already been developed for HIV aren’t effective, they are, it’s just that I was far more interested in understanding something enough to cure it than I was in ameliorating it.
This made me shift my thinking to systems and systems biology, that we would have to not only understand what made something tick as a first order approximation of its function but also what biological processes it relies on. In an even more complex fashion how do changes in the environment cause changes in the virus or organism and to what extent does this feedback change the virus? If we understood how a biological or evolutionary response could be processed could we then predict in what way the virus would be changed and figure out a course to preemptively attack against it? At this time I was taken in by the pretty pictures of Protein-Protein Interaction networks and, somewhat foolishly, thought that if we could know that much about something then we could figure it out.
So I decided to switch when I came to Graduate School and I can honestly say that learning how to program has been the least of my difficulties. The harder problem is still my research and trying to figure out how to use biological networks to tease out something informative and relevant about biology and evolution itself.
If anything programming has been a boon to me scientifically, not only because of the enhanced skill set it brings (and not just the fact that if I burn out I have a chance in hell of getting a real job) but also because of the way it’s changed how I think. I used to live almost exclusively in the world of thinking about concretes, but now biology is an abstract process to me. I spend my time thinking about hypotheticals and possible de-identified ways of processes working together. I don’t really concern myself with protein or gene names anymore, I know that those can be grafted on later to make an abstract process concrete. The real benefit is that I spend my time thinking about biology as biology, trying to extract some sort of intuition about how it functions so that hopefully one day I’ll have enough to figure out how to bend it to my will.
We will (hopefully, barring any major accidents, Parkinson’s disease, or a botched attempt at achieving a transhumanist ideal) always have hands that work, that can pipette and put plates into a reader. But we’re not guaranteed the ability to think about what we do and how it interacts in the greater realm of cellular processes unless. That takes effort and trying.
So if you can’t program and you do research, you should. It’ll be the most productive week that you’ll ever spend in terms of your research over the long haul (either because of broadening horizons or the ability to analyze biological data in a sane way). And that’s the honest truth. I “learned” programming in my first week in the lab, because I had to and that was enough to get off the ground. Asking questions and accepting failure as a route to learning have taken me to where I am now.