Mind to Market

Monday, August 27, 2007

Programming Biologists

In an interview for the blog Blind.Scientist, Alexei Drummond gave his opinion on the difference between developing software applications in academia and in the private sector. Academics develop software "for the love of it" meaning: "for themselves" and secondarily for others he said. Software developed by private or commercial enterprises is primarily developed for use by others but the issue here is keeping the software abreast of the science.

Drummond should know the difference, he has worked in both academics and in the private sector as the Chief Scientist at Biomatters, a bioinformatics company he helped found. During his tenure in academia, Drummond found himself in the position of being one of the only people in his department who could program and thus was frequently recruited to write scripts to help the other scientists in their research. Although this role can be quite satisfying, it distracts scientists from their research and can lead to a career shift as Sandra Porter points out.

Can a biologist learn to program and remain a true research scientist? Some basic scripting language skills are becoming a normal part of the science education process but when the primary purpose of these programs is to enable others' research, you cross a line between biological research and professional programming. Not that this is a fine line, it's actually very wide, and most research scientists will find it quite difficult to cross it unintentionally. Determining just how much programming is enough and when to call in a professional is a difficult one, especially if the solution to your research problem is only one script, or database, or programming language away. As Drummond says "I used to program ten different languages very well." Ten?!

It will become all too apparent that people who spend their entire day (or career) thinking in software development terms will have developed more refined skills and higher productivity than those that only dabble in programming. Don't forget that many of the more refined skills that programmers develop are to make applications easier for others to use. These are skills that most programmer/scientists will never need so don't worry if you have less than ten years of experience under your belt.

Having no programming skills does put one in at a disadvantage in an age where software is becoming commonplace. Relying on a third party to accomplish even rudimentary tasks can be frustrating as well as inefficient. Lacking programming skills also makes communicating with programmers more difficult, adding complexity to an already inefficient process.

Labels: , , ,


Post a Comment

Subscribe to Post Comments [Atom]


Create a Link

<< Home