От найма до увольнения — один пулл реквест

Меня зовут Давид Шекунц и последние 6 лет я помогаю IT-проектам. Сегодня хочу поделиться историей, как мне пришлось за 2 дня нанять специалиста, а на 4-ый день уволить. Я расскажу, как быстро проводить интервью и что может стать причиной незамедлительного расторжения отношений.

В закладки
Как отпустить программиста ​Давид Шекунц

Что произошло

Ситуация была критической: нужно было срочно помочь друзьям на одном проекте. Решили нанять удаленных разработчиков.

Времени не было от слова "вообще", поэтому требовалось за 2 дня найти 2-3 человека и включить в работу.

Немного ловкости рук и мы нашли десяток кандидатов.

Интересна ли вам тема экстренного найма разработчиков? Я могу написать об это статью
Да
Нет
Показать результаты
Переголосовать
Проголосовать

Акт первый. Горячий стул (10 минут)

Вот такого рода сообщение я писал людям:

​Блиц-опрос программистов Давид Шекунц

Запомните очень важное правило: всегда говорить и спрашивать тонкие вещи в первых же сообщениях.

Сразу спрашивайте в лоб неудобные вопросы: про деньги, вашу шаткую ситуацию или 10-ти часовой рабочий день в ближайшую неделю. Это сэкономит вам кучу сил и даст возможность найти те самые брилианты, которые сотворят чудо на вашем проекте.

Если человек начинает юлить и плавать в критически важных вопросах, особенно про свою стоимость, то он или новичок, или пытается понять «а сколько можно стрясти», или просто дебил, но в любом случае он уже нечестен и не надо с ним связываться.

Акт второй. Созвон (15 минут)

Созваниваемся и общаемся с разработчиком минут 10-15.

Узнаем как давно работает, чем занимался, какой последний крутой проект, чем хотел бы заниматься у вас на проекте, в чем он слаб, а в чем силен, работал ли в схожих вашему проекту условиях. В конце рассказываете вкратце про свой проект.

Не надо тратить много времени на рассказ о своем проекте, если человек об этом не просит. Я очень не люблил, когда созванивался с работодателем и слушал час о его проекте на первом созвоне. Это просто трата времени и появляется ощущение, что они в себе не уверены. Если мне интересно, я сам все спрошу ИЛИ поговорим на 2-3 звонке.

Будьте коротки, но бейте в цель.

Главное, чтобы человек показался адекватным и не было явных звоночков. Если все ок, то выходим на третий этап.

Акт третий. Тайные знания (60 минут)

В данной конкретной ситуации у меня был только один вариант: услышать разбор одного из кейсов разработчика.

Мой любимый способ проводить техническое интервью: я прошу человека по скайпу показать мне свой экран и рассказать об одном из проектов. Пройтись по коду, рассказать про концепцию, что он бы исправил, что он накостылил и почему, что не сумел сделать вовремя, где ошибся, где чего-то не понял и что улучшил.

Короче, послушать его так, как будто я новый программист на проекте и он должен ввести меня в курс дела.

Полные списки технических вопросов я буду публиковать в отдельных статьях, иначе текущая получится слишком длинной.

Интересна ли вам будет статья с полным списком вопросов для найма frontend и backend специалистам? 
Да, frontend
Да, backend
Да, все
Нет, ты глупый
Показать результаты
Переголосовать
Проголосовать

Если тут все проходит успешно, то остается последний этап.

Акт четвертый. Бюрократия (40 минут)

До этого этапа стоит довести одновременно x2-3 больше разработчиков, чем вам нужно, потому что уже тут остается подытожить готовность, стоимость, сроки оплаты и вводить кого-то в курс дела.

Конечно, на этом этапе уточняем про тестовый период. Основная идея этого периода — можно расстаться день в день. Обычно это от 3-х дней, до 2 недель. Позже этого срока у человека уже появляется такая ответственность на проекте, что расставаться день в день невыгодно для всех.

А как же тестовое?

Тестовое для уровня выше Middle- не работает. Реальное тестовое я даю только, когда беру на работу Junior или не верю в человека. Если он выполнит тестовое, тогда я в него поверю и готов буду рассмотреть.

В остальных случаях достаточно разговора по душам + можно попросить что-то сделать при созвоне: решить задачку, нарисовать архитектуру, или (самое мое любимое) псевдокод на бумаге ручкой.

