Careers in biotechnology, part VI. More opinions on bioinformatics in a software company

I'll continue with the remaining parts of my career series shortly, but for the time being, I want to bring your attention to a really good post on doing bioinformatics as a software professional, and some commentary on the question that never seems to go away: "do biologists need to be able to program?"

Thanks to GenomeWeb.

tags: , , ,

From Paolo Nuin, we have a great interview with Dr. Alexei Drummond, author of BEAST, about his experience moving from academic biology to professional software development.

Many of the points that he made resonate with my experience in a software company. If you're interested in this route, I highly recommend reading the interview.

Here's a taste:

...software development isn't science -- but science now crucially relies on software development and support.

GenomeWeb also cites Neal Saunders (I'm a biologist Jim, not a programmer), who does bioinformatics in an academic lab. Neil seems to think that everyone should learn Perl.

I think everyone should learn biology, and understand controls. As far as biologists learning programming, well, I have lots of opinions on that, but I'll save them for a later time.

Pawel Szczesny at Freelancing science has some interesting comments as well, but be sure to read what Deepak has to say. I always enjoy reading his posts because he seems to be much more connected with real world practical issues than most of the bloggers I've read.

More like this

"... he seems to be much more connected with real world practical issues than most of the bloggers I've read.".

I am not pretty sure my wife will agree with that :)

On a more serious note, it's a question of priorities. It's the reason, as a theorist, I liked knowing how experiments were done and what the variables were, so that I could better understand the implications. But I never actually any of the experiments (keyboards are much better than transfecting plates).

If, by programming you mean being able to put together and understand 100 lines of workable code in Matlab or Scilab, R, Perl, Ruby or similar, then yes, anybody who's in the sciences does absolutely need to be able to program. I would possibly grandfather in older, senior scientists who alternatively needs an attentive graduate student/assistant that can program. Doing small-scale coding is not only vastly more efficient than doing data analysis and simulation by hand, it's also a good, compact way to transfer knowledge about models and analysis methods.

If you mean the practice of software development at large - being able to design and build sensible 10k+ line systems; use and understand C/C++/C#/Java in addition to scripting languages; do real-time software; get design patterns - then no, most scientists does not need it. Of course, if you happen to be able to do it in a field where most don't then you probably have a pretty nice employment edge.

I agree with Janne, the questions is not "whether a biologist should learn some basic scripting skills, something about algorithms-data structures and multivariate analysis", but "how long the researcher can avoid above things".

I think it's unfair to biologists to be expected to learn programming if they don't want to. Of course, they will have to use computers, but their hands are full learning the techniques that they have to use in the lab, and they keep changing, since assay technologies are constantly changing these days. No one expects a computational biologist to learn PCR.

I'd rather we help biologists out by taking away the abstractions of scripting, etc and building toolkits that let them do what they do best; ask biological questions, analyze their results (probably using a computer) and trying to develop more robust and powerful experimental methods. There will always be those who will program and script and I envy them, since they can do what many of us can't.