Teaching basic lab skills
for research computing

2016 Election: Jonathan Guyer


My training is in Materials Science and Engineering and I have done both computational and experimental research in fields like semiconductor crystal growth, electrochemical interfaces, and additive manufacturing. I co-authored the FiPy partial differential equation Python framework to support my simulations and to enable others to use these methods. I have spent my professional career at the US National Institute of Standards and Technology and been leader of the Mechanical Performance Group for the past two years.

I learned of Software Carpentry when Greg Wilson gave a keynote talk at SciPy 2014. I’d been invited the following week to teach at a summer school about the thermodynamics of phase transformations in materials and the use of FiPy. I told Greg afterwards that I wished I’d had enough time to adjust my course materials and approach to reflect some of the ideas about effective teaching that I’d learned from his keynote and Lorena Barba’s.

While there wasn’t time for that, Greg encouraged me to sign up for the next round of instructor training. For the first few weeks, I continued to view this as a way to become a better teacher in my own discipline, but didn’t see myself as a Software Carpentry instructor, per se. With time, though, I realized that SWC covers exactly the skills we struggle to impart to our summer interns every year. Further, I had to admit that many of my colleagues (and I!), did not use computers as effectively as we could, even though many of us are quite adept at scientific computing.

In the year since finishing instructor training, I helped at a workshop at the US National Institutes of Health and then was asked to teach a subsequent course there with Fan Yang and Adina Howe. Since then, I’ve organized and led two workshops at NIST and have people asking for more. I am focused now on building a cadre of instructors at NIST to sustain the effort.


I will support the Foundation in any way the membership thinks I can be helpful, but I am particularly interested in ways to foster continuing engagement with our audience. We have helped (considerably) more than 10,000 people use computers more effectively in their research, which is wonderful. On the other hand, I currently see 332 formal Foundation Members. Somewhere in the wide span between those figures is a group of people who are actively using what we teach, but who will never become badged instructors. I would like to look for ways that we can bolster and encourage those people to continue building on the bootcamp skills, using them in their day-to-day work, and staying engaged in Software Carpentry.

One approach I’m thinking about is some form of refresher training or hands-on workshops where we help SWC graduates put what they’ve learned to practice on their own research. I’m already starting to develop this concept where I work, but I see a much broader potential to ensure that Software Carpentry isn’t just a one-time thing, but an ongoing resource.

You can email me at guyer@nist.gov or jab a fork at me on GitHub.

Dialogue & Discussion

You can review our commenting policy here.