Prior to starting my PhD (which is broadly in the area of synthetic biology) I had managed to more or less avoid doing any programming, which I think makes me something of a rarity nowadays. I did my undergraduate degree a few years ago and must have been in one of the last cohorts where programming was not covered in the syllabus, and it was not something that was widely taught when I was at school. While programming is not directly required for my day to day work (which is mainly “wet lab” based) it is one of those skills that seems to be really useful to have a working knowledge of, so one thing I really wanted to achieve alongside my PhD was to gain some kind of experience with it.
In the lab I routinely have to work out how to do things on my own (generally using a mixture of Google searching and publications). I was aware that a similar approach could also be used to learn some basic programming, but for some reason (probably due to the stigma I had associated with it) I found the prospect of actually sitting down and getting started with this quite daunting. Since the learning to code mentorship with the Software Sustainability Institute comes with one on one support from a mentor, I thought it might be a pretty good solution for me, so signed up and was fortunate enough to get a place.
What did I do during the programme?
The objective of my project was to gain some kind of working knowledge of Python. I think my situation was a little unusual in that before starting the programme I had absolutely no idea what I was doing with it (i.e. had never even opened the program). Having this somewhat modest goal actually worked really well for me because I was able to learn the nuts and bolts without having to worry about producing some kind of set piece of work at the end.
To begin with I started by working through the SSI Python tutorial on my own, and would go over any issues I had in the sessions with my mentor. I think I got the best of both worlds here because I was able to work at my own pace but with the support of my mentor who would help me get unstuck when I got myself stuck (which happened quite frequently, especially early on)!
While it had not initially necessarily been the plan, after getting to grips with the basics my mentor and I managed to devise a project that actually makes use of Python and should be useful for my day-to-day work. This involved writing some code to deal with a set of tricky calculations and calibrations I have to do regularly, which should make my life a lot easier. We managed to make a start on this and I am going to be finishing it off in the next few weeks.
Like many people I had always been a bit spooked by the prospect of attempting to do some programming. My main take home from this experience is that it really isn’t as nasty as it might seem, particularly if you have the right support in place. Having a mentor who really knew what they were talking about was invaluable to me and I think this is why I got so much more out of it than if I had just tried to work my way through some online training materials alone. It is never too late to learn this kind of thing so if you find yourself in a similar situation to me and would like to have a go I would definitely recommend the scheme.