There are lots of skills a developer has to have, but one of the ones you really need to have if you ever want to make a living is being able to interview well. There are lots of things that make interviewing a challenge, but if you interview well you’ll learn something at the least and get a job offer at the most.
Let’s talk about how to interview well.
1. Be Brutally Honest
While I’m sure you can lose job opportunities by being honest, you can’t really lose the right job opportunities by being honest. If you don’t know something, just say it. If you know something you’re not good at, point it out. If you know something you are good at, point that out too, but don’t oversell yourself. Be confident in the fact that you are worth being hired even if you’re far from perfect. They aren’t either.
2. Be Sincerely Humble
3. Be Enthusiastic
Come to an interview with lots of enthusiasm. Be yourself–you don’t have to fake it. Just find things you’re excited about and show that through your body language and the way you speak. Listen well, engage people, talk and ask lots of questions. Questions show curiosity and who doesn’t like to be thought of as interesting?
4. This is a Two Way Street
You’re interviewing them as much as they’re interviewing you. You want to know what kind of company they are, what culture they have, and what issues they have as a team. They’re trying to size you up, but you should be sizing up the company too. How do they make decisions? How do they deal with conflict? How do they organize code? How do they work on a day to day basis? What can you expect if you show up on day one? What about day 31? What about day 301?
Sometimes you can’t ask these questions directly because they are hard to answer. If you can ask to come into the office and pair program with someone or sit in on a few meetings, that will give a great bit of insight into how an organization works. You might not be allowed to do these things, but it never hurts to ask. Also, consider what an organization that says “no, you can’t pair program with us before committing” is really saying. Maybe it’s security, but maybe it’s just a lack of transparancy? Consider what an organization says by it’s actions and policies.
5. Try to learn something
From every single interview you’re in, you have an opportunity to learn something. You can learn how another organization manages their code review process or how another developer does some trick in VIM. In this respect interviewing can be beneficial to your current employer. Even interviewing with companies that you don’t have much interest in can give you general information that is hard to obtain otherwise (and I’m not talking about proprietary information). You can get a sense of the technologies some other companies are trying to use and how they use it. You can also get ideas about processes you can take with you to any other employer. How do they do scrum? How does she handle conflict in the team? How do they code review? How have they tried to maintain culture while they’re growing?
6. Interview while you’re employed
This last one is much more circumstancial, so if you’re not employed at the moment, you might not be able to do anything about this. If you are employed, make sure you continue to interview! I try to keep my ear to the ground and interview at least once a quarter with another company. Because I’m always trying to learn something, this usually becomes beneficial to my current employer, but it is almost always beneficial to me.
Beyond that, if you don’t need a job it’s much easier to be very honest and make sure the new gig would really be a good fit. It’s also much easier to negotiate a better situation when you’re already in a good one. Don’t wait until your current job is in bad shape before you start interviewing elsewhere.
Interviewing well is a great skill. The more you practice it the better you’ll become and the more opportunities you’ll have. Remembering that a successful interview does not necessarily mean you get a job makes a big difference. Look at every interview as an exploration of future opportunities. Some doors will open and others will close, but you can learn stuff either way.