Teaching basic lab skills
for research computing

2015 Election: Ivan Gonzalez

I've been an instructor since September 2013 and have taught 10 workshops so far. I'm finishing a master's in Science Communication and work at the Martinos Center for Biomedical Imaging. I would propose three things to the new Committee: improve our outreach and communication strategies, expand Software Carpentry to other regions and languages, and strengthen the mentoring program for new instructors.

I'm probably one of the least computer-inclined instructors in the whole pool. Back when I was doing my BSc in Physics in Spain, I didn't like computers much. I got my first one as a freshman and the only programming class I took was an awful intro to numerical analysis in FORTRAN.

Two years in my PhD, I realized computer simulations are handy in real life and that the elegance of the analytical approach comes also with some vacuity (cows are not always spherical, you know). I implemented a Monte Carlo in Mathematica and felt proud. My Russian friend Alexei thought different ("Mathematica is a black box!") and encouraged me to learn a "real" programming language. I took a class on C++ and discovered that programming is pretty.

Armed with my new vision and class, I took a post-doc at Oak Ridge National Lab in a computational physics group to work in a new algorithm that gives exact solutions for quantum systems with reduced dimensionality. I also thought that programming would be handy if I ever had to apply for a real job.

After couple of weeks in Oak Ridge, a fellow postdoc handed me a toy C++ implementation of the algorithm. I never told this to anyone, but I spent that day trying to compile it using gcc instead of g++. (Short story, doesn't work).

From this start you can imagine the pain: countless hours in the vicious cycle of writing buggy code, throwing it to the compiler, which inevitably buried me with errors or seg faults. I got everything working nicely at some point and became a "competent programmer", but I still doubt whether it was worth it.

Years later, I found out Software Carpentry on the web. I started devouring Greg's videos and wondering why nobody had told me all that before. I learnt lots, realizing I wasn't as "competent" as I thought.

The truth is many still think that computer skills is something that scientists have somehow built in. That's why I would ask the new Committee to improve our communication strategies. I think we need to reach out further and to different audiences, not only scientists looking to improve their skills, but also lab managers, program administrators, university departments, and the press. And maybe to other groups: there had been workshops for librarians, but what about data journalists?

Like Raniere, I would like to expand Software Carpentry geographically. Most workshops happen in English-speaking countries, even outside North America: there was a bunch in the UK, but just one in Spain. Sure is because of the awesome people pushing in these places like Aleksandra, Giacomo or Damien, but I also think that the language barrier comes into play. I'd like to push translation of Software Carpentry materials, continuing the on-going efforts in Portuguese and Spanish.

Lastly, as many other candidates, I want to strengthen our mentoring program for new instructors. When I taught the first times, I felt a disconnect between intructor training and what's needed in a real workshop. With more new instructors coming and others teaching after a while, a stronger mentoring program would be beneficial for all.

SOFTWARE CARPENTRY FOUNDATION · ELECTION 2015

Dialogue & Discussion

You can review our commenting policy here.