Scientific Programmers, Programmers, Where Art Thou, Scientific Programmers?

Okay, bad attempt at a literary allusion.

But it's a question that we've been talking about around here, and to a lesser extent with some of the folks we know: where are the scientific programmers?

Of course, there are scientists who program out there. I've talked about them (and put myself in that group) in other posts, and perhaps in not the most flattering of terms. I'm wondering about a different breed of programmer. One who has a background in both science and programming. One who can solve an ODE as well as use a DVCS. I'd like to think after 15 years of scientific education and programming experience, I'm now in that category.

There are plenty of tools out there for scientific programming, from SciPy to the statistical programming languages all the way down to the CERN C++ physics packages. But it seems to me that there isn't a commensurate number of people who do both programming and science at the same time.

The scientists I know who now program tend fall into two broad groupings:

  • Researchers who program in the context of their research. These folks might follow decent software development practices, but then again, maybe not. It's these folks that Greg Wilson's Software Carpentry courses target.
  • Science grad students who've gone on to work as programmers in non-scientific fields. For example, I worked as a developer for a start-up involved with compiler build engines. Other friends work as the dreaded "quants" for hedge funds and investment firms,

The truth is I haven't met too many other people in the scientific-programmer category. Even looking somewhere like the Fermilab Computing division, the front page list of scientists are all experimentalists (a number of whom I have worked with, all of whom are excellent scientists) who list their physics projects instead of programming projects. None of the programming types get top billing. Perhaps that is part of the problem. If you are interested in both science and programming, you're seen as not as serious as a pure scientist.

Looking at Google, there seem to be a few Masters level programs for scientific programmers, and perhaps they are out there. Maybe this is a Spolsky problem, in that they are all gainfully and happily employed, and don't do networking (at least here in Toronto). But I'd like to know where the scientific programmers hang out.

They're All Around Us

According to the survey we did in 2008 (full results at http://www.cs.utoronto.ca/~gvwilson/articles/how-scientists-use-computers-2009.pdf, shorter and more readable summary at http://www.cs.utoronto.ca/~gvwilson/articles/amsci-survey-2009.pdf), scientists who program are all around us---it's just that many of them don't think of what they're doing as programming, and most of the result haven't ever been taught how to program well. In my experience, their real problem is "unknown unknowns": they don't know enough to know what should be easy, what's impossible, etc.

Post new comment

The content of this field is kept private and will not be shown publicly.