Code Review for Scientific Software: Experiences building an online tutorial

Series: HPC Best Practices Webinars is an online tutorial for code review made possible by the Better Scientific Software Fellowship. Code review is a skill. You can break it down, you can practice, and you can get better at it. The difficulty is you are often learning a bunch of other skills at the same time. Scientists are often working on a new scientific problem while trying to learn git, GitHub, a programming language, etc., all while someone ‘criticizes’ their code. In addition, scientific software developers may start work in a new and unfamiliar domain. It can be very difficult to separate criticism of the code from criticism of the person. Reviewing is hard; people truly need to take into account how to communicate constructive and actionable criticism. aims to provide a way to practice reviewing in a no-consequence environment using the tutorial. Experience with code review from the NCAR Software Engineering Assembly will be presented, including the positive and negative effects of code review.


Presenter Bio

Helen Kershaw is the Lead Software Engineer for the Data Assimilation Research Testbed, a widely used, open-source community software facility for data assimilation. Helen has a PhD in Mechanical Engineering from the University of Canterbury, New Zealand, and a Geophysical Science degree from the University of Leeds, UK. Helen has worked for a geophysical survey company that flew gravity and magnetic surveys and worked for several years in the Center for Computation and Visualization at Brown University before joining NSF NCAR. Helen is one of the 2023 Better Scientific Software Fellows.