Friday, March 28, 2008

Chicken soup for the job-hunter's soul

Another long silence ends. Whoever said that silence speaks louder than words knew what he was talking about. Yes, I was busy. Busy attending interviews and making a career change.

As with most things that would keep one busy, this too was a learning experience. After close to four years of working on code that runs the most heavily used applications on hundreds of millions of handsets around world, I didn't expect to have much trouble answering a few technical interview questions. My first interview changed all that. It is a sad story so I’d rather not go into the details now. Maybe later.

It is said that a wise man is he who learns from the mistakes of others. So, for those who would be wise and learn from my mistakes, here is distilled wisdom.

1. First get your basics right. Read Programming Interviews Exposed.

2. I'm a big fan of CareerCup founder Gayle Laakmann. So I'll strongly recommend both her books - Cracking the Coding Interview and The Google Resume.

3. Read the C FAQ at http://c-faq.com/questions.html. And the C++ FAQs at http://www.parashift.com/c++-faq-lite

4. Read the Gang of Four, or better still Head First Design Patterns for Design Patterns.

5. And some more advanced stuff on Operating System Concepts and Data Structures and Algorithms

6. Check out resources on the internet. Examples follow:
techinterview.org
cslibrary.stanford.edu
blog.mattgoyer.com/technical-interview-at-amazon-sde-and-microsoft-program-manager
ualberta.ca/CNS/RESEARCH/LinuxClusters/mem.html
www.datastructures.info
brpreiss.com/books/opus4/html/book.html
steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html
vishwacsena.blogspot.com/2008/03/program-manager-interviews-at-microsoft.html
7. Research pay scales at payscale.com or glassdoor.com so that you know what to expect if all goes well.

8. Research each company you plan to interview with. Get the big picture from Wikipedia. Then Google News for latest happenings; Google Finance, to see if they have the money to pay you. Visit the company website. Search careercup.com and glassdoor.com for previous interview questions asked at that company.

Do some introspection. Why are you doing this? First, is there a way to achieve the same goal without changing jobs? Which companies and roles can offer you want you want? Is what you want actually good for you in the long run or is it just a passing fancy? Talk to people - friends, mentors, family. Be clear about what all you want. No company or role can give you all that you wish for. Being clear about your priorities goes a long way in taking the right decision under pressure, when you have to decide between three good offers.

Invest some serious effort into your interview preparation. It is better to prepare 14x7 for a few weeks to get a job that you enjoy doing and pays well, than to work 14x7 for the next few years at something less satisfying.

Research shows that most interviewers take a decision in the first 30 seconds after they meet a candidate. And the deciding factors in those 30 seconds are speaking clearly and smiling, part of the PRESS technique (Posture straight, Relax, Eye contact, Speak clearly & Smile). The idea is to present yourself as confident and warm, the kind of person almost everyone wants to hire. Happy hunting!