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

Меня зовут Олег Федоткин, я программист и менеджер в ИТ. Я провел более сотни собеседований (мне HR даже толстовку «Hiring Hero» по такому случаю подарили) и нанял десятки человек: программистов, тим лидов, юнит лидов, архитекторов — да всех. После всех интервью я выделил три качества, которые неизменно определяют классного специалиста.

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

Качество #1: ему не пофигу на работу

Самое ценное качество в специалисте.

Это те люди, которые не закроют ноутбук, пока не пофиксят тот плавающий баг. Они будут повышать coverage тестов в чужом коде и следуют правилу «оставляй код чище, чем он был до тебя». Они сами предлагают менеджеру идеи для улучшения продукта и приносят в бэклог найденный технический долг. Успехи и провалы проекта они воспринимают как свои собственные. Скорее всего, вам придется уговаривать их прекратить овертаймить, и я советую вам быть настойчивым. Если нашли такого — удерживайте всеми силами и следите, чтобы не выгорел.

Даже если сотрудник не тащит по хардам, ничего страшного — хардам вы его научить сможете. А вот научить человека болеть душой за свое дело — нет.

Как увидеть на интервью

  • Спросите, какие проблемы у него были на прошлом месте и как они решились. Именно решились — если вы спросите «как ты их решал», это зафреймит вопрос не в ту сторону. Хорошим ответом будет рассказ, как кандидат самостоятельно решил проблему или эскалировал ее, если самостоятельно не получилось.

  • Задайте вопрос, как его фичи влияли на продукт. Если человеку не пофигу на работу, ему и на продукт не пофигу и он понимает, как именно его фичи сделали продукт лучше.

  • Узнайте, влиял ли кандидат на бэклог команды. Проактивные люди сами наполняют бэклог найденным техдолгом или приносят идеи продакт менеджеру. Я сам видел и руководил командами, где программисты напрямую влияют на фичи.

Обратная сторона

«Не пофигу» — не тумблер, который вы сможете выключить. Такие специалисты не смогут долго работать в компании, где их инициативы не видят, не ценят и не дают ход. Погрузите его в пучину легаси без возможности исправления — и вы его потеряете.

Если «не пофиг» у человека развито чрезмерно, он будет рьяно указывать людям на точки роста — их проекта и их личные. Некоторых будет триггерить такая назойливость. Если у вашей команды или отдела проблема, готовьтесь услышать на 1-1 критику в ваш адрес.

«Не пофигу» — самое ценное качество. Нанимайте таких людей, цените их и держитесь за них. Из них вырастут ваши будущие тимлиды, юнитлиды и — кто знает — ваша будущая замена, когда вы решите сменить работу.

Качество #2: самонаводимость

Второе качество, которое нужно смотреть. Впервые мне про него рассказал Миша Петров — СТО Рокетбанка. Когда я только начинал карьеру тимлида, я спросил у Миши, кто для него идеальный разработчик? Михаил ответил: «Идеальный разработчик — это самонаводящийся дятел, который получает задачу и летит долбить нужное дерево, пока не выдолбит». За точность цитаты не ручаюсь, но посыл такой.

По пунктам, что для меня значит самонаводимость:

  • Человек способен сам доуточнить задачу. Высокая самонаводимость позволяет человеку решать задачи с высокой неопределенностью. Например, если задача связана с бухгалтерией, он доуточнит у конкретного бухгалтера критерий готовности задачи. Конечно, в идеальном мире задача поставлена так, что доуточнять не придется — но где вы видели идеальный мир?

  • Человек сам зайдет в другие команды, если нужна их помощь. Например, дойдет до девопс или фронтов и положит задачу к ним в бэклог без помощи своего тимлида.

  • Когда человек «навелся», он не забьет на задачу, пока не получит результат. Например, как-то раз программист поставил задачу соседней команде и забыл про нее. В итоге, про задачу забыли вообще все, никто ее не сделал, а спустя время задача стала критическим блокером для проекта. Когда программиста спросили, почему так, он ответил, что с его стороны пули вылетели. Классика! Самонаводящийся боец продолжал бы раз в день-два спрашивать, как поживает его задача и пушил ее дальше.

Как увидеть на интервью

  • Спросите про задачи с самыми туманными требованиями и послушайте ответ. Не пугайтесь, если туманные требования соискателю не понравились — это не красный флаг, это нормально. Важно то, как он обработал эти туманные требования.

  • Узнайте, как часто ему приходилось общаться к людьми не из своего отдела. В идеале, если это были люди даже не из ИТ, как можно ближе к бизнесу. Самонаводимые люди неизбежно контактируют с бизнесом.

  • Задайте вопрос «расскажи мне про самую долгую задачу». Здесь важно узнать, насколько человек контролировал расплывшуюся по времени задачу и не забил ли он на нее.

Обратная сторона

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

Самонаводимость — отличное качество человека, которое в разы снижает время на его менеджмент и сильно выделяет человека из рядов обычных специалистов.

