And a software bootcamp landed in South Africa… I have to admit I had the best time during this two day course. But let’s start from the top: everyone knows what bootcamps are, well, almost everyone. For someone like me that is not really into gym or fitness, yes that weird place where you are supposed to move on a machine (???) – I am not a gym person so I had to look it up! Anyway various gym programs propose “bootcamps” with different levels and exercises to improve your fitness with a concentration of exercise, so more effect in less time, maybe I should join one… oh well. So, my question was, will a software bootcamp be the same? Running with a laptop and weight lifting a desktop? Mmm not really, but the concept is quite similar, more on the structure level I mean: two intense days on programming and learning new software’s and tools.

At UCT this amazing idea has been brought along with a conference “eResearch Africa” ( or look for the hashtag on twitter: ‪#eResAf14) with one of the goals being to support scientist to optimise their “programming skills” with beginners level introductory programming for research purposes ( During two intense but interesting, and let me say fun, days we were instructed by both UCT members and the software carpentry group (, on Bash, Git, Github and Python.

Before this course I took various MOOCs through Coursera but I had never heard of the “Software carpentry” so I had a look at their webpage before the course and what they do is very interesting. I have always been interested in science and knew that at some point I had to improve my preparation in programming but before my master in bioinformatics I never took it seriously. Then something weird happened, I fell in love with programming in Python and R, so I was super happy when I managed to get into a PhD project that involved programming & bioinformatics. Mainly what I like about it is how these tools can make the analyses of big data so much easier, and how afterwards you can reproduce the analyses easily and apply the same script in a pipeline and automate the analyses. Don’t get me wrong I am still learning and there is so much I need to learn; I am still trying to improve my skills and is not easy and it takes time but, believe me, it is totally worth it in the long run.

This course for me was a blessing, for the first time after the master in bioinformatics I was able to follow a programming course with real people instead of being sit in front of a computer watching someone from very far talking to me. I do love Coursera and the opportunities they give to really everyone to learn, but it’s good to have someone in “flesh and blood” talking to you where you can ask questions in real time and they can see everyone reaction and interact. One thing that I really appreciate was the use of colour coded post its to check if everyone was following and, after small assignment check when everyone had finished or needed help.

What was good about this course? Well first of all the interactions and the possibility to talk with researchers, students and professors that utilise programming in different environments. It is seriously very interesting to see how we can apply the same tools for different research purposes, listen to how different people troubleshoot and debug and to get new ideas on how to solve code problems or apply to your own research. Secondly I loved the lessons, apart from Bash where I was expecting something more, I had never use git; I knew about it but the various online courses seemed so complicated that I ended up never getting hold of it, while now I am considering asking them for a private account to store my code and move it public once it is ready. As for Python I was both happy and disappointed, I was expecting a bit more for an advance course but at the same time it gave me a bit of confidence on the few things I know how to do.

Courses like this one are super important and also helpful to scientists that have always wanted to learn more about programming or simply how to use new tools for their research but that lack of time, or because often with online courses you ended up getting lost. A first approach, even if condensed into two days can improve the approach to this subject.

Personally I will try to keep up with various courses to get better, while I develop my love-hate relationship with programming.