Keys to the Kingdom

Swathi jay Swathi Jay | @swathjay | 17 Aug, 2015

The Software Developer role and related positions in Silicon valley (and beyond) are getting increasingly lucrative., the world’s largest job search site reported that the average Silicon Valley salary for software developers was around $129,000 in 2014. (WOW!) and this trend is only increasing.

Cutting the Line

Software companies are offering more than just money. Most offer free food, amazing health benefits, 401 K plans and most importantly the opportunity to work on amazing projects that impact a LOT of people. The popular chat app ‘WhatsApp’ which was purchased for 19 billion dollars by Facebook only had 55 employees, but it had about 450,000,000 active users! Think about the employee to user ratio! Just Amazing! Logos of Microsoft and google If you are planning on working for a huge company like Microsoft, then you will have the opportunity to impact a billion plus users and the opportunity to work on varied projects - from the Xbox to the Hololens. But the software industry has a unique problem. The demand is way more than the number of open positions and it is hard for companies to find the right talent. There is a lot of noise that the recruiters have to filter through and this makes it hard for you to stand out in that pool. But if you know the right way to get in the door, you can get ahead of everyone else in line.

Keys to the door provides you the keys to that door and teaches you how to unlock it. You can have great software and coding acumen but you need to get the correct key combination to unlock that door. Key to the kingdom You could be the architect of a building and know every detail about the floor plan and design but unless you have the keys, even you cannot get through that door. There are set of standard questions that all interviewers ask. You could be a software ninja and create amazing apps but if you cannot reverse a linked list quickly and by using the best algorithm, you will NOT be valued during those interviews!

I have a first hand experience that I would like to tell you about. I am an Industrial Engineer from Georgia Tech. Towards the end of my junior year in college, I started to take a keen interest in technology and wanted to work for a top software company like Apple, Google or Microsoft. I felt that learning how to code will give me a leg up during my interviews. Although I was applying for strategy roles at tech companies, I was also preparing for coding interviews. I would go to websites like ‘Glassdoor’ or ‘CareerCup’, copy coding interview questions onto a Word document and pick an answer from one of the comments and paste it next to the question in the document (Yeah, I know ). I spent hours searching the web, collecting questions and answers and many more hours writing the answers over and over again to memorize them(!) - and even then there was no sure way of validating my answers for correctness and approach.For those of you who do not know this, software recruiters look not just for the right answers but also focus on the method used to get to the solution.This shows them your thought process in addition to your technical knowledge. Cracking the coding interview by Gayle Websites like ‘Glassdoor’ have interview questions segmented by company and I soon realized that there is a pattern. The questions across most of the companies were similar - actually many were identical! So I checked for duplicate questions on my list to arrive at a list of unique questions from top software companies. The result of this effort? Well, I passed many rounds of software interviews and even got offered technical software positions! I eventually rejected those to accept a Business Strategy Program Manager role with Microsoft, since that was better aligned with my long term career goals. Well the point here is that if I can find these questions on the web and get past coding interviews as well or better than a computer engineer or CS major, then it means that this skill can be learnt and perfected - even if you do not have a lot of coding experience. And if you do have a lot of coding experience, it is still important because you do not want to get rejected in an interview, just because someone (with less overall technical knowledge) knows how to write the code to generate Fibonacci numbers better than you!

Honestly, I wish I had access to something like when I was preparing for my interviews. It is based on learning algorithm similar to the one used by Membean for GRE prep. It is proven and effective! If you are looking to get that software position at your dream company, or simply want to brush up your coding skills, you are in good great hands! :) Get cracking! Good luck :)