Качество #3: внутренний локус контроля

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

  • Внешний локус контроля диктует человеку, что в его неудачах виноваты внешние факторы. Опоздал на работу — это проклятые пробки, ничего не могу поделать. Завалил спринт — это коллеги не вовремя завершили тестирование или развернули стенд, ничего не попишешь.

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

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

Главный плюс человека с внутренним локусом — он не просто принимает внешние факторы, он старается их менять. Такая любимая всеми «проактивность» это следствие внутреннего локуса.

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

Как увидеть на интервью

Задать вопросы вида:

  • «Расскажи про свой самый большой провал. Что привело тебя к нему?» — максимально лобовой вопрос. Если виноваты вообще все, кроме самого человека это повод копнуть глубже, но делайте выводы лишь на основании одного ответа!

  • «Расскажи про случаи, когда не удалось выстроить отношения с другой командой или человеком». Если соискатель обвиняет лишь другую сторону, это не здорово. Часто в проваленной коммуникации виноваты обе стороны, здорово, если соискатель подсветит эти моменты.

Обратная сторона

Люди с внутренним локусом любят загоняться там, где не надо. Иногда ситуация действительно диктует условия, с которыми можно только смириться. Но внутренний локус — это не отключаемая фича и за провалы такие люди съедают себя очень сурово.

Итог

Три качества, которые я обязательно выясняю на интервью:

  • Насколько «не пофигу» на работу

  • Уровень самонаводимости

  • Где находится локус контроля

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

Больше контента про менеджмент, мотивацию и карьеру в ИТ вы найдете у меня в ТГ канале — подпишитесь, если еще не.

Tech-команда Купера (ex СберМаркет) ведет подкаст «Для tech и этих» от наших it-менеджеров. Я там тоже есть :)

