49 lines
3.1 KiB
Markdown
49 lines
3.1 KiB
Markdown
|
---
|
|||
|
title: How to hire a programmer, a.k.a. tech recruitment explained
|
|||
|
date: 2011-07-24 20:31:55
|
|||
|
tags: [recruitment]
|
|||
|
category: 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](http://37signals.com/svn/posts/2628-how-to-hire-a-programmer-when-youre-not-a-programmer)
|