Recruitment and Startups

Thoughts on modern talent acquisition

Those two may not always go together, but do check out this quote from an article I found a while back:

“Hey Mike! You passed our phone screen. We’d like to invite you to visit our office and write some code on a whiteboard.”
“That sounds fine. Does the job involve writing code on a whiteboard?”
“Of course not.”

It’s scary how accurate this representation of tech recruitment is these days. As a budding developer myself, this fact irritates me to no end. Why are potential developers hired on the fact whether they can solve a tricky puzzle, that was designed to mess with your problem solving skills (and in no way measures how well you can write code), on a whiteboard in front of a hiring manager?

A while back, while interviewing for a pretty small tech startup, I was asked an obscure question relating to perfect spirals and 2D arrays. It was an interesting question, but it had absolutely no relation to the actual work I would eventually have to do in that company.

I get it, tricky-problem-solving-skills-under-pressure are definitely important in some scenarios, but a decision shouldn’t be made on that fact alone. This test doesn’t measure your ability to write quality production-level code at all.

Of course, a lot of startups/companies aren’t guilty of this. But to those who are: stop. Or at least, don’t put so much weight into it. Granted, coding puzzles are always interesting, and I do occasionally enjoy testing my puzzle-solving skills. However, they are simply not a good way to measure potential future performance.

I believe that the best developers for your company are those who truly care about your product, and who are already envisioning ways to improve it even before they get the job.

If I were personally hiring a developer to help me create a product which I was in love with, I’d look out for these things:

  1. Whether they are truly passionate about development. I’ve spent time with enough developers to be able to pick out the ones who truly care about their work, from other quick-witted developers who have every linked list algorithm memorized like the back of their hand, yet think of their work as nothing more than work.
  2. Whether they believe in your product. There’s no point hiring someone who doesn’t believe in the product. Of course, this doesn’t mean that criticism from programmers is bad. Having a developer who criticizes how and why everything works the way it does is actually one of the best things that could happen to you (as long as that criticism is accompanied by potential solutions).
  3. Whether they can write good code without too much supervision.

That’s it. Most startups don’t need as much technical prowess as they do a passionate team. Of course, if you’re starting the next Dropbox or other infrastructure-heavy company, more weight should be placed on looking for highly technical, highly experienced people. And you aren’t going to attract those people by quizzing them with puzzles.

If you want to hire quality people, just focus on building an amazing product with a great company culture, and quality developers who truly want to make a difference will come to you. Passion is key.