A key part of getting better at writing code for science is learning the right principles! There are lots of resources already for learning to code across different programming languages, both online and in courses, but many target a general audience with broad interests.
Coding in science is different because as scientists we have unique backgrounds and goals. Sometimes we start with significant quantitative or computing experience, but it's often limited to a single coding environment or problem setting. We don't want or need to become professional software developers. But we use and interact with and write complex software every day, whether to implement our experiments, analyze our data, or communicate our results. We also need to be able share our analyses and data, making it easy for others to reproduce our work.
The goal of this repo is to collect resources that will help everyone learn how to write scientific code in a modular, reusable, and reproducible way, across many languages and topics. We'll make an issue for each topic to collect thoughts and start discussions. Hopefully we can turn some into tutorials or interactive sites (e.g. using adventure time)!