By James Grant, University of Bath, Andrew Washbrook, University of Edinburgh, Louise Brown, University of Nottingham, Niels Drost, Netherlands eScience Center, and Andrew Bennett, European Centre for Medium-range Weather Forecasts
What can be termed as "coding" is a subset of wider software engineering practices such as version control, continuous integration and good software design. Coding is prevalent in academia but practices that allow sustainable software to be produced are frequently overlooked. Motivating the uptake of the approaches, methods and tools, and highlighting the benefit they deliver, by engaging with researchers who develop software is the first step in spreading best practice in our community.
In discussions with researchers, we find that the use of version control is often highlighted as the first methodology that they would like to introduce into their workflow. We would therefore like to 1) identify approaches that can promote the use of version control by reducing barriers from textbook to full integration and 2) highlight the wider benefits of the methods beyond traditional software development.
Software related courses at an undergraduate level tend to focus on code syntax and functionality with limited time spent covering software management practices. By including the use of version control as part of these training programs we can avoid much…Continue Reading