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.
As the months went by, though, I realized that my passion lay not in using software to analyze data, but rather in creating those tools myself.
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.