Єдина Країна! Единая Страна!

Математична формула для наймання програмістів

Червень 11th, 2013

Я насправді дуже мало знаю про процес найму прогармістів, бо ніколи не займався цим безпосередньо. Однак, я дуже люблю спостерігати за іншими людьми, колективами, компаніями, і т.д.

За останні кілька років мені довелось поспостерігати за чималою кількістю дуже різних процесів наймів програмістів. Моїм найяскравішим спостереженням є: що простіший спосіб пошуку та найму використовувався — то кращою та успішнішою буде команда: якщо ви вийобуєтесь півроку шукаючи чергового гавнокодера — знайдете якогось супер занудного мудака, який пропрацює на вас 6-9 місяців; наймете інженера просто за рекомендацію іншого інженера, якому довіряєте — матимете ще одного дуже хорошого програміста, який просто “увійде” в роботу, і, якщо ви не тупитимете — працюватиме з вами кілька років.

Оскільки люди тупі, і, як правило, допускаються дуже багато помилок в усіх сферах життя — найраціональнішим рішенням було б довірити цей процес математиці.

Геніальний вчений сучасності, нобелівський лауреат з економіки, Деніел Канеман, який витратив величезну кількість часу вивчаючи те, як люди повинні і не повинні прийняти рішення — розробив для армії оборони ізраїлю дуже простий алгоритм пошуку людей для школи офіцерів, якою він дуже люб’язно поділився з нами у своєї супер крутій книжці “Thinking, Fast and Slow”:

Suppose that you need to hire a sales representative for your firm. If you are serious about hiring the best possible person for the job, this is what you should do. First, select a few traits that are prerequisites for success in this position (technical proficiency, engaging personality, reliability, and so on. Don’t overdo it — six dimensions is a good number. The traits you choose should be as independent as possible from each other, and you should feel that you can assess them reliably by asking a few factual questions. Next, make a list of those questions for each trait and think about how you will score it, say on a 1-5 scale. You should have an idea of what you will call “very weak” or “very strong.”

These preparations should take you half an hour or so, a small investment that can make a significant difference in the quality of the people you hire. To avoid halo effects, you must collect the information on one trait at a time, scoring each before you move on to the next one. Do not skip around. To evaluate each candidate add up the six scores … Firmly resolve that you will hire the candidate whose final score is the highest, even if there is another one whom you like better — try to resist your wish to invent broken legs to change the ranking. A vast amount of research offers a promise: you are much more likely to find the best candidate if you use this procedure than if you do what people normally do in such situations, which is to go into the interview unprepared and to make choices by an overall intuitive judgment such as “I looked into his eyes and liked what I saw.”

Геніально, нє!? Давайте спробуємо застосувати даний алгоритм для програмістів.

Припутимо, вам потрібен embedded Linux інженер зі знаннями мереж. Тепер складемо перелік метрик (з ними можна спокійно не погодитись — це більшою мірою лише приклад), за пріорітетом:

  1. Кодив на С 5+ років. Прочитав “Expert C Programming: Deep C Secrets”.
  2. Писав мережний софт 2+ роки. Прочитав “The TCP/IP Guide”.
  3. Знає основи схемотехніки. Пройшов курси “Circuits and Electronics”, “Microelectronic Devices and Circuits”, та “Integrated Microelectronic Devices”.
  4. Працював в інших країнах, або ж провів бодай півроку свого життя у відрядженнях закордоном.
  5. Добре володіє англійською. Екстраверт. Має багато друзів. Вам комфортно з ним.

Крок №2 — складаємо перелік з 3-5 запитань для того, аби оцінити кожен з навиків. Сподіваюсь, у вас вистачить на це мізнків, інакше, навтіь математика не допоможе. Сумуємо бали, множачи їх на коефіціонт. Наприклад, 3 з 3-х за №1 — 3*1.5; 2 з 3-х за 2 — 2*1.4, і т.д.

Певно, найкращим, спсобом було б зібрати рекомендації, і прийняти рішення після звичайної неформальної бесіди, аби познайомитись з кандидатом особисто.

Це все. Головне — уникнути можливості використання емоцій та послідувати за егоїстичним бажанням набрати команду, яка тішитиме твоє его, а не робитиме роботу найефективнішим чином.

Коментарі

коментарі

Powered by Facebook Comments

Comments are closed.