Interviewing can be frustrating.

I recently went through a round of interviews in San Francisco. I had to interview with twenty companies to find the right job and was rejected from many places. One of the things that I learned from the experience is that interviewing is completely different from normal work. Being a good programmer does not mean that you will interview well.

The good news is that I think you can improve your interviewing substantially by working on a few key things. I like to think of interviewing as a series of hurdles. I think the key to success is to focus on the hurdle that you are not getting past.

Rejection

I was rejected from thirteen companies during this last job search. Here is the breakdown of the reasons that I was rejected:

The top two reasons are the ones that concern me - not enough experience and coding challenges. They happened many times. I think many of them could have been avoided.

Hurdles

If interviewing is like a series of hurdles, each hurdle is designed to weed out people who are not qualified. From the breakdown above, we can see that there were two things that consistently put me out of the running for jobs: 1) coding challenges 2) lack of experience.

You cannot get a job if you cannot get past the coding challenges at these places. If you focus on looking more experienced without being able to code up a fibonacci method, you are going to have a really hard time finding a job. To maximize your chances, you have to focus on the first hurdle that's tripping you up. In my case, it was coding challenges; I should have taken them more seriously.

Common Coding Challenges

The following questions came up over and over again. Memorizing solutions to these problems was extremely helpful for me.

Once I became comfortable with these, interviews started going much smoother.

Experience

The second hurdle I struggled with was experience. In several cases, I did very well at the coding challenges. Then, was told that I simply did not have enough years on my resume. Naturally, that is frustrating to hear because I cannot change time. I refused to accept that I had to take a crappy job just because I hadn't been working X number of years.

What Can You Do About the Experience Hurdle?

Clearly, some people are more motivated to learn than others. I think your goal here should be to point out anything you do outside of work that contributes to your experience. By pointing out how motivated you are, you can mitigate them focusing on the number of years you've been at it.

Working on and talking about the following can help:

What Else?

I also found the following to help me:

Networking

As always, networking is extremely helpful. I found interviews setup through a connection to typically be more interesting. The job that I ultimately accepted was at a place where a friend of mine works.

Conclusion

I hope these tips help you with your next job search. Good luck getting past your hurdles!

Other Resources