This article was originally posted September 15th 2016 but has been updated for clarity.

Over the last decade, I’ve hired more developers than I can count. Naturally, I’ve made plenty of mistakes too. I started out hiring the smartest, most experienced people I could find, and I didn’t care if they were assholes. I cared about what school they attended. I hired fast to get people in seats. Fail after fail, I learned not only what makes a good developer, but what makes a strong team.

Now, I look for three key things in the following order: Character, Intelligence, and Skill. Here’s a little more about what each of those mean to me and how each quality plays out.

1. Character

Is the person self-motivated? Do they strive to be the best developer possible? Are they putting in the effort to constantly learn, or do they need a push?

I look for people that really love what they do. Is coding their passion or what they do to fund some other passion? I’m not suggesting that you find people who only want to code all day long. You need folks who are balanced with a variety of talents, interests, and hobbies. However, you want to see the fire in their eyes when they talk about new coding principles or an awesome new library that just came out. They are going to be spending a huge chunk of their day coding. You need to find people who are not only ok with that but live for it.

At some point, this boils down to, “Do I like this person?” It’s totally subjective but important for healthy team dynamics. However, be careful that you don’t hire for sameness. You need a diverse, well-rounded team with a variety of personality types.

What I’m really looking for is — How does this person make others feel? When shit hits the fan, do they look for someone to blame? Or, are they the first person to ask, “What can I do to help?” Are they a strong communicator? Can they give and take feedback in a constructive way?

When you hire someone with poor interpersonal skills, you’ve hired a slow-growing cancer. Their influence will corrode the best parts of your company culture. By the time you cut out the cancer, you will inevitably lose some good people. Don’t make this mistake. The output of one brilliant, asshole developer won’t compensate for the damage to your team.

2. Intelligence

I’m talking about raw intelligence. I don’t care about what school a potential new hire went to, or what certifications they have. I care that this person is a problem solver, a fast learner. This can be tough to tease out during an interview, but I’ll give a few in-depth tips for this in a future post. I try to throw interviewees curveballs but nothing ridiculous or insulting. I listen to their response then challenge them on it. It doesn’t matter if I agree with them or not. I’m looking for how they respond to my curveball. Ask candidates simple questions that don’t have a “right” answer, and ask them to think out loud to see how they come to a conclusion.

3. Skill

Obviously, you need someone who has the skills to do the job that you’re hiring them for — but this hiring pillar is flexible. You should be more concerned with hiring someone that knocks the first two pillars, character and intelligence, out of the park. You can teach skills, but you can’t teach character or intelligence. How many candidates have been out of the running before you even meet them because they don’t know some random language or the fastest way to sort an array? You’re shortchanging the candidate and missing out on someone that’s potentially awesome.

I’ve had tremendous success hiring people who have never directly done the job that I’m hiring them for but really embody the character and intelligence I’m looking for. I can feel confident in hiring that person because I know they’ll put in the extra work to catch up and gain the skills required. Also, I know that I’ve built a supportive team to make that possible.

If you find someone extremely special, pull the trigger on that hire. You’ll be surprised at how fast they get up to speed. If you’re worried about having the time or resources to train them, reach out to your network and see if you can enlist a mentor for this new hire to, at least, help them get started.

There you have it — that’s what I look for in new hires at East Coast Product. In the next few weeks, I’ll outline my interview process, so make sure to subscribe to the blog.