Why Good Developers are Promoted into Unhappiness | Rob Walling
Роб Уоллинг рассказывает о собственном пути от молодого менеджера в крупной электротехнической компании до руководителя разработки в городе Пасадена, где высокая зарплата и престиж не компенсировали отсутствие возможности писать код. После 15 месяцев работы менеджером проекта он понял, что управление людьми мешает создавать что-то своими руками, и вернулся в консалтинг. Уоллинг утверждает, что повышать в менеджеры лучших разработчиков — ошибка: они любят писать код именно поэтому и являются «большими производителями», а в управлении теряют то, что делало их ценными. В качестве аналогии он приводит Вилли Мейса: лучшего бэттера не стоит делать менеджером команды. Правильнее повышать тех, кто демонстрирует именно управленческие навыки, а разработчикам, попавшим в эту ловушку, автор советует возвращаться к коду, не дожидаясь полного выгорания.
Почему хороших разработчиков повышают в несчастье
Когда-то я думал, что прошёл уникальный карьерный путь. Окончив колледж с дипломом по компьютерной и электротехнической инженерии, я горел желанием стать менеджером. Мой отец проработал в одной и той же электромонтажной компании более 30 лет, и я знал всех — от председателя совета директоров до девушки на ресепшене. У меня была серьёзная «протекция», и меня быстро определили в программу подготовки менеджеров, с прицелом однажды стать CEO фирмы с оборотом 600 млн долларов.
Через 18 месяцев я ушёл писать софт в дотком-компанию в Сакраменто, и за 3 месяца уже руководил несколькими проектными командами (пусть и небольшими). Я был молод, темп был бешеный, и мне это нравилось. Когда у компании начались трудности в 2001 году, я перешёл на контрактную работу и занимался этим около трёх лет, прежде чем занять должность Supervisor по разработке приложений и базам данных в администрации города Пасадена, где напрямую отвечал за управление 10 разработчиками и DBA.
Престиж? Высокий.
Зарплата? Жирная.
Работа? Ненавидел её.
Я никак не мог смириться с рядом проблем этой «идеальной» позиции: я не мог нанимать и увольнять людей по своему усмотрению, наши технологии устарели, а чтобы написать несколько строк кода, требовалось вмешательство Самого Господа Бога. Справедливости ради, многие из моих коллег в администрации были замечательными людьми и знали своё дело. Пасадена — один из самых прогрессивных городов штата, если не страны, в плане технологий. Но эта работа мне не подходила, и я начал искать другую.
К тому моменту я выгорел от управления людьми и точно знал, чего хочу: писать код.
«Хотите управлять?» Нет, хочу писать код.
«Хотите вести команду?» Нет, писать код.
«Заниматься архитектурой?» Писать код.
«Общаться с коллегами?» КОД!
В этот период один интервьюер спросил меня: «Где вы видите себя через пять лет?» — и я ответил: «Я просто хочу писать код. Я не хочу управлять людьми. Я там уже был, и мне не понравилось. Я хочу вернуться к изучению .NET и месяца три не высовываться из этого».
И код я писал. Я приходил утром, надевал наушники и выдавал безумные стеки функциональности. За 6 месяцев я произвёл больше софта, чем за весь предыдущий год. Это было весёлое время, и я вспоминаю о нём с теплотой, если не с лёгкой завистью. Но я наивно полагал, что смогу так продолжать долго.
Через 6 месяцев меня попросили возглавить проект. Я согласился, и то, что начиналось как команда из двух человек, превратилось в 10 разработчиков, работающих над самым крупным проектом, который когда-либо предпринимала наша компания. И я был у руля. За это время я не написал ни строчки кода в течение 15 месяцев, зато мои навыки работы с Visio были невообразимыми. Я знал каждое сочетание клавиш и каждый правый клик. Мне снилось, как фигуры Visio нападают на меня, и я знал точные движения мыши и клики, чтобы изменить их размер так, чтобы они не могли причинить мне вреда.
Я ушёл из компании в течение года после завершения того проекта. Я много раз озвучивал свои — назовём их так — опасения, но «благо проекта» всегда перевешивало моё желание вернуться к написанию кода. После почти года просьб вернуться на поле боя я сдал свой бейдж и вернулся в мир консалтинга. Я обнаружил, что хотя мне нравится руководить небольшими командами, у меня есть врождённая потребность создавать. И, к сожалению, хотя управление людьми требует креативности, оно не позволяет создавать. Хотя мои команды и начальство любили меня и мои результаты, это не удовлетворяло глубинную потребность брать мёртвые биты и превращать их во что-то живое.
Мы не одиноки
За последний год я услышал почти идентичные истории от четырёх-пяти других разработчиков, которых знаю много лет. Один друг, рассказывая мне свою историю о том, как его принудили в проектное управление, описал разговор, в котором он сказал своему менеджеру: «Я просто хочу писать код». Я расхохотался, услышав слово в слово ту фразу, которая стала моей мантрой на последние 15 месяцев.
Другой мой друг сказал:
«Я чувствую, что иду по похожему пути с тобой, начав как разработчик и перейдя к надзору над проектом стоимостью 1 миллиард долларов. Может быть, однажды я снова смогу стать программистом, замкнув круг. Программисты — это не низшая каста, а то, к чему стоит стремиться, даже для тех, кто сейчас работает менеджером, а не только для выпускников колледжа, ищущих позиции начального уровня. Спуститься «вниз» до программиста, возможно, вернёт меня в место, которое я по-настоящему любил и о котором у меня тёплые воспоминания. Вместо реверс-инжиниринга это что-то вроде обратной карьерной траектории».
Полагаю, есть ещё много подобных историй.
Почему это плохо
Повышать разработчиков в менеджеров или руководителей проектов — это не плохо. Напротив, мне больше всего нравилось работать на менеджеров, которые когда-то в своей карьере заставляли единички и нолики танцевать. Проблема не в том, что разработчиков повышают, а в том, что повышают, как правило, «больших производителей» — тех, кто доводит проекты до конца. Это те же самые разработчики, которые задерживаются допоздна и читают книги по программированию в выходные из-за своей любви к программированию; именно поэтому они и доводят проекты до конца.
Повышать человека, который любит писать софт, на позицию, где он будет писать мало или вообще не будет писать кода, — не имеет ни капли смысла. Кто-то уже сказал это до меня, но если бы Вилли Мейс играл за вашу бейсбольную команду, вы бы повысили его до менеджера? Да, он выдаёт больше своих товарищей по команде, и он один из лучших игроков всех времён, но игрока такого калибра следует оставить там, где он может принести максимум пользы: выбивать мячи за пределы поля. Перевод его в менеджеры не только снижает его прямой вклад в команду, но и делается с допущением, что он имеет хоть какое-то представление о том, как управлять своими товарищами по команде, вместо того, что он наглядно продемонстрировал умение делать: отбивать мяч так, как мало кто в истории.
Решение? Повышайте тех разработчиков, которые демонстрируют управленческие навыки, а не первоклассные навыки разработки. Их может быть трудно найти, но первоклассных разработчиков найти ещё сложнее. Конечный результат повышения ваших лучших разработчиков — в лучшем случае несколько несчастливых месяцев или лет, пока они борются со своим несчастьем и желанием вернуться к коду, при этом (возможно) не желая вас разочаровать. В худшем случае они испытывают необузданное возмущение, и вы видите, как они вылетают за дверь, словно в Barnes & Noble распродажа со скидкой 70%.
Почему мы на это ведёмся
Каждый разработчик, с которым я говорил, говорил одно и то же: они шли в менеджмент ради престижа, денег, под давлением начальства или высшего руководства, и не желая «раскачивать лодку». Возможно, дело в том, что лучшие разработчики, которых я знаю, легки в общении, хорошие слушатели и в целом приятные коллеги. Поэтому, когда менеджер или руководитель просит их возглавить огромный проект, они воспринимают это как вызов и комплимент. И только через 10 месяцев, когда они уже забыли, как написать цикл while, они осознают, что, возможно, совершили ошибку.
Если вы оказались в менеджменте и хотите снова писать код, не ждите, пока полностью выгорите и озлобитесь; сделайте одолжение себе (и своей компании) — и сделайте это сейчас. Верните себя на место код-жокея. Если ваша нынешняя компания не пойдёт вам навстречу, есть компании, которые пойдут.