Часто можно услышать такие слова, как “впишется / не впишется в коллектив” в адрес того или иного разработчика. У кого-то это вызывает возмущение, у кого-то руки опускаются после очередного отказа на собеседовании или при внезапном увольнении. Да и с обратной стороны баррикад этот вопрос не дает людям покоя. А в последнее время на фоне всей этой ситуации с коронавирусом пошли слухи о массовых сокращениях и я решил поговорить немного на тему управления коллективом.
Задумывались ли вы, по каким принципам вы выбираете себе сотрудников? Кого нанять, кого уволить, кого перевести в другое место? Ну то есть помимо чисто технических знаний? Интуиция? Если да, то это как-то странно, должны же быть какие-то более систематизированные соображения на этот счет…
В сегодняшней статье мы посмотрим на 16 достаточно стабильных моделей поведения, типажей, которые позволяют разделить разработчиков на группы, и на которые вполне можно ориентироваться при принятии некоторых решений. Конечно, это все очень субъективно, но думаю, что кого-нибудь они подтолкнут к размышлениям. А это всегда полезно.
Прежде, чем начать, предупреждение
Все, что описано ниже – плод воображения, абстрактные мысли, основанные на реальных событиях. Все совпадения не случайны.
№1. “Невидимка”
Он как бы есть, но как бы и нет. Часто он будет “непризнанным лидером” в коллективе – вроде бы и код пишет, вроде бы и полезные идеи предлагает, может быть даже тасок закрывает больше других… Но тимлидом делают кого-то другого, на конференции отправляют кого-то другого, новый монитор покупают кому-то другому, и этот программист начинает всем доказывать, что он круче всех, чтобы его заметили. Причем эти доказывания быстро утекают из рабочих обязанностей в какие-то словесные дуэли с коллегами и соревнования разного рода. Но честные ли они будут? Может быть. Но скорее нет. Он часто будет сам придумывать правила игры и жульничать, только чтобы победить. Хотя возможность показать себя в сложной ситуации ему тоже будет на руку. А если его не заметят – он будет придумывать все новые способы стать “круче” окружающих.
(+): Ему можно дать невыполнимую задачу и он ее решит из принципа, чтобы показать, что он может.
(–): Склонен совершать необдуманные поступки, нуждается в присматривании.
№2. “Одержимый”
Придумывает какой-то инструмент, который обязательно перевернет мир разработки, ну или, как минимум, все процессы разработки в компании. Он приложит все силы, чтобы добиться своего и внедрить его! Правда есть небольшой нюанс: игнорируя доводы в пользу других решений, такой программист может наломать кучу дров и поссориться с кучей людей. Но под давлением со стороны окружающих он только усилится и будет мчаться как паровоз к светлому будущему. Ну по крайней мере в его понимании оно должно быть светлым. Но это не точно.
(+): Может быть классным евангелистом и продвигать действительно полезные идеи.
(–): Неуправляемый. Тут скорее “вы с ним”, чем “он с вами”.
№3. “Рецидивист”
Совершает преступления против человечества – использует все возможные антипаттерны программирования, его код похож на доширак из костылей. Ему даже самому может быть тошно, даже если он никому этого не говорит. Рано или поздно проект становится тяжело поддерживать. Что можно в этой ситуации сделать? — Правильно, написать больше костылей, чтобы хоть как-то, но работало. Это позволит ему писать еще больше костылей, еще сильнее увязая в этой пучине.
(+): Внедрит все необходимые решения.
(–): В одиночку может увеличить технический долг проекта до бесконечности.
№4. “Гений”
Этому персонажу лишь бы попридумывать чего-нибудь. Скорее всего бывший олимпиадник. Он может решить любую задачу, если она будет ему интересна. Причем будет результат где-то применяться или нет – дело десятое, важен драйв от созидания. Коллеги скорее всего не умеют делать все то же, что и он – экспертизы нашему герою не занимать. Определенное уважение или даже восхищение будет с ним всегда. Но зарядившись энергией от “публики” такой программист часто совершает нерациональные действия, поддаваясь разным искушениям, ввязывается в авантюры или, например, покупает гироскутер или какого-нибудь робота, который убирается в шкаф как только на горизонте объявится новая интересная задачка. Ну и в такие периоды он может быть немного заносчивым, есть такое.
(+): Если вам нужно изобрести что-то новое – вы пришли по адресу.
(–): Если ваши задачи ему не интересны, вы никак не заставите его их выполнять.
№5. “Гладиатор”
Настоящий шоумен. Может превратить любую дичь в представление и извлечь из этого пользу. Не факт, что он будет толковым программистом (хотя всякое бывает), но его конек — корпоративные игры. Устроить расправу над кем-нибудь, найти крайнего, для него будет легче легкого. Но это обязательно должно быть на публике, без аудитории он теряет смысл своих действий. Чем выше он будет подниматься по карьерной лестнице, тем масштабнее будут его выходки, но, как ни странно, окружающие его всегда поддержат. Хотя кому-то точно достанется.
(+): С легкостью принимает непопулярные решения, берется за грязную работу.
(–): Может внести хаос в коллектив, если подставит полезного сотрудника.
№6. “Творец”
Этот персонаж скорее всего сидит где-то в уголке и пишет код. Причем неплохо так пишет, скорее всего там будет все аккуратно, понятно и в сроки. Возможно, что это будет один из немногих членов команды, который занимается саморазвитием, старается не просто “закрыть все таски”, но и стать лучше как разработчик в процессе. Если посмотреть вокруг, то вряд ли кто-то будет замечать его работу в проекте, разве что он уйдет – вот тогда все спохватятся, а пока он тут – ну есть он и есть, никому нет дела. Это не может не влиять на нашего героя, он часто сомневается в себе, недооценивает свои способности, и прилагает много усилий для саморазвития, причем сам того не замечая становится высококлассным специалистом.
(+): Ценный кадр, который не просто решает задачи, но и делает это хорошо.
(–): Часто становится жертвой корпоративных игр, нуждается в покровительстве.
№7. “Философ”
Самый противоречивый член команды. Скорее всего он обладает знаниями в разных областях, не только в том, чем непосредственно занимается. Но его постоянно шатает из одних крайностей в другие. То он стремится к свету, выполняет работу качественно, может даже менторством заняться, и будет очень неплох в этом деле, но стоит чему-то встать поперек его пути – он может сорваться, погрузиться в размышления о смысле работы, здравомыслии начальства, тленности бытия, начать тратить слишком много сил на сторонние проекты, которые посчитает более важными, или на развлечения, которые его так и манят. В эти периоды качество работы такого сотрудника резко снизится. Но со временем это проходит и он встает на свой прежний путь и возвращается к работе с новыми силами и идеями.
(+): Может быть сильным специалистом с широким кругозором.
(–): Не может работать в рамках системы, особенно в долгосрочных проектах.
№8. “Узник”
Девиз этого персонажа – “выжить всем назло”. Он может долгое время быть в крайне невыгодном для себя положении, будет перерабатывать, будет мириться с плохой зарплатой, будет подвергаться нападкам со стороны коллег или начальства, но это до поры до времени. Накопленная темная энергия рано или поздно начнет вырываться на свободу и тогда он снесет все на своем пути для восстановления справедливости. Причем цели у него могут быть понятными и логичными, часто направленными на улучшение условий труда и процессов в компании, и, более того – цели эти будут реально достижимыми, а не абстрактными. Но методы скорее всего будут слишком агрессивными. Перестараться может человек. Дорвавшись до власти может начать увольнять налево и направо или ослабляя одни гайки затянет другие. И в результате получит новую порцию негатива со стороны окружающих.
(+): Может работать в действительно тяжелых условиях, решителен.
(–): Часто груб, нужно следить за ним и разруливать конфликты.
Предыдущие восемь вариантов поведения – активные. Таких людей немного, но они поведут за собой других, будут делать дела и влиять на все, что происходит вокруг. А вот следующие восемь – пассивные. Их больше, они приносят много пользы, могут делать большую часть работы, но вряд ли приведут вас к глобальным изменениям, а без активного лидера движение в их коллективе остановится. Их кто-то обязательно должен вести за собой.
№9. “Мученик”
Возможно это не самый сильный разработчик в вашей команде. Возможно его часто принижали за его ошибки. Возможно его не раз делали крайним в конфликтах. Но со временем он сделал себе “панцирь”, который защищает его от всей этой грязи. Вокруг него может твориться все, что угодно, но он будет это игнорировать и продолжать делать ту работу, на которую его назначили. Вы не увидите, чтобы он стремился ввысь, как в карьерном плане, так и в разрезе профессиональных навыков, но он стабильно делает то, что делает, и в этом его сила.
(+): Станет центром спокойствия в условиях бури, очень стабильный сотрудник.
(–): Инициативы от него не ждите.
№10. “Беспомощный”
Такой программист очень не уверен в своих силах. Его навыки могут быть вполне нормальными, среднестатистическими или даже выше среднего, но он в них не уверен. Если вы его не поддерживаете – он будет работать медленно, может вызвать жалость, желание помочь ему, но если вы его поддержите – он может решить, что без вас он ничего не может. Этот эффект часто происходит со стажерами, хотя и разработчик с опытом может оказаться в такой ситуации. Такой сотрудник вполне может в перспективе вырасти в толкового и лояльного специалиста, но потребует в себя много вложений в плане менторства.
(+): Есть потенциал, может стать полезным и лояльным сотрудником.
(–): Требует вложений в себя.
№11. “Заглаживающий вину”
Этот персонаж часто будет оправдываться. За свои нехорошие действия или за подчиненных, но будет. Самая частая ситуация – нагородить костылей, сделать ужасный в плане поддержки проект, который коллегам стыдно показать, и защитить его словами, что “он решает задачи бизнеса”. Формально вы к его аргументам не подкопаетесь – ведь действительно задачи решает, да и на встречу в любых переговорах он идет, но вот побочные эффекты от его бесконечных спорных решений будут лезть из всех щелей, хотя на них всегда найдутся оправдания или контраргументы в виде объективно полезных дел.
(+): Может быть хорошим буфером между конфликтующими по интересам сторонами.
(–): Часто за ним приходится многое переделывать, поскольку нехорошие действия компенсируются только в моральном плане, но не по факту.
№12. “Бездельник”
Это тот самый вайтишник, который пришел за деньгами. Для него разработка – это смузи, макбуки, всякие технологичные игрушки и, конечно, деньги. Много денег. И развлечений, которые на них можно себе позволить. Проблема его в том, что он ничего не делает. Он не развивается, не создает ничего нового. Его можно привлечь конфеткой, но вот пользы от этого будет немного. Он хочет все и сразу, быстро истощается, часто увольняется. Вырастить из него узкоспециализированного профессионала будет невероятно сложно.
(+): Легко нанять, закрыть им горящую вакансию, не требующую глубоких знаний.
(–): Может быстро выдохнуться, начнет требовать больше, чем делает.
№13. “Лох”
Немного грубое название, да? Ну что ж, к сожалению в великом и могучем языке похоже нет не жаргонного слова, передающего контекст “человек, которого разводят”. Этот персонаж легко поддается манипуляциям вроде “ну ты же вон какой крутой программист...” или “а вот если этот проект выстрелит...”, и в результате он очень много работает, перерабатывает, хотя ему самому это не особо то и нужно. В результате он будет истощаться, и с одной стороны будет еще более “удобным” сотрудником, но с другой стороны – он будет истощаться все сильнее и неизвестно еще чем это закончится. Он легко может прийти к состоянию, когда работает с утра до ночи, но вот результата что-то не видно, потому что голова уже не варит.
(+): “Удобный”, покладистый сотрудник. Будет работать столько, сколько скажут.
(–): Будет истощаться, нужно со стороны следить, чтобы он не перегорел.
№14. “Потребитель”
Лояльность компании? Да вы шутите! Этот герой мыслит в категориях более приземленных. Если ему тепло и хорошо – он доволен. Если не хорошо – плюнет на всех не задумываясь и уйдет. Он может иметь хорошие навыки, но работать будет по часам: сколько заплатили – столько и поработал. Свое получил – ушел. Что-то не сделал? А в ТЗ оно было? Нет? Ну и все, вопрос закрыт. Переработки, особенно не оплачиваемые, быстро заставят его задуматься о том, чтобы вас покинуть. Да и вообще он не то, чтобы очень любил работать. Скорее он будет делать свою работу как попало, лишь бы получить свою награду и пойти ее тратить.
(+): Очень предсказуемый.
(–): Нужно постоянно следить за качеством работы, без надзора и пальцем не пошевелит.
№15. “Конформист”
Ну мы тут в компании уже 20 лет так делаем, вроде все работает, так чего менять то? Как вы уже догадались, перемены – это не самая любимая вещь у такого программиста. Он будет сидеть на устаревшем стеке не потому, что он и правда так хорош, или потому, что на переписывание легаси нет денег, а скорее по привычке. Или даже из страха, что что-то поменяется. У таких разработчиков часто бывает страх, что молодые их “подсидят”, и если такой персонаж окажется у руля, то он будет плавать в древних решениях как рыба в воде, не допуская ничего нового, а молодые будут в этом болоте как без рук. И, надо сказать, что сидеть он так может очень долго. Иногда это хорошо, но иногда он может тормозить развитие в компании.
(+): Может быть “хранителем” старых и долгоживущих проектов, которые нужно поддерживать.
(–): Абсолютно несовместим с новыми технологиями.
№16. “Жертва”
В любой более-менее крупной компании найдутся такие разработчики. На них вечно что-то сваливают, обвиняют в чем-то. Иногда заслуженно, иногда нет. Они пытаются оправдаться и вызывают жалость у кого-нибудь из коллег, которые берут их под свою опеку. Такие программисты в одиночку не выстоят, им нужно быть под защитой, так они могут спрятаться и спокойно делать свое дело. Но под защитой они кажутся слабыми и агрессивные выпады в их адрес никуда не исчезают, только усиливаются. Такой замкнутый круг получается. Сами они могут находиться в нем очень долго, но если вы встретили такого человека в своих рядах – не спешите его увольнять, лучше узнайте откуда идет агрессия и насколько она на самом деле обоснована.
(+): Может стабильно работать, не имеет каких-то неадекватных требований.
(–): Нуждается в защите и покровительстве.
Комбинации моделей поведения
Разумеется, нельзя просто так взять и поделить всех программистов на такие непересекающиеся категории. Часто мы будем видеть комбинации из всего описанного, хотя нельзя не отметить, что выраженных примеров среди нас очень много.
Откуда взялся именно этот набор типажей?
Возможно вы уже задались вопросом о том, насколько этот набор универсальный. Ведь если заменить слово “программист” на другое название профессии, то поменяется не очень многое. И да, в этом вы правы. Данные типажи – это часть ядра “Пирамиды адаптации” — более глобальной и универсальной схемы, которую я разрабатываю в последнее время. Она описывает принципы, по которым человек адаптируется в обществе и связывает все эти модели поведения в единую схему. Если вы интересуетесь свежими идеями в психологии и социологии, то приглашаю вас ознакомиться с одноименной книгой, почитать PDF версию которой можно бесплатно по ссылке. Но это так, к слову.
А что вы думаете по этому поводу?
Вы несомненно уже встречали описанных персонажей. Расскажите в комментариях, какие наблюдения у вас есть на эту тему. А если у вас есть опыт управления и вы можете поделиться мудростью, как собираете команды, чтобы все работали слаженно, как работаете с разными типажами, то думаю многим будет интересно такое почитать.
UPD:
Предполагалось, что статья заставит некоторых людей задуматься о том, что разработчики в их команде – простые люди. Они не плохие, не хорошие — они разные. Где-то они сильные, где-то слабые, где-то они могут сделать многое, а где-то они беспомощны и нуждаются в поддержке. Можно, конечно, закрывать глаза и называть вещи не своими именами, но это не изменит того факта, что ваши разработчики – это не одинаковые роботы и не всегда они смогут сработаться или хорошо вольются в проект. И не всегда они смогут измениться по вашему желанию. Это стоит учитывать при управлении коллективом, и когда я призывал поделиться опытом, как вы налаживаете работу программистов с разными типажами, я как-то думал, что больше людей задаются этим вопросом. Видимо это было ошибкой. Люди увидели исключительно классификацию, хотя этот набор персонажей должен был стать лишь иллюстрацией разных моделей поведения и подтолкнуть к размышлениям и обмену опытом.