How effective is your research programming workflow?
July 2013 (perspective of a postdoc)
Inspired by The Joel Test, here is a simple 12-step checklist to determine whether you have an effective research programming workflow.
For my Ph.D. dissertation, I investigated research programming, a common type of programming activity where people write computer programs to obtain insights from data. Millions of professionals in fields ranging from science, engineering, business, finance, public policy, and journalism, as well as numerous students and computer hobbyists, all perform research programming on a daily basis.
Inspired by The Joel Test for rating software engineering teams, here is my informal “Philip test” to determine whether your research programming workflow is effective:
These questions are listed in order of difficulty: Any respectable researcher must answer “Yes” to the first few, but almost nobody (myself included) can answer “Yes” to the last few.
I won't make any specific tool recommendations in this article, since the optimal choice of tools will depend on your field and colleagues. However, I recommend for all computational researchers to learn about Software Carpentry online materials and bootcamps as a starting point.