И как их вести

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

1. Ниндзя

Эффективно, мотивировано, заслуживает доверия, соответствует миссии компании и потрясающе продуктивно.

Такие программисты, особенно целые команды, встречаются нечасто, но, в отличие от лобби, они есть. Однако случаются они редко. Обычно они являются признаком зрелой, блестяще управляемой организации. Если вы сами довели свою команду до этого уровня, вам не нужны мои советы. Но предположим, что вам повезло, и вы только что попали в лидеры таких «рок-звезд». Что делаешь?

Как их вести:

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

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

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

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

2. Несоответствие

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

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

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

Что можно сделать с такими несоответствующими?

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

Вы можете сделать их покорными с помощью так называемых систем «стимулов». Однако это недальновидное решение, и хотя какое-то время оно может работать, рано или поздно оно обернется против вас.

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

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

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

3. Мокасины.

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

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

Программирование сложно. Требует постоянного самообразования - всей массой. Возможно - только возможно - удастся найти несколько отдельных бездельников на самых нижних «входных» позициях. Но среди высококлассных, опытных программистов? Как бы они дожили до этого этапа?

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

Что ты можешь сделать:

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

4. Заблокировано

Мы дошли до последней категории. Наш программист не бездельник. Он вписывается в культуру компании, но все еще не так эффективен, как Ninja. Почему?

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

Есть три основных категории препятствий.

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

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

Последняя и самая сложная категория - отсутствие мотивации. Распространенная ошибка - относиться к демотивированному разработчику как к Obibok или Mismatched. Однако причин для низкой мотивации гораздо больше.

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

Какой тип программистов у вас в команде? Какие способы вы используете, чтобы им помочь?

Больше контента на plainenglish.io