How to Make a Career Switch into Software Engineering
Anyone can learn how to code—even if you didn’t study it in school. Here’s how I transformed my career from biologist to programmer at Betterment.
Be proactive in learning to code on your own, whether that's through online courses or letting others review your code.
Don't focus on what you don't know, but on what you do.
Two and a half years ago, I made the switch from pursuing a PhD in biology to working in the ‘real world’ as a software developer.
Here are some tips I picked up along the way that may be helpful for anyone thinking about transitioning into a software engineering career.
Know when you’re not on the right career track.
I started out studying biology in college because it was absolutely fascinating to me. I loved learning how life works, from the basic metabolic pathways that allow us to break down our food into energy, to the development of highly complex multicellular organisms like ourselves.
But when I went to graduate school, it quickly became apparent that spending my days in the biology lab in the hope of making a groundbreaking scientific discovery would not be as fulfilling as I once thought.
I had joined a lab that used computational methods to study RNA splicing. I was thrilled to be in a ‘dry’ lab, which meant that I performed my research solely on the computer, performing analyses of sequencing data gathered by other lab members.
Get the experience you need—on your own.
After I knew I wanted to switch careers, I started to study software engineering, filling in the gaps in my computer science knowledge and trying to learn coding best practices.
If you’re still registered in school, try to add a couple of CompSci classes to your schedule, even if they’re not within your field of study. I was pleasantly surprised by my grad program’s flexibility and the fact that I could take classes in the computer science department.
If you have graduated, take a massive open online course (MOOC) for free—check out Coursera or EDX for ideas. If you don’t have friends who program, join a meetup group to find people like you who want to learn and people with more experience who want to share their expertise.
Next, if you know a little bit of coding and you have an account with GitHub (a programming tool), add your existing code to share with prospective employers and start new projects to keep yourself fresh. GitHub accounts are free, and it’s the best place to swap ideas and code with other programmers online.
There’s no excuse for ‘not having taken that class in college.’
This sounds harsh, but it’s a worthwhile philosophy to embrace. If you’re in an interview, the interviewer may ask you something like how you would implement a ‘hash map.’ Rather than getting defensive and saying you never took an algorithms class during undergrad because you were in fact an environmental sciences major, stop and think if there’s anything you do know about hash maps.
Maybe you’ve come across them in reading or learned about them through your side projects. Start with what you do know and work from there. You don’t need to reveal your weaknesses or what you have not formally studied because the interviewers probably won’t know the difference if you can expertly talk about what you do know, rather than what you don’t.
Retain your perspective.
You may think that your degree in sociolinguistics is not worth anything now that you’re trying to switch career paths, but don’t be fooled. You learned a lot of transferrable skills while getting your degree, and there’s no sense in throwing them away.
Some of the industry-specific knowledge that I worked so diligently to drive into my memory may never be used on the job here at Betterment (I doubt I will ever need to draw out all of the amino acid structures again, thank goodness!).
However, the same analytical skills that I used to dissect the most dense scientific papers I can now apply toward parsing complicated tax laws into an algorithm that correctly calculates disallowed losses (these can be tricky when the wash sale rule overlaps with the rule that prevents double counting of losses from municipal bond dividends).
Rather than thinking of your old degree as a waste of time before you discovered software engineering, think of it as a stepping stone on the way to your new career. It’s something that makes you stand out from the sea of other applicants who took the traditional route, and it has given you a unique perspective on software engineering.
Guidelines for Testing Rails Applications
Discusses the different responsibilities of model, request, and system specs, and other high level guidelines for writing specs using RSpec & Capybara.
What it Means to Be a 401(k) Plan Fiduciary and How You Can Mitigate Your Risk
Fiduciary responsibilities can seem daunting and time-consuming. Learn the ins and outs of your responsibilities and which ones you can delegate.
WebValve – The Magic You Need for HTTP Integration
Struggling with HTTP integrations locally? Use WebValve to define HTTP service fakes and toggle between real and fake services in non-production environments.
Explore your first goal
Our high-yield account built to help you earn more on every dollar you save.
This is a great place to start—an emergency fund for life's unplanned hiccups. A safety net is a conservative portfolio.
Whether it's a long way off or just around the corner, we'll help you save for the retirement you deserve.
If you want to invest and build wealth over time, then this is the goal for you. This is an excellent goal type for unknown future needs or money you plan to pass to future generations.