title |
date |
tags |
category |
How to hire a programmer, a.k.a. tech recruitment explained |
2011-07-24 20:31:55 |
|
hopefully influential |
Today’s post is not a recipe at all. Here’s what I think the tech recruitment should look
like. It won’t be cheap. Start by describing the position. Who are you looking for,
what would they do for you, how would they bring money to your company.
Use words, not techie talk. I found most of the job descriptions online
do not match the real expectations of the employer. You just want a good
programmer, a person who thinks about what they does. It really doesn’t
matter if they know Haskell and you write in Erlang. I doesn’t matter if
they think in asm when you’re looking for Forth. I doesn’t matter if
they are Linux nerds and you’re Windows-only, if they know how
computers work. As long as they think about what they do and agree with your goals, that’s perfectly fine. If you
translate your desire for a good programmer into a bulletpoint list of
tech words you dehumanize it. Don’t look for skillsets, look for people. How to check whether someone is a good programmer then ? How to
score people against such a vague job description ? You don’t score
people, you just sort the set of people. Start by a rather loose
conversation. Tell me about the point in life you’re in, tell me
something about what fascinates you in the programming and finally
what’s your motivation for changing the job and why do you want to work
with us ? Somewhere in the middle I ask about the projects, what
technologies you do like, what not, why not. Do you feel comfortable
teaching others ? If someone is fascinated by
The Machines you're noticing it by now. Same with
boring people or annoying people. If you do not want to work with them
then do not hire them. Even if they’re brilliant. How does the computer
work then ? How does this happen that I have this text file full of
strange writings and suddenly they make the computer do stuff ? Why it’s
not a good idea to get the modern pc to fly a space shuttle ? What’s a
stack and what’s a heap ? Is the stack memory different from the heap
memory ? Why so. And the why. The most important question for me is the
mighty why. Not only should they understand how something works, but
more importantly why it works like that. I enjoy working with people who
are microwave-curious than the hex-feared ones. How does the microwave
oven heat things ? Does the DEADBEEF scare your ? Talk with people, make notes. What annoys you, what
impresses you. Do the exercises with them. Ask them how would they solve
a simple but a reallife problem. Design the solution with them. The more
lifelike the work scenario the better. Do the things you’d normally do
with your work colleague. And order the set of candidates. Work as the
simple max function. Decide
which one seems better suited for you. Then take the next one and
compare her to the current max. And please hire people only when you’re
ready to hire them. UPDATE. After writing this post I've stumbled onto
this 37signal's article