Where to start? On the path to become a bioinformatician / computational biologist
TLDR: Choose a language, choose an IDE, make sure you are on the right path, and join nurturing communities
MOOCs, tutorials, books, conferences (and their YouTube videos), MeetUps, Slack groups, bootcamps, foundation courses, masters courses, community college prerequisites, etc… the list of categories of resources is so long it can be overwhelming!
The good news is that the plethora of learning material means you can design a path that suits your style. Below I will tell you about my process in the beginning of this journey. Before you read on, please look at the date of this post. If more than a year or two have passed it is likely that things have changed and you should keep this in mind as you read.
Living abroad made me keenly aware of how important language is for communication. Admittedly, I moved from the US to the UK, and most people would say: both those populations speak English! I don’t disagree, but my experience was that, to be understood, I had to change my accent and use totally different phrases. While our cultures overlap in many ways, they also differ considerably, therefore I understand language to be an ever-evolving mixture of history and culture.
Thus, when I started my journey to become a bioinformatician (for real, the second time), my first question was: what language should I learn first? While I was in an academic setting (a few floors down from the biostatistics department at Johns Hopkins) the answer was R. When I moved to San Francisco and was surrounded by computer scientists and software engineers, the answer was Python. Both camps were emphatic!
I chose Python for four reasons: (1) its growth trajectory, (2) people said it was the easiest to learn/most intuitive, (3) because it looked like I would have more people nearby who could help me if I got stuck, and (4) my first stab at R (through this Coursera Data Science Specialization) had gotten interrupted by a work opportunity and I hadn’t experienced any applications, so it was not yet fun.
The most important lesson I learned while doing scientific research is that I learn best when I am interested in the subject, in control of the speed, and surrounded by peers going through similar experiences. Therefore, when I decided to learn Python, I chose the shortest book that looked like it would introduce me to the basic concepts. The book was “Learn Python in One Day and Learn It Well”. I also looked online for introductory courses and found one called “Weekend hands-on Python workshop for beginners” hosted by the San Francisco Python MeetUp Group. This was a fateful find! (For those not in SF, I recommend Software Carpentry courses, which are often held at universities.) By the workshop date, I had only read a third of my new book. Luckily, its material on variables and for loops, plus the intro to Git and GitHub that I had obtained through the first month of the Data Science Specialization were enough to give me the confidence that, with time and dedication, I could learn Python.
The workshop was held at and run by the Holberton school, which is a two times 9-month full-emersion bootcamp that trains students (including those who have not graduated high school) in a treasure hunt fashion to become full-stack software engineers. (See FAQs for more info.) This was my first exposure to the terms full-stack, front-end, and back-end and my first time wondering: what’s the difference between what I want to do and becoming a software engineer?
To answer that, a week later, I met with a Holberton graduate, Andrew Birnberg, who had recently landed a job as a Bioinformatics Engineer at Genentech. He hadn’t started yet, and things can be very different after you start a job, but his summary was that he was going to get data (I believe it was mass spectrometry data) from the machines used by scientists and present it to the them in a way that they could use it. I was put off of becoming an engineer by the thought that he wouldn’t get a chance to interpret the meaning of the data. This interaction reaffirmed my goal to become a data scientist.
True to Holberton’s style, the workshop sparked debate over which text editor was better: vi or emacs? I had started to use the Atom integrated development environment (IDE), which is a souped-up text editor, based on a trusted friend’s suggestion and had heard that Sublime was also a good option. When I googled around, I was overwhelmed by the options. (Feeling overwhelmed is something I have experienced a lot in the last few months.) Annoyingly, even after a day of googling, the best option still was not clear.
I picked vi for a number of reasons. For one, I thought it would be future-proof because it had so many developers that made extensions that it would be able to do everything the new-fangled IDEs could do. I also weighed highly the fact that two people I thought were very smart and willing to help if I got stuck used it. For a week I traveled down the Neovim rabbit hole. The first lesson was on how to install packages: I have a Mac, so Homebrew became my friend. At least now I am not scared of vi keystrokes or program execution files (e.g. .vimrc). After a couple more months of listening to people’s perspectives, I currently think VS Code is the best IDE (it was highly recommended by Paige Bailey and she’s not the kind of person who recommends things just because she works for the company). I plan to use VS Code when I start to de-bug my programs. However, what is more important to me now is the ability to see the outcome of my code right after I change one detail, therefore, I use Jupyter Notebooks and I plan to upgrade to JupyterLab soon. Having the right tools for the job is a theme among the programming community.
For their workshop, Holberton had set up a Slack channel and I used it to reach out to other classmates to ask if anyone wanted to meet regularly to continue learning together. I hadn’t yet learned the phrases Code & Coffee, Project Night, or Open Programming Session, which are all common terms used by MeetUp groups to advertise co-working get togethers. Luckily, along with 30 interested students, the Holberton founders replied and offered their space. We now have a thriving community of regulars who meet weekly on Sunday, including some who are just starting their journey, some who are in the middle of their masters, some who are working on projects to improve their CV, and others who are actively looking for new jobs.
If you are part of a community of self-led learners please share your experiences below. What works? What doesn’t?
Thanks for reading this far, I’m going to stop here and will pick up again soon with…
- My considerations in regard to bootcamps and masters courses vs MOOCs, tutorials, videos, and books
- The role of projects in learning

