CppCon 2016: Alex Olivas “Turning Particle-Astro-Physicist-Hackers into Software Engineers"

Sign in to queue


Published on Oct 2, 2016

Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016

Want to increase software literacy in your organization? In this talk I'll present programs I've developed over the last year to teach C++ software engineering principles to graduate students and postdocs on the IceCube South Pole Neutrino Observatory. I believe similar programs could be beneficial to all types of organizations, from scientific collaborations to professional software shops.
IceCube is a kilometer-scale high energy neutrino observatory located deep in the Antarctic ice at the geographic South Pole. IceCube studies physics in energy regimes ranging from the most energetic processes in the visible universe (several orders of magnitude greater than the collision energies at the Large Hadron Collider), to dark matter detection at the 100 GeV scale. It is a relatively large collaboration, consisting of roughly 300 physicists and engineers from 48 institutions from a dozen different countries. IceCube has been collecting data for over 11 years (going into our 6th season with the fully completed detector) and is expected to run for at least another decade.
Many large scientific projects, which often run for decades, rely on code developed by hackers, who's focus and passion is rarely software engineering. Their primary passion, understandably, is the field for which they found themselves writing code. To make matters worse, the amount of work and focus required to secure a career in their chosen field often leaves little time and energy to devote to honing the skills needed to develop production quality code. Many students and postdocs often have, at best, a cursory understanding of the programming language(s) that comprise the experiment's codebase.
C++ has become the primary programming language for High Energy Physics (HEP) and will likely continue to be for decades to come. Consider, for example, that ROOT, GEANT, and Pythia to name a few critical HEP libraries are written in C++. Over the last year on IceCube, I've developed several comprehensive internal training programs in an attempt to bridge the gap between the scientist-hacker and the professional C++ software engineer. In this session I'd like to present the challenges I've encountered over the last year and my plans for extending these programs to the High Energy Physics community through the HEP Software Foundation.

Alex Olivas
IceCube Software Coordinator, U. Maryland/IceCube
I've been working for the University of Maryland at College Park for over 10 years on the IceCube project (a neutrino telescope at the South Pole), but am lucky enough to be able to work from the Rocky Mountains of Colorado. Though my background is in High Energy Physics, these days I focus mostly on software development as the head of IceCube's simulation group.

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com





Download this episode

The Discussion

Add Your 2 Cents