How to organize code in Python if you are a scientist
Workflow for Reportable, Reusable and Reproducible Computational Research
If you work in computational research or data science and you don’t come from a Computer Science background, you probably generated amazing pieces of scientific knowledge, but the code you wrote to do it is not quite up to the academic standard. You might need a week yourself to make your scripts do the same things again. Even if you are an experienced coder, you might find it hard to do both the job of a developer and that of a scientist.
I have faced this challenge myself as a research student. Although I took classes in Software Engineering, I found it hard to divert from the research questions I was handed to think about how I can create useful tools out of my code. After some trial and error, I designed a recipe to help me make the transition seamlessly and now I use it in my exploratory work as a Data Scientist.
In this article, I share the way I organize my coding workflow, give you some tips and tricks and show you the tool stack I use. The goal is to make the transition from experimentation to tool development easier.