Завязка

На том проекте, до конца собеседований дошло 4 человека, из них 2-х мы могли взять и как раз 2 человека подходили. Остальные были гораздо дороже.

Один кандидат по ощущениям Middle+, второй Middle-. Каждый по 10$ в час. Оба живут не в России.

Кандидат Middle+

Дело в том, что он на каждом этапе показал себя очень хорошо: отвечал без сомнения, вел себя очень приятно, показал проекты и код, рассказал как строил логику и делал сложные анимации.

Я бы сказал, что он очень поразил и меня, и моих коллег, и даже второго кандидата. Все говорило о том, что это "золотой билет".

Катарсис

Когда мы начали работу, уже на второй день стало ясно несколько вещей:

Во-первых, его PR нужно было сильно править, потому что они были с кучей логических ошибок.

Во-вторых, PR часто не работали или не решали задачу так, как это было описано в карточке Trello.

В-третьих, у него были большие проблемы даже со знанием самого JS: использование filter и map без присвоения, везде «new Promise» без причины, незнание команды throw и так далее.

Корень проблемы

Да, возможно, проблема была не в нем, а в нашем менеджменте или скорости, но есть два «НО»:

(1) Второй разработчик, который сам признался, что считал себя менее опытным, справлялся очень хорошо

(2) Неважно с кем конкретно возникла проблема, важно, что она возникла в нашем совместном взаимодействии.

Развязка

Мы разошлись на четвертый день работы.

Сразу скажу это нелегко… это всегда нелегко. Особенно, когда понимаешь, что перед тобой добрый и ловкий человек. Но времени на разбирательства не было.

Я дал честный фидбек, сказал, что мне грустно из-за этой ситуации и я был бы рад дать еще больше времени, но этого времени нет. Он поблагодарил за опыт. Мы разошлись на неуклюжей, но относительно позитивной ноте.

Последствиями стало то, что кроме потери человека, мы себя немного деморализовали.

Заключение

Жалею ли я, что нанял его? Нет, это было правильное решение, все указывало на то, что надо было так поступить.

Как подобных ситуация не допускать? Во-первых, начинайте процесс найма людей заранее, 2 дня это мало, нужна, примерно, неделя-две. Во-вторых, нет ничего плохого в том, чтобы давать людям шанс и если не идет, то расходится. Я верю в людей и это позволяет им раскрываться с самых неожиданных сторон и удивлять меня и моих коллег.

Второй программист до сих пор успешно работает на том проекте, что меня очень радует.

P.S.

Если вам интересно, чтобы я раскрыл более подробно какой-то из аспектов сбора команды или запуска процессов, буду рад вашим комментариям.

Если вы несогласны с какой-то точкой зрения, тоже добро пожаловать в подкат.

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Давид Шекунц", "author_type": "self", "tags": [], "comments": 12, "likes": -3, "favorites": 6, "is_advertisement": false, "subsite_label": "hr", "id": 100794, "is_wide": false, "is_ugc": true, "date": "Sun, 12 Jan 2020 13:32:30 +0300", "is_special": false }
Создать объявление на vc.ru
Сервисы
Куда уходят клиенты конструкторов сайтов
Чаще всего мигрируют с Wix на Tilda, клиенты «Платформы LP» переходят на Creatium, а «Битрикс 24» и Tilda обмениваются…
0
{ "id": 100794, "author_id": 144357, "diff_limit": 1000, "urls": {"diff":"\/comments\/100794\/get","add":"\/comments\/100794\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/100794"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199121, "last_count_and_date": null }
12 комментариев
Популярные
По порядку
Написать комментарий...
1

Статья охуеть просто.

Ответить
0

Был бы рад, если бы вы аргументировали свою точку зрения

Ответить
0

Одна половина статьи — перечисление всякой банальной херни (спрашивайте про деньги) вперемешку с опусами, типа «лично я не люблю, когда говорят про проект, поэтому не говорите про проект», другая половина — «мы наняли человека, он не справился, мы его уволили». Ну я даже не знаю.. Сочувствую, что ли.. Или как на это нужно отреагировать? Нахрена мне вся эта информация? В чем ее полезность? Кто вернет мне 5 минут жизни, которые были потрачены на прочтение статьи вместо просмотра мемесов?

Ответить
0

Я писал эту статью, чтобы помочь людям, которые находятся в схожей ситуации выбора и которым может быть непросто его совершить.

Если у вас нет подобной ситуации и мой опыт для вас нерелевантен, ну хорошо, я не могу попасть в желания каждого.

Если у вас будет совет, как поправить данную статью, буду очень признателен, поскольку считаю что любая критика, пока он конструктивная, делает всех нас лучше.

Ответить
–1

Давид. В твоей статье нет помощи, просто перечисление событий с которыми сталкивается любой руководитель. Я понимаю, что для тебя это, видимо, в первый раз, но не стоит сразу бежать преподавать курсы, возможно, стоит подумать, а что действительно ты можешь сказать. 

Если у вас нет подобной ситуации и мой опыт для вас нерелевантен, ну хорошо, я не могу попасть в желания каждого.

Да господи. За 5 лет управления командой в 10+ человек, вообще ни разу 🤦‍♂️

Если у вас будет совет, как поправить данную статью, буду очень признателен

Эту? Никак. Сначала нужно набраться опыта, переработать полученную информацию и подумать, нужно ли это кому-то? Есть ли что-то полезное в этом? Есть ли что-то НОВОЕ? Готов ли я сам это читать?

Ответить
0

"Я понимаю, что для тебя это, видимо, в первый раз, но не стоит сразу бежать преподавать курсы, возможно, стоит подумать, а что действительно ты можешь сказать."

Жаль, что сложилось подобного рода впечатление. Я буду продолжать раскрывать свои кейсы, полученные в ходе последних 6-ти лет работы в области IT.

"Сначала нужно набраться опыта, переработать полученную информацию и подумать, нужно ли это кому-то?"

Да, это было нужно как минимум моим коллегам, которым я помог, потому что это дало очень хороший результат и теперь они гораздо эффективнее находят разработчиков.

"Есть ли что-то полезное в этом? Есть ли что-то НОВОЕ?"

Опять же, для коллег с которыми я работал на этом кейсе, такой подход был нов и полезен

"Готов ли я сам это читать?"

Да, вполне. Я люблю читать чужие истории, поскольку могу не только почерпнуть мнение автора, но и сформировать свое поверх его кейса и чему-то научиться.

Ответить
0

Может ваш Middle+ за 10 баксов перепродал работу какому-нибудь Junior- за 5 баксов.

Ответить
0

Да, что тоже возможно, но поскольку мы в онлайне обсуждали решение некоторых задач, я предполагаю, что просто не смог разглядеть недостаточно квалифицированного специалиста

Ответить
0

"Я знаю насколько сложно увольнять людей"

Обычно несложно.

В сложном случае - пустой стол на две недели, пусть отсидит формально по ТК. В простом случае - полчаса и пинка под зад.

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

Никто не переживает. Все участники процесса (управляющий, отдел кадров, начальник отдела, отдел кадров) сидят на окладе, им плюс-минус один расходный материал - писанины на 15-20 минут.

Ответить
0

"В простом случае - полчаса и пинка под зад."

Пока человек не совершил что-то абсолютно аморальное, НИКТО НЕ ИМЕЕТ ПРАВО "пинать его под зад". Если вы считаете это нормальной конструкцией, то вы - плохой менеджер или работаете в плохих компаниях, которые относятся к сотрудниках, как к расходному материалу.

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

Ответить
0

"которые относятся к сотрудниках, как к расходному материалу"

Роснефть - плохая компания? Вроде нет.

А работника, при некотором стечении обстоятельств, уволили за запах табака.

В этом государстве законы (и ТК в том числе) применяются по духу, а не по букве.

Ответить
0

Ах, не помню название статьи, которая описывает почти все самые характеристики выбора хорошей работы программистом (а часто, кем угодно) и там есть пункт "не работать в около государственных фирмах" и я полностью согласен

Самое ужасное, когда власть использует свою силу на базе формальности, а не справедливости, поэтому плохая ли для работы не топ-менеджером фирма Роснефть? Если вы говорите что там существуют подобные прецеденты, то да.

Что с этим делать? С точки зрения работников, стараться избегать такие фирмы. С точки зрения предпринимателей, стараться не копировать их модель. С точки зрения рынка, помогать образовательным учреждениям по подготовке руководителей (я говорю не только об институтах), поскольку данная ситуация складывается в том числе из-за отсутствия культуры управления.

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }