This is Part 1 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop.


You’re hiring - yay!

How would you describe what kind of person would be an ideal candidate to hire? Beyond experience in a tech stack, what attributes might they exhibit that would make them a good addition to your team? How would someone else know who to recommend to join your team, or whether they themselves might be the perfect addition to your team?

These are some common answers I’ve seen:

  • Smart and learns fast
  • Independent, gets things done
  • Not a jerk
  • Someone I can eat lunch with / go for a beer with

These sound pretty good until we stop and ask ourselves what they really mean. What makes someone “smart”? How fast is “learns fast”? What happens when you think “smart” means one thing, your candidate thinks “smart” means something else, and you hire them because you both think they’re “smart”? We talked a little about this at the RailsConf 2018 workshop on Interviewer Skills. Neither you nor your candidate are wrong about your definitions of “smart” – but it’s important for you to have compatible views to be able to work together effectively.

One way to tell how well you know what you’re looking for is to describe that attribute in a few words. In five words, what are some ways it means to be “smart”, to be “independent”, to be “not a jerk”?

Slide from RailsConf workshop: two people may have different ideas about what it means to be a jerk. Neither person is wrong, but that doesn't mean they're compatible teammates.

Since we went pretty in depth on what it means to be “not a jerk” at the RailsConf workshop (see above slide for some very reasonable but incompatible interpretations), let’s pick a different answer to dig into for this article: “independent, gets things done”.

Breakdown: “Independent, gets things done”

Being independent could be many different, and possibly contrary, behaviors. Is a candidate independent if they

  • Ask colleagues questions to unblock themselves?
  • Strive to deliver without asking for help, no matter how much time it takes?
  • Ask for feedback on design decisions before implementing?
  • Take sole ownership and become the only silo of knowledge on critical code paths?

Different people can come up with different implications for what it means for someone to be “independent” or “get things done”. None of these beliefs or behaviors are wrong or bad. But if you mean one thing by “independent” and your candidate means something different by “independent”, after your candidate starts on the job you’ll both feel like the other party isn’t meeting expectations (and maybe feel they kinda misled you in the hiring process).

You: Hey, it’s been several weeks and you seem to still be asking your colleagues a lot of questions.

Them: Yes, I ask questions because we talked about how this team values independence.

You: That’s… that’s not independence.

Them: What kinda bizarro company is this where that’s not a mark of independence??

That’s a lot of unnecessary hurt feelings and lost time that could have been prevented with a little more preparation by you, the hiring and interviewing party.

What can you do to prevent this?

Know your goals: be able to describe the candidate attributes you’re looking for, in about five words per attribute.

One tool that can help you do this is to write down some of the ways you appreciate seeing people on your team be “independent”.

Example:

  • Alex has a knack for knowing when to consult a senior team member because there’s a major technical design decision that should be considered, and rarely asks someone for feedback on unimportant, isolated work
  • Beck always asks about the user pain in a story, which results in being able to accurately and independently make the right tradeoffs
  • Casey’s estimates for when a task will be completed are usually very close to what ends up happening, with very few surprises

From here, you’ll be able to find your attribute description. You can look for a unifying theme, or shared characteristics. Maybe it’s “collaborates with a strong sense of solo ownership”. Maybe it’s “seeks input that can drive decisions without external input”.

This is just an example of how to describe “independent”. If “independent” is an important attribute for you and your team (and it might not be!), what “independent” means to you may be different. Find how to describe “independent” for you and your team.

Once you’re done digging into one of the candidate attributes you’re looking for, don’t stop there! Repeat this process for 3-5 other attributes besides “independent” that you value in your teammates. When you’re done, take a look at the 4-6 attributes you’ve described. These are your hiring goals. This is what will indicate to you if a candidate should be hired or rejected. Make sure everyone on the team is aligned on these goals. Regardless of your hiring practice – whether you have a full day on-site, or share a coffee and a handshake – knowing your hiring attributes as a team is the key to successfully hiring your future teammate.

Photo (cropped) of a person sitting across the table, holding a latte. Photo credit: @marceau_photeau from nappy.co, license CC0 - thank you!"