One of my friends Gayle runs an awesome company (CareerCup) which provides phone and in-person technical interview coaching for A-list companies like Microsoft, Google and Amazon. I have been doing mock interviews for CareerCup for more than two years now. While I don’t remember the exact number of mock interviews I have done, it’s in the neighborhood of 50+. Candidates have run the gamut from hopeless to brilliant. Many have gone on to get jobs in the companies they applied to. Disciplines have run from developer (the majority) to tester and even a few program managers.
Here’s what have I learned by interviewing 50+ people:
1. Don’t Lose Your Technical Chops
You are a senior software development lead at an A-list firm. I ask you to solve a fairly basic coding problem which takes a college grad 15 minutes, but you get stuck on it for an hour. You stumble your way through various possibilities, write atrocious code and then mumble an apology about how you “don’t have the opportunity to write code these days”. You would have been red-flagged in a real interview in the first 5 minutes.
If you’re 25 years old, out of college, and write code for fun (or your job!), move along. However, if you are in danger of becoming management, make sure you stay technical. Write code. Hell, read code and do code reviews. But don’t run a team of developers or testers if you can’t do the jobs they do. Your annual review may not reflect it, but your long-term career will suffer for it.
2. Invest in Yourself
This one is pretty straightforward – follow the old financial maxim and “pay yourself first”. It doesn’t necessarily have to do with getting a higher-education degree. It has to do with taking time to teach and, if necessary, reinvent yourself. Take time to learn new technologies. Install them. Play with them. You have been a customer support guy for 10 years? Who says you can’t write code – pick up a Ruby on Rails book and start your first web app. Don’t just do your day job, because chances are you will become specialized over time.
3. Work on what Matters
In a nutshell: work on what matters for you, or what matters to your company. Ideally, work on the intersection of these two.
The first piece of advice is obvious – follow your passion. Work on technologies you think are awesome. You will be engaged and, as a result, will produce great work.
The second piece of advice is not as obvious. If you are working in an investment bank, do you think it’s better work in investment banking or for the IT department? If you are working for Google, do you think it’s better to work on search or HR? If you are going to work for a large company, chances are you will do learn more by working on what really matters to the large company. I have seen countless candidates who, over time, ended up working on niche products or in supporting roles. These products and teams get cut in difficult times. You also learn and earn less than people who work on core areas. It’s entirely possible to be personally fulfilled and happy in such jobs – but at least be aware of your role and how it fits in with the core mission of the company.
4. Find your Center
I ask many candidates, “Tell me why you want this job”, I get two types of responses. College grads just cannot stop talking about cool programming languages, social media, green energy, etc. Crustier engineers talk about “hard problems” in computing.
Sadly, the more common response I get is “I want to work on company X because I think Product Y is awesome” e.g. “I want to work at Google because of Search” or “I want to work at Microsoft because Windows is so interesting”. Dig a little deeper, and you find that the second population is looking for “a job”. They may have cared for changing the world at one point, but chances are their friends and family pushed them into a well-paying field.
The second group does not have technology at its center. This is painfully obvious to an interviewer.
Given a choice, all other things equal, I will always hire someone who truly cares about the product over someone who treats it like a job.