From the workshop to the workstation: Software Carpentry training from a bioinformatics perspective

Rob Davey is a group leader at the Genome Analysis Centre (TGAC), Norwich, UK. He has a BSc in Microbiology and a PhD in Bioinformatics, and enjoys the challenges of solving problems through programming and algorithms. He is a firm open source, open data and open science advocate, with a recently-discovered deep desire to help train researchers in best practice for bioinformatics. You can follow him on Twitter, and he has a blog on WordPress.
===

Slightly tardy, I’ll grant you, but I’ve finally been able to put some thoughts to paper about the recent Software Carpentry instructor’s training in Toronto. The venue couldn’t have been more apt: the Mozilla offices. Bright and airy (when it wasn’t raining outside), the atmosphere helped the ~40 attendees from all walks of life (iOS developers, librarians, biologists, computational chemists, full-time trainers and relatively boring old bioinformaticians like myself). Greg Wilson and Warren Code ran a tight but relaxed ship, and the training throughout the 3 days was intensive but creative and, dare I say it, fun.

I can’t help but reiterate some of the points in other authoritative accounts of the workshop, but I’ll do my best to put my own spin on a couple of aspects:

Motivators and demotivators for learning

Coming from a programming background, I know only too well (and am guilty of it myself) of not understanding motivators and demotivators for learning. We were asked to reflect on scenarios when we had been motivated and demotivated, and share them with the group. It’s interesting how similar in principle some of the responses were. Here are two of my favourites:

Demotivator:

The words “just”, “simple” and “easy” are bandied toward novices by technologists, not necessarily out of a true sense of superiority but definitely out of a lack of understanding of the novice’s accessibility to knowledge to work on the task at hand. Presenting the task as simple implicitly punishes the novice when they don’t understand or don’t complete the task, through no fault of their own, and breeds the impostor syndrome. This is an incredibly strong demotivator, and one that I will definitely attempt to eradicate in my own training. Computer science, like so many other disciplines, is full of incredibly clever people, who in this case write some incredibly hardcore code and develop complex engineering solutions. These traits are often piggybacked by others that result in an inability to convey their knowledge, borne out of frustration that novices don’t pick up things as quickly as they do.

In terms of programming, I’ve seen this many times, particularly in overtly hostile environments like message boards and IRC chatrooms (not to single any out, but ##java and #python on freenode can be particularly vicious sometimes). However, I rarely see this in the wider bioinformatics field, which is heartening. We tend to be a welcoming bunch and love the thrill of the challenge rather than stifling innovation and learning, which bodes well for the continued success of Software Carpentry in this area. As I wrote in one of my previous blog posts, for the vast majority of the time bioinformatics isn’t magical wizardry but simple application of some basic principles, and this is a key idea to convey to budding bioinformaticians and “computationally active” biologists. Everyone has the ability to learn the basic concepts to help them analyse, organise and describe their own data, and the typical legacy IT mindset of “I have power because you’ll never understand what goes on here” is thankfully waning.

Motivator:

The notion of removing glass ceilings was warmly received by the attendees, and this can be a very powerful motivator to learn, particularly in those groups that are typically targets for discrimination. What better motivation than to be able to freely practice, hone and employ your new-found skills in an uninhibited environment? “Free range learners”, i.e. those that choose to attend a course rather than attend through obligation, become repositories of experiences and outlooks that can help the instructor to deliver fair training, and fair training is a vital goal in my opinion. The beauty of Software Carpentry is that it starts at the very beginning, taking novices through areas they may or may not have experienced before, leaving no-one behind. The sticky note traffic light system (green for OK, pink/red for not OK, and blue for questions/interjections/any other mysterious third option) is excellent for quickly making sure everyone in the room is able to continue, and if not, help is available without disrupting the rest of the course. The “loosely-linear” (“somewhat-sandbox”?) nature of the materials means that those with more experience can scoot on ahead without feeling patronised.

Being able to take a group of novices from a variety of backgrounds, genders, races, sexual orientations and all the other unwarranted social compartmentalisations, leaving all of these descriptors at the door, and delving into what makes operating systems, programming languages, and hacking around with data useful and fun, is such a great part of Software Carpentry.

Realising your own training style

One of the more uncomfortable aspects of the workshop was a whole day dedicated to preparing for and delivering 5 minutes of training on a subject of your own choosing to two other attendees (most of whom you’ve just met), and being videoed. I’ve presented many times about my work, but this is a very different feeling. The videos weren’t to be shared around and were only for the benefit of the individual, but it highlighted for me a desire to improve the way I deliver materials. In Aleksandra’s post, she concisely makes reference to the exercise we undertook to create concept maps for a chosen subject (we chose “objects”, as in object-oriented programming) whereby concept maps are pretty useless for reference material, but very useful for focusing one’s otherwise associative ethereality into concrete concepts for learning. I have a very clear idea in my mind what an object is, but capturing this in about 5 or 6 concepts with simple relationships to form the basis for teaching materials is actually really hard. I can recommend that you try this for a few small areas of your research to see how the gulf between your brain’s connections and getting these out into a format to be used to teach is pretty massive.

In terms of bioinformatics, these exercises are helpful for personal training style development to deliver materials in what is a highly technical domain. Focusing a programmers brain away from code wrangling into delivering concise information for novices is tough. Luckily, Software Carpentry already has done a lot of the hard work and produced a huge corpus of accurate and reliable materials and licensed them under CC-BY to achieve both widespread uptake and to receive credit for the hard work involved in getting them put together.

Epilogue

Greg’s outward contempt for any form of discrimination could have been almost hostile and over-the-top for a room of seemingly converted attendees. However, throughout the course, the privilege felt by some and the discrimination felt by others was so stark that I could only agree with the aggressive stance of Software Carpentry to remove these barriers to learning. Everyone deserves the right to be taught fairly and the right to be able to learn, no matter their background. It may sound obvious and facile, but all communities still have a long way to go to realise this.

That said, all 40 people in the cheerful and somewhat reverential surroundings of the Mozilla offices, a foundation with these accepting values at its core, really instilled a sense of hope that these instructor workshops convey the right message, and Greg, Warren, Amy, the rest of the SWC team, and Mozilla should be congratulated whole-heartedly for making this central dogma of the training.

Finally, this instructor workshop was, like the Software Carpentry bootcamps themselves, designed not to make us all experts but to help us see where our strengths and weaknesses lay as budding instructors. I, for one, enjoyed the journey into the philosophy of what each of us thinks good training is, removing some preconceptions and reinforcing global conventions to enable us to deliver better bootcamps.

I personally can’t wait to welcome Greg to the Genome Analysis Centre in October to deliver another round of Instructor training and pass on the Software Carpentry torch! : http://www.tgac.ac.uk/software-carpentry-instructor-training/

Randoms

Toronto is a fantastic city with a great feeling of openness, which was gratefully reciprocated by the workshop attendees. After much instructors training, coffee, takeaway falafels, and great networking with all the attendees over evening food and beverages in multiple establishments (so many good ones!), Aleksandra and I took a day out to go to Niagara Falls and witnessed what can only be described as a majestic natural spectacle. Interestingly, Jason from iPlant said, with much glee when we didn’t believe him for one second, that the Falls can be turned off. Our faces resulted in his comeback – “Google”, and hence we were proven wrong. Who knew?