"I joined CANARIE’s Research Software program more than three years ago after a long career in commercial/industrial software development. The experience so far has been eye-opening. At the implementation level, software development in an academic environment is pretty much the same as software development in a corporate environment. The environments that corporate and academic software developers work in, however, are very different.
As corporations focus on profitability, they continually look for ways to make software development extremely efficient. Despite the differences in environment and goals, my observation is that there are some commercial development techniques that can be easily adopted by academic software developers. There are no doubt lessons that corporate software developers can learn from the academic community as well, but I’ll leave those for someone whose career has gone in the opposite direction of mine to explore. This post focuses specifically on research software – software that is designed to support scientific research in an academic environment."