During the many positions I’ve held in the past, a few of them have dealt with hiring developers. Sometimes, I was doing the hiring. Other times, I was putting together hiring checklists and plans. At first, it was easy. I would just tell the hiring manager to quiz the developer in code and hire the one that knew the most; however, it was a big mistake to use this approach when hiring a developer. It was a lesson I learned the hard way after having to manage the very people I had hired.
There are many articles out there about how to get hired, even for a developer role. Unfortunately, most are written from a recruiter or HR point of view. When you’re looking to get a role as a developer, you want to make sure that you appeal to those you will be working with… the other developers.
Learn as Much as You Can before You Go In
Although I said that knowing the most is not necessarily the best thing in the eyes of a developer doing the hiring. That being said, you have to know enough to be dangerous; especially in areas that are new to you or disciplines that you’ll need to know more about.
Before going in, ask your recruiter or hiring manager what technologies are being used. In theory, these should be clearly stated in the job description. However, you may be reading a boilerplate job description someone wrote during their lunch break five years ago. Always ask just to be safe… Find out what languages they currently code in, which languages are specific to the position you’re applying for and will be expected to code in, and finally, to get a better understanding of your day-to-day role, ask them which frameworks or libraries they’re using.
It’s important to know the basics of what you’re expected to work on. With development being where it is now—especially front end— there are so many frameworks and libraries to choose from. There’s a good chance that you won’t have experience with the exact one that they are using. This is not an excuse hiring developers will accept, so know the basics.
Fear not, though, you don’t have to know everything.
If You Don’t Know, It’s Okay. Know Where to Find Answers
It is always okay to say you don’t know the answer to a coding question. What you say next is much more important. Rather than simply saying that “you don’t know” and staying quiet, explain how or where you would find the answer.
This says a lot more about you as a developer because you can quickly get through a new obstacle without getting stuck. I used to ask people tricky questions all the time, especially when it came to WordPress. The people that didn’t know an answer but knew where to look in the Codex, were usually the ones I hired.
I also don’t think that memorizing documentation is a good thing.
You could memorize all of the jQuery documentation and functions. Keep in mind, however, that there will always be a new version. There will always be some code removed, some functionality that morphs. It can be much more difficult to adapt those memory blocks that were etched in stone than to know how to look up these functions.
Generally speaking, knowing how to get through roadblocks in code makes you just as good of a developer as someone who knows every single function of a library or language (if not better) .
Critical Thinking is Very Important
I’m not sure if hiring developers realize this: Hiring someone with critical thinking skills, or the ability to problem solve, is hugely important.
Knowing all the code in the world won’t help you when you run into something you don’t know, or an error you’ve never seen before. It is important that you can hit a wall, and climb over it. When I ask a question like “how would you handle an error you have never seen before” the answer “Google it” doesn’t really intrigue me anymore.
I have seen many people who can Google things, but never seem to find a solution. Let’s call this GoogleFu. You’ll often hear things like “Google is failing me.” The truth is, these people are failing Google. Someone who opens Google and has to try dozens of different queries without reaching their goal is definitely not in the same league as people who can distill the problem at hand and wade their way through the seas of information quickly and efficiently.
Maybe instead of a code challenge, there should be a “how many Google searches does it take to find the solution to X.” Everyone has access to Google. Much rarer are the few that possess analytical skills to comprehend what they’re actually looking for.
Ask the Interviewing Developer What they Enjoy to Code
This doesn’t fall under “knowledge,” but plays into a more social aspect. When looking for a new hire, it is always important to make sure that they will be a good fit for the team. You want someone that won’t make your day-to-day life miserable. The same way an interviewer might ask you a social question to gauge your personality, you should ask one in return.
Let’s face it, most developers are geeks. Most can talk about code and or tech all day. I find the easiest question to get the ball rolling in a social direction is asking what technologies the interviewing or leading dev likes. This may not be what the company itself is hiring you for, but it can be a good way to find a common ground on something else.
Challenge the Code, Ask Why
This is kind of a different approach than being friendly, but ask “why?”. During the same interview that I had to pick up Backbone.js, I asked why they chose the framework over a framework like AngularJS which can be much easier to code for. We had an interesting conversation with the lead developer asking me questions about AngularJS and learning a bit from me.
I find both of these approaches can lead to interesting conversations. Remember that this interview is for a job, but don’t let that stop you from gaining new knowledge out of it.
Be Confident, You Know How to Code. You Are Interviewing Them, Too
There are many great practices when it comes to being a great interviewee, but I think a lot of people fail to realize that they are also interviewing the company. Get as much as you can out of the process. Learn something new. Make a friend. I know this sounds weird, but some of my favorite interviews were ones where I did not get the job. I ended up learning something new, and even emailed the hiring developer afterwards to ask more questions.
My last piece of advice is simple: be confident, without being cocky. I know it is always easier said than done, but development has been and will continue to be a great place to get a good paying job. As a developer you are in a unique group of people that are highly sought after in today’s marketplace. You know how to code, and you know how to take on a challenge. Let them know that, and I’m sure you will be getting job offers left and right.