Хабрахабр

Какие soft skills нужны разработчику? Мнения из Яндекса

Скоро начнется большая студенческая олимпиада «Я — Профессионал». Она уже несколько лет проходит в онлайне и офлайне. Участвовать могут студенты самых разных специальностей, включая технические. Олимпиаду организуют 26 ведущих вузов: НИУ ВШЭ, МГУ, МГТУ, МФТИ, МИФИ, СПбГУ, Университет ИТМО и другие.

Для нас «Я — Профессионал» уже второй год подряд становится хорошим поводом поговорить про важность софт-скиллз (гибких навыков) в работе разработчиков и других специалистов. Яндекс — технический партнер проекта. Говорил о них и руководитель офиса разработки Яндекса в Новосибирске Сергей Бражник, выступая на тренинге, входящем в программу «Я — Профессионал». Год назад в нашем московском офисе прошла встреча для участников олимпиады, посвященная софт-скиллам. Сегодня Сергей и еще двое руководителей в Яндексе — Анна Федосова и Олег Мохов Olegbl4 — расскажут для Хабра о гибких навыках: какие они бывают, какие из них нужны разработчику, где их получать и как их наличие сказывается на росте в компании.

Сергей Бражник, руководитель офиса разработки в Новосибирске, директор по развитию региональных образовательных проектов

Принято считать, что коммуникация в этой профессии — не важный навык, но если задуматься, он необходим для профессионального роста: нужно уметь задавать вопросы, слушать и слышать собеседника, объяснять свою точку зрения и принимать чужую, говорить и договариваться. — Для разработчика важны «4К»: критическое мышление, креативность, кооперация и коммуникация. Смотрим на то, как человек рассказывает о себе. Стажер может не уметь работать в команде или критически мыслить — и это нормально, потому что у него еще нет такого бэкграунда.
Если к нам на собеседование приходит уже созревший специалист, то все эти скиллы мы оцениваем во время разговора. Критическое мышление проверяем на задачах. По ходу задаем наводящие вопросы и много уточняем. С одной стороны, нам важно, чтобы он их решил, с другой — мы смотрим, как именно он их решает.

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

Это первый и самый важный шаг — осознать, что да, действительно, у меня здесь чего-то сбоит. Допустим, вы поняли, каких навыков вам не хватает. За другом можно просто понаблюдать. Далее в идеале найти наставника — хотя бы друга, у которого развиты эти навыки. Ментором может быть ваш коллега (сразу понятно, зачем ему кураторство — вы работаете на одну цель) или иногда даже внешний эксперт (но это обычно ваш знакомый, иначе его мотивация не ясна). А если найдете именно ментора, то он способен дать советы и проконтролировать ваш рост. Чтобы знание превратилось в навык, нужна регулярная практика. Книги, лекции, тренинги — тоже вариант, но так вы получите только знания.

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

У нас в Яндексе даже проджект, как правило, умеет писать код. Если нужно выбрать руководителя группы между техническим проджект-менеджером и разработчиком — нет однозначного ответа, кто из них лучше. Бывает, человек хорошо ставит задачи и следит за сроками, но при этом хуже ладит с командой. Поэтому я бы сначала сравнил менеджера и разработчика по нескольким параметрам: как они умеют ставить задачи и контролировать исполнение, как драйвят команду и в целом какие отношения у них с командой складываются. Тот, кто сам был разработчиком, а не менеджером, с большей вероятностью выберет руководителем еще одного разработчика. Все зависит еще и от того, кто принимает решение.

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

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

Анна Федосова, руководитель отдела обучения и развития

Так, модель компетенций Lominger включает 67 позиций. — Трудно составить полный список навыков. Внутри Яндекса мы делим навыки на универсальные и те, что нужны руководителям.

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

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

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

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

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

Иногда помогает опыт получения высшего образования. Как научить взрослых людей учиться и самостоятельно добывать знания? Но часто это приходится осваивать уже в процессе работы. В магистратуре и аспирантуре учат пониманию того, что важно, а что неважно, где искать релевантные знания. Не удивительно, что один из самых популярных курсов на Coursera называется Learning how to learn.

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

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

Олег Мохов, руководитель разработки HR-проектов и сервиса Яндекс.Контест, на котором проходит онлайн-часть олимпиады

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

Тренинги помогают, только если регулярно их посещать. Книжки не помогают с софт-скиллами. Просто позадавать вопросы докладчику. Зато очень полезно прийти по конференцию и занять активную позицию.

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

Как поддерживать умение кодить? Многие, у кого дико развиты софт-скиллз, становятся высокоранговыми руководителями, у которых весь день состоит из встреч. Отрубаешь все уведомления, телефон, только так. Говоришь себе: два часа я программирую. Ну и собеседовать, проводить технические секции — тоже помогает мозг развивать. Я знаю руководителей, которые так делают. Это как налог на то, что ты работаешь в большой компании. В Яндексе ты только перестал быть младшим, и тебя уже привлекут к собеседованию.

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

Так что я бы выбирал руководителя из числа самих разработчиков, и возможно, выбрал бы не самого сильного из них. К человеку со стороны у команды может возникнуть неприязнь. Тогда я не могу ожидать, что они резко начнут расти, если я дам ему должность. Предположим, человек работал пять лет, теперь он senior developer, но за эти пять лет у него росли только харды, а софты не растут. А вот когда разработчик работает год, но я вижу, что у него хорошо подвешен язык, он общается, может связать нескольких человек, разрешить конфликт между ними — вот это для меня тимлид, даже если он не старший разработчик.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть