Finance to Tech: Making the Transition as a Software Engineer
Over the past 8 months since I left Goldman Sachs and joined Google, I’ve been reached out to by many friends who are looking to make a similar move. They are software developers at finance shops, and want more insight into how I did it; how I successfully interviewed, received and accepted an offer for a full-time Software Engineer position at Google. Below I have described in detail every action I took to prepare for interviews and maintain my sanity throughout the process.
Practice, practice, and as you could have guessed, more practice
Purchase and read (cover-to-cover) a book written by Gayle Laakmann McDowell called Cracking the Coding Interview (read all of the topic focused sections and solve all problems at minimum twice). This book not only provides a great description of the interviewing process at a variety of company types but, more importantly, provides a pragmatic overview of the essential CS concepts, algorithms and data structures which you will needed to be comfortable with speaking about, using AND implementing. At your current company, you may be asked to implement a binary tree during an interview but will likely never find yourself needing to do that based on the type of work you will be doing in that desk. At companies like Google however, coding on the whiteboard is done quite often and is an essential method of articulating software design approaches.
Purchase a 13x21cm, plain papered, hard covered moleskine notebook to use for practicing programming questions and basic algorithm implementation. This is a great solution (after a whiteboard) for keeping your study notes, prior practice problem attempts and study todo’s in one space. Writing out your code on the blank pages will prep you mentally for coding on a blank whiteboard during in person interviews.
All the Caffeine
Find a posh coffee (not Starbucks as there is often too much distraction) spot which you can spend 2–6 hour sprints at to study. Do not study at home! I know you are a disciplined, focused person however you should not underestimate the distraction and temptation a soft bed to sleep in or Netflix can present. Remove yourself out of your home environment such that you are being intentional about the purpose of your coffee shop visit. Oh and drink alot of coffee (or tea) to stay focused. :)
Ain’t nobody got time fo dat
It’s important to prioritize studying over other social, personal and work activities. This means you may have to pass on the invitation for drinks after work. You may need to dial back on the late nights at the office and you might have to tell your boo snack that, for the next month or so, you will not be able to walk aimlessly around Central park with him or her, holdings hands. You need to adopt a “get shit done” mentality, if you don’t already have one. I would recommend studying at least an hour and a half each day of the workweek and about 6 hours each day of the weekend. Yeah I know, but do you want this offer or not?
Shhh, it’s a secret
Do not tell anyone at work! People talk and worrying about managers finding out about your eventual departure too early will only add more stress that you do not need. Keep it on the DL until you have an offer. I know it sounds crazy but you will feel like you are cheating on your job, manager, team, etc. You’re not. You deserve to be happy and honestly your departure, despite what your managers would have you believe, is not that big of a deal. Once you leave, folks will be blaming you for all code smells and prod issues in no time. Plus, you’re a millennial right? There’s a new culture around company loyalty and minimal tenure. :)
Hey, could you do me a favor
Find a friend (or two) who will conduct mock interviews with you. This is huge. I cannot stress enough how valuable the feedback you get as well as the confidence you gain from getting used to solving tough problems in front of someone who is criticizing you is. Ideally, try to connect with someone who already works at a similar company in a similar role. Leverage your network, use LinkedIn!
Establish a personal brand
Polish your Linkedin profile. Make sure you have a high quality, professional profile picture and up-to-date information in the various sections. A nice, witty summary also helps.
Build a thing
Show a thing
Add a few project repositories on github and update your profile pic/info. Also make sure you delete test or poorly written code/repositories from your profile. If you haven’t developed anything in the past, try building something for fun using an API or framework which the company you are applying for either heavily uses or has developed and open sourced. e.g. I developed this blog in AngularJS and added the source to a public github repository called chapandscholar.
I love Drake. He is currently my favorite rapper. I would recommend that you find a musical artist that you feel you can really empathize with. Select their latest album and listen to this music on repeat as you study. It will become great background music and help you focus. In case you were curious, I probably listened to Drake’s If You’re Reading This It’s Too Late album about 95 times in its entirety during the month I spent studying. Sigh, love that guy.
Don’t worry, be happy
So you do all of the above and you still get declined. Guess what? So do most people! I myself was declined 4 times by Google and numerous times by other companies in a span of 5 years before the stars aligned, all the interviewers were in a good mood and I studied enough to crush the full day of second round interviews. Shit happens. You are still a smart, talented person who deserves the perfect job. Apply at the many other amazing companies out there and stay positive!