Комментарии (16)


  1. maxim-kiryanov
    06.08.2024 10:16
    +8

    Интересно какой в Купере burnout rate и статистика по увольнениям


    1. alextodef Автор
      06.08.2024 10:16

      За весь Купер не отвечу, у меня из ста человек в год уходило по 2-3 в среднем.


      1. zloddey
        06.08.2024 10:16

        С Качествами или без? (ирония)

        Погрузите его в пучину легаси без возможности исправления — и вы его потеряете.


  1. Spellinger
    06.08.2024 10:16
    +4

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

    Положить задачу в чужой бэклог так чтобы ее взяли ,при этом забив на свои задачи чтобы ее выполнить? )) -- Ну серьезно что ли? Это решаетвся тимлидами и,чаще всего ,с привлечением вышестоящего начальства.

    Мне не пофиг -но шевелить я буду своего менеджера ,а не делать его работу.


    Софтскиллы нужны тем,у кого с хардскиллами плохо )


    1. alextodef Автор
      06.08.2024 10:16

      В общем, в этом и различие. Самонаводимый человек считает, что его работа — это доставить ценность клиенту.

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


      1. S_gray
        06.08.2024 10:16
        +1

        С таким человеком, конечно, менеджеру работать проще - чего там, чувак за свою ЗП тянет ещё немножко и менеджерскую часть работы, но в сознании исполнителей часто присутствует иерархия: "чего это мне тут кто-то кидает работу, у меня своих дел, поставленных начальством, по горло". И задача пропадает, а менеджер потом руками разводит:"А кто мне сказал?" Я вообще замечал у менеджеров такую привычку - размазать свои обязанности по подчинённым и таким образом ещё и ответственности избежать - инициатива же наказуема...


        1. alextodef Автор
          06.08.2024 10:16

          А вот тут мы подбираемся к вопросу о хорошем процессе поставки ценности. Если на сотруднике одновременно висит сразу несколько задач и это происходит регулярно, такой процесс нельзя назвать хорошим. Можно выставить WIP-лимит или ограничить поток входящих задач, потому что незавершенная работа — это яд, который постепенно разъедает проект.

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


          1. S_gray
            06.08.2024 10:16

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


      1. michael_v89
        06.08.2024 10:16

        А если для того, чтобы толкнуть задачу, нужны тимлиды и вышестоящее руководство

        То это правильно постренный процесс управления. У рядового сотрудника нет никаких полномочий ставить задачи другим отделам и контролировать их выполнение. У другого отдела есть план и свои задачи. Если есть задача для другого отдела, сотрудник обращается к тимлиду своей команды, он идет к тимлиду другой команды, тимлид другой команды на выделенном для планирования созвоне добавляет ее в план и контролирует выполнение. Тогда, если задача оказалсь просрочена, то ответственный за это тимлид/менеджер другой команды, он не выполнил свои обязанности.

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

        то это приведет к росту сроков и тонне лишней коммуникации на ровном месте

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


        1. alextodef Автор
          06.08.2024 10:16

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

          Если у разработчика возникла необходимость получить помощь другой команды, например, допилить API их сервиса, то он может пойти и к тимлиду другой команды, и к линейному сотруднику. Оба могут на следующем PBR'е, груминге или даже дейлике внести таску в бэклог спринта (некоторые команды закладывают время на непредвиденные задачи в спринт) или заложить капасити на следующий спринт. Мы живем в мире распределенных систем, и сервисы взаимодействуют друг с другом — поэтому взаимодействие людей неизбежно. Как бы программист не продумал API сервиса, доработки и фиксы будут.

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

          Такой подход снижает басфактор, потому что не все упирается в тимлида. Что если тимлид заболеет? Команда будет отрезана от внешнего мира, потому что контакты не налажены.

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

          Такой подход поможет вырастить людей, которым интересен дальнейший рост в менеджмент.

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

          Мне удобнее считать, что за свою задачу отвечаю я, и самый заинтересованный в выполнении человек — тоже я. Менеджер другой команды может забыть, отвлечься, потерять блокнотик с записями, многое может произойти. Так что даже если часть моей задачи лежит в бэклоге другой команды, убедиться, что по ней есть прогресс должен тоже я. Главное, не возводить это в чайка-менеджмент и микро-контроль. Важна умеренность.

          Не видите проблем в своей логике?

          Искренне — нет. Не троллю :) Если более явно подсветите, будет здорово.

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

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

          Я люблю повторять, что hope — is not a strategy (спер у гугла) и лучше убедиться, что задачу взяли в работу, чем надеятся, что ее взяли в работу. Тем более, если процессы хорошие, для этого достаточно просто зайти на доску команды и увидеть свою задачу в To Do и потом в In Progress. Это не займет более одной минуты. Тем более, что у любого процесса есть свои точки роста и абсолютного идеала, где все работает как часы, даже условная Toyota не достигла.


          1. michael_v89
            06.08.2024 10:16
            +2

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

            Ну как это работает, если вы сами привели пример, что не работает. А всего-то надо было, чтобы тимлид сказал тимлиду, а не разработчик разработчику.

            Что если тимлид заболеет?

            Вы прикалываетесь что-ли?) Еще и менеджером называетесь. Если тимлид заболеет, назначается тот, кто будет выполнять его обязанности. Процесс остается тем же.

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

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

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

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

            убедиться, что по ней есть прогресс должен тоже я

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

            Если более явно подсветите, будет здорово.

            Я это сделал в предыдущем комментарии. Вы предлагаете способ как избежать роста сроков, при этом сами приводите пример, как он привел к росту сроков.

            Тот же тимлид может уволиться и его преемнику потребуется время, чтобы влиться в процессы.

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

            и лучше убедиться, что задачу взяли в работу, чем надеятся, что ее взяли в работу

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

            Это не займет более одной минуты.

            И? Я не понимаю, как из этого следует, что эту минуту должен тратить не тот, в чьи обязанности это входит.
            И нет, это не одна минута. Разработчик зашел, увидел, что задача еще в To Do, потратил еще 2 минуты на сообщение вида "Привет, что там с задачей?", начал делать свою задачу 10 минут, потом ему пришел ответ, он отвлекся, прочитал его, выпал из контекста, потратил еще 8 минут, что вернуться обратно в контекст. В итоге минус полчаса, 6% рабочего времени. А что в это время делает тимлид? Ничего не делает.


  1. ShaggyCat2
    06.08.2024 10:16

    Ох уж этот локус контроля ... Лучше бы его не было совсем


    1. ivankprod
      06.08.2024 10:16

      В чем проблема с ним?


  1. ILikeWorking
    06.08.2024 10:16

    • «Расскажи про свой самый большой провал. Что привело тебя к нему?» — максимально лобовой вопрос. Если виноваты вообще все, кроме самого человека это повод копнуть глубже, но делайте выводы лишь на основании одного ответа!

    • «Расскажи про случаи, когда не удалось выстроить отношения с другой командой или человеком». Если соискатель обвиняет лишь другую сторону, это не здорово. Часто в проваленной коммуникации виноваты обе стороны, здорово, если соискатель подсветит эти моменты.

    Существует вероятность, что если в провалах обвинять только себя, то на собеседовании просто откажут такому кандидату. "Зачем он нужен, если такие ошибки делает..."

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

    P.S. "Проактивность" не нравиться ичарам. У меня уже было несколько случаев, когда я несколько дней ждал результатов по моему отклику на вакансию, потом звонил или писал в компанию ичару. В результате через несколько минут приходил отказ по вакансии.


    1. alextodef Автор
      06.08.2024 10:16

      На интервью кампания смотрит кандидата, а кандидат — компанию. Если так получается, что в компании не принято брать ответственность за ошибки, а к самим ошибкам относятся как к чему-то непростительному и пытаются замести под ковер, для меня это стало бы красным флагом :)

      Ошибка — это шанс стать лучше. Главное, чтобы одни и те же ошибки не повторялись из раза в раз, вот это действительно печально.


  1. enabokov
    06.08.2024 10:16

    https://youtu.be/KV0h0j0eCSM?si=tV3t9kk5QpN6pXRv