I was recently asked by a student about advice on what to do, how to plan a career. The student had just completed a degree in biology, but also discovered a love for programming. I wrote a response and decided to publish it here, with very light edits, in the hope it might be helpful for others who find themselves in a similar situation.
The description of your situation very much reminds me of my own, many years ago. So maybe the easiest way for me to give you advice is to tell you how I got out of the confusion at that time.
I became a biology student by the “exclusion principle”. None of my high-school teachers managed to kindle any kind of passion for any kind of subject. For a long time, I thought this was my mistake, that I was just an unexcitable person. Now I know of course that nothing could be further from the truth, and that my biggest challenge these days is to not get too excited about too many things, given that the day only has 24 hours. When it came to deciding what to study, biology simply seemed the least boring. There was something else, too - it seemed the most meaningful. This may sound weird, but in my early twenties, I was in a state of constant, undefined anxiety, about what to do with my life, and the meaning of it all. The only thing that seemed to give me inner peace was to be out in nature, in the woods, or in the mountains. So I ultimately decided to study biology, because that would allow me to spend my professional life out in nature.
In my second year of studies, I had to take a class called “Evolution, Ecology, and Behavior”. It completely changed my life. First, by introducing me to Darwin’s theory of evolution, which I had heard of, but not grasped with all its implications. It connected my search for meaning and my love for nature in one beautiful idea that is underlying all of life. Second, by showing me that there is a field of biology where one can reason about the big questions of life, using simple math and computers. This was an enormous discovery for me, and to this day, I consider myself first and foremost a theoretical biologist. Indeed, writing “Nature, In Code” was like writing a love letter to this field, the kind of book I wish I had access to when I was younger.
Despite this discovery, I took a break from university after the second year. I discovered something else that I found just as exciting: the Internet (this was in the late nineties). Not being a programmer, and not having programmed before, I was amazed by the endless possibilities of the Internet, and picked up some basic web coding skills (HTML and JavaScript). I started creating websites, first for friends, then for some businesses. With a high-school friend, I decided to seize the opportunity and start a company, so I quit university. We had a great time, and business was going fine, but after already a year, I realized that I very much missed my just-found true love, the theory of evolution, and I decided to go back to it. Thankfully, we were acquired by another web company in the area that was developing super exciting web tools, and I joined them. This allowed me to work in parallel on both areas of interest, web development and evolutionary biology. I was in heaven.
Looking back, it’s very obvious to me that these were crucial years. At the company, I learned extremely valuable skills. I learned more coding, more web technologies, and I learned some of the business aspects, too. Most importantly, I learned how to anticipate the future, and how to get some basic working knowledge in domains I knew nothing about. At the university, I learned all about evolutionary biology, but was suddenly in a position where I could use my newly acquired coding skills to do better science. To this day, I benefit tremendously from this experience. And that is why, whenever students ask me if they should join a company, I say yes, especially if it’s a tech company. Even if you later decide that science is where your heart is at, the skills you learn during the time working in tech companies are invaluable.
The world has changed rapidly since then. We now live in a completely digital world, with MOOCs, smartphones, and social networks. It must be overwhelming to grow up in an environment where you have access to absolutely everything, for free. But here’s the catch. You shouldn’t lose sleep over which courses you take, which MOOCs you take, which phones you use, how many followers you have, which schools you went to. In other words, you shouldn’t care so much about what you’re consuming. What you should care about, deeply, is what you’re producing. This view may not be very widespread yet, but it will be. In Silicon Valley and similar innovation clusters, it most certainly is. Any innovative group, team, company I’ve interacted with, it’s the same thing. Your career opportunities will be defined by what you have given, not what you have taken. Put differently, your work is more important than your education credentials. Don't make the mistake thinking that this will only be true later on - it may be even more true at the very early career stage.
As a consequence, I cannot give you any specific advice on industries, research groups, or internships. The advice I would give you is to chose a place where you can start producing, tinkering, expressing yourself. Surround yourself by people who make things. People who put their work out in the open. Creators. Go to meetups, hackathons, coworking spaces, and start contributing. In no time, you’ll find there are more opportunities than you’ve imagined. Try to hang out with people who are smarter than you, and better at whatever it is you want to learn. Intimidation is for fools. If you’re the smartest person in the room, you’re in the wrong room.
If you start building things, your CV will very quickly start to look very impressive. When you learn new coding skills, for example during a MOOC, push your solutions to GitHub. Start working on side projects, and finish them (the latter part cannot be emphasized enough). Even if they seem crappy to you now - you can always go back later and improve on them. This repository of things you’ve done will become much, much more important than your CV. In fact, it will become your CV. Interesting companies and research groups will look at it and love what they see there, because they see that you make things happen, which is really all that matters. But what about the companies and groups that don’t care about that? Easy: ignore them - they are not interesting places anyways.
As a final note, let me just say that I think you are perfectly prepared at this stage for the future, even if you may not feel like it. You have a background in the natural sciences, you really seem to like coding, and you’re not shy to reach out for help when you feel stuck. Honestly, one can’t be in a much better position than that. The world is your oyster.
Let me close with at least one concrete advice: ask yourself, what would I passionately like to work on during the next 5 - 10 years? It’s good to put yourself in a situation where life may not last much longer after that, to create a sense of urgency. Then ask yourself, where would be the most amazing place to do this kind of work? If you can’t answer the second question, go figure it out - talk to people in the relevant fields, read up on the topic online, go to events. Then, once you’ve found 2 or 3 places that would be amazing, go and ask to join them. If they decline, ask them why, and then go and fix whatever was missing. Keep at it until you are there.
I hope this is helpful, in some small way, and at some point in time. I wish you all the best.