The other problem is tougher – science needs funding for dedicated software engineers, and they prefer to use that funding for actual scientists.
The article is right about many of the issues with code quality in scientific settings. Having worked on both sides of this issue, I don’t think this is the right solution. A collaboration between software development experts and science experts is often a good thing, but simply hiring software developers into science labs is problematic. The problem is that the software development process can be broken down into three broad steps (1) solving the problem, (2) figuring out how to translate the solution to code and (3) the mechanics of coding. Having separate people do (1) and (3) leaves a problem of how you do (2). Having software engineers with no domain knowledge do (2) is difficult because it’s mostly a translation exercise, and translating is difficult when you don’t know one of the ‘languages’.
On the other hand, having professional software engineers build tools, libraries and systems can be very productive. MATLAB, ATLAS and FFTw made my own research much easier, for example.
I’m just curious if there are any open-source projects that anyone knows of that could particularly benefit from having some extra help!
NMatrix ( https://github.com/SciRuby/nmatrix ) for Ruby is one I’m aware of that I believe is always looking for active contributors.
i’m in the process of getting Numerical Haskell ready for release, which I hope will provide a path towards eventually improving the state of mathematical/numerical computation. Thats said, will be a anther few weeks before its “easy” to jump in and help contrib.
All of them?