- Collaborative web-based development with GitHub, Gitlab and Redmine
- To work with ipython
- Tests: Unit tests, regression tests, test driven development
- Continuous integration
- To express dependencies with spouse
- To build portable software with CMake
- Toolbox for adoption of a profile and code optimisation
- To handle complexity with functional programming
- Toolbox for debugging
- Modular programming and development with mixed programming languages
- Documentation of source
- Packaging, distribution and release of software
- Survival guide to work with older code
Distributed version management with Git