newsmode
search
Меню
arrow_back Назад

Why Good Developers are Promoted into Unhappiness | Rob Walling

auto_awesomeКраткое саммари

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

Why Good Developers are Promoted into Unhappiness

Почему хороших разработчиков повышают в несчастье

I once thought I had traveled a unique career path. Graduating from college with a degree in computer engineering and electrical engineering I was on fire to be a manager. My dad had worked for the same electrical contractor for 30-something years and I knew everyone from the Chairman of the Board down to the woman who worked the front desk. I had a major “in” and was quickly shuffled into a management training program, with my sights set on one day becoming CEO of the $600 million firm.

Когда-то я думал, что прошёл уникальный карьерный путь. Окончив колледж с дипломом по компьютерной и электротехнической инженерии, я горел желанием стать менеджером. Мой отец проработал в одной и той же электромонтажной компании более 30 лет, и я знал всех — от председателя совета директоров до девушки на ресепшене. У меня была серьёзная «протекция», и меня быстро определили в программу подготовки менеджеров, с прицелом однажды стать CEO фирмы с оборотом 600 млн долларов.

18 months later I left for a job writing software for a dot com in Sacramento, and within 3 months I was running multiple project teams (albeit, small ones). I was young, it was fast paced, and I loved it. When that company experienced difficult times in 2001, I transitioned into contracting, which I did for about three years before taking a position as the Application Development and Database Supervisor at the City of Pasadena, directly responsible for the management and supervision of 10 developers and DBAs.

Через 18 месяцев я ушёл писать софт в дотком-компанию в Сакраменто, и за 3 месяца уже руководил несколькими проектными командами (пусть и небольшими). Я был молод, темп был бешеный, и мне это нравилось. Когда у компании начались трудности в 2001 году, я перешёл на контрактную работу и занимался этим около трёх лет, прежде чем занять должность Supervisor по разработке приложений и базам данных в администрации города Пасадена, где напрямую отвечал за управление 10 разработчиками и DBA.

The prestige? High.

Престиж? Высокий.

The paycheck? Fat.

Зарплата? Жирная.

The job? Hated it.

Работа? Ненавидел её.

I couldn’t get past a number of issues with this “perfect” position, namely that I couldn’t hire and fire as I pleased, our technology was dated, and it took movement from the hand of God himself to be able to write a few lines of code. On a side note, many of the people I worked with at the City were very good to work with and knew how to do their jobs. Pasadena is one of the most progressive cities in the state, if not the country, in terms of technology. But the job didn’t fit me and I started to interview elsewhere.

Я никак не мог смириться с рядом проблем этой «идеальной» позиции: я не мог нанимать и увольнять людей по своему усмотрению, наши технологии устарели, а чтобы написать несколько строк кода, требовалось вмешательство Самого Господа Бога. Справедливости ради, многие из моих коллег в администрации были замечательными людьми и знали своё дело. Пасадена — один из самых прогрессивных городов штата, если не страны, в плане технологий. Но эта работа мне не подходила, и я начал искать другую.

By this time I was burned out on managing people and knew what I wanted to do: write code.

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

“Do you want to manage?” Nope, I want to write code.

«Хотите управлять?» Нет, хочу писать код.

“Do you want to run a team?” Nope, write code.

«Хотите вести команду?» Нет, писать код.

“Do Architecture?” Write code.

«Заниматься архитектурой?» Писать код.

“Talk to your co-workers?” CODE!

«Общаться с коллегами?» КОД!

During this time an interviewer asked me “Where do you see yourself in five years?” and my answer was “I just want to write code. I don’t want to manage people. I’ve been there and I didn’t enjoy it. I want to get back to learning .NET and come up for air in about 3 months.”

В этот период один интервьюер спросил меня: «Где вы видите себя через пять лет?» — и я ответил: «Я просто хочу писать код. Я не хочу управлять людьми. Я там уже был, и мне не понравилось. Я хочу вернуться к изучению .NET и месяца три не высовываться из этого».

And code I did. I arrived in the morning, threw on my headphones and wrote mad stacks of functionality. I produced more software in 6 months than I had in the previous year. It was a fun time and I look back on it with fondness, if not a bit of envy. But I was naive to think I could continue doing that for very long.

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

After 6 months I was asked to run a project. I accepted and what started as a two-person team evolved into 10 developers cranking on the largest software project our company had every undertaken. And I was at the helm. During this time I didn’t write a line of code for 15 months, but my Visio skills were like nothing you can imagine. I knew every keyboard shortcut and every right-click. I saw Visio shapes attacking me in my dreams and I knew the exact mouse movements and clicks to re-size them so they could do me no harm.

Через 6 месяцев меня попросили возглавить проект. Я согласился, и то, что начиналось как команда из двух человек, превратилось в 10 разработчиков, работающих над самым крупным проектом, который когда-либо предпринимала наша компания. И я был у руля. За это время я не написал ни строчки кода в течение 15 месяцев, зато мои навыки работы с Visio были невообразимыми. Я знал каждое сочетание клавиш и каждый правый клик. Мне снилось, как фигуры Visio нападают на меня, и я знал точные движения мыши и клики, чтобы изменить их размер так, чтобы они не могли причинить мне вреда.

I left the company within a year of completing that project. I had voiced my -- lets call them concerns -- many times but the “good of the project” always overruled my desire to return to writing code. After nearly a year of asking to return to the battlefield, I turned in my badge and made my way back to the world of consulting. I discovered that although I enjoy running small teams, I have an innate desire to create. And unfortunately, while managing people requires creativity, it does not allow you to create. Although my teams and bosses liked me and my results, it did not fulfill a deep need to take dead bits and make them into something living.

Я ушёл из компании в течение года после завершения того проекта. Я много раз озвучивал свои — назовём их так — опасения, но «благо проекта» всегда перевешивало моё желание вернуться к написанию кода. После почти года просьб вернуться на поле боя я сдал свой бейдж и вернулся в мир консалтинга. Я обнаружил, что хотя мне нравится руководить небольшими командами, у меня есть врождённая потребность создавать. И, к сожалению, хотя управление людьми требует креативности, оно не позволяет создавать. Хотя мои команды и начальство любили меня и мои результаты, это не удовлетворяло глубинную потребность брать мёртвые биты и превращать их во что-то живое.

We're Not Alone

Мы не одиноки

Within the last year I’ve heard nearly identical stories from four five other developers whom I’ve known for many years. One friend, while telling me his tale of being forced into project management, described a conversation where he told his manager “I just want to code.” I laughed out loud at his word-for-word use of what had become my mantra for the past 15 months.

За последний год я услышал почти идентичные истории от четырёх-пяти других разработчиков, которых знаю много лет. Один друг, рассказывая мне свою историю о том, как его принудили в проектное управление, описал разговор, в котором он сказал своему менеджеру: «Я просто хочу писать код». Я расхохотался, услышав слово в слово ту фразу, которая стала моей мантрой на последние 15 месяцев.

Another friend of mine said:

Другой мой друг сказал:

"I feel I may be on a similar track to what you’ve traveled, starting from a developer and moving into project oversight on a $1 Billion project. Maybe one day I could be a programmer again, having come full circle. Programmers are not bottom feeders but something to aspire to, even for people who are currently managers, not just for college grads looking for entry level positions. Working my way ‘down’ to a programmer might work my way back to a place I really enjoyed and have fond memories of. Instead of reverse engineering it’s sort of a reverse career track.”

«Я чувствую, что иду по похожему пути с тобой, начав как разработчик и перейдя к надзору над проектом стоимостью 1 миллиард долларов. Может быть, однажды я снова смогу стать программистом, замкнув круг. Программисты — это не низшая каста, а то, к чему стоит стремиться, даже для тех, кто сейчас работает менеджером, а не только для выпускников колледжа, ищущих позиции начального уровня. Спуститься «вниз» до программиста, возможно, вернёт меня в место, которое я по-настоящему любил и о котором у меня тёплые воспоминания. Вместо реверс-инжиниринга это что-то вроде обратной карьерной траектории».

I imagine there are more stories where these came from.

Полагаю, есть ещё много подобных историй.

Why It's Bad

Почему это плохо

Promoting developers into management or project management is not bad. On the contrary, I have most enjoyed working for managers who at one time in their career made the 1’s and 0’s dance. The problem is not that developers are promoted, it’s that the developers who tend to be promoted are the “big producers,” the ones who come through on their projects. These are the same developers who stay late and read software books on the weekend because of their love for programming; that’s why they come through on their projects.

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

Promoting someone who loves to write software into a position where they will write little or no software doesn’t make an ounce of sense. Someone else said this first, but if Willie Mays played for your baseball team would you promote him to manager? True, he delivers more than his teammates, and he is one of the best players of all time, but a player of that caliber should be left where he can do the most good: smacking balls out of the park. Moving him into manager not only reduces his direct contribution to the team, but is done under the assumption that he has a clue how to manage his fellow players, instead of what he’s obviously demonstrated he can do: hit a baseball like few people in history have.

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

The answer? Promote developers who demonstrate management skills instead of top notch development skills. They may be hard to find, but top notch developers are even harder to find. The end result of promoting your best developers is at best a few unhappy months or years as they struggle with their unhappiness and their desire to return to code, while (perhaps) not wanting to disappoint you. The worst case is they feel unbridled resentment as you watch them rush out the door like there were a 70%-off sale at Barnes & Noble.

Решение? Повышайте тех разработчиков, которые демонстрируют управленческие навыки, а не первоклассные навыки разработки. Их может быть трудно найти, но первоклассных разработчиков найти ещё сложнее. Конечный результат повышения ваших лучших разработчиков — в лучшем случае несколько несчастливых месяцев или лет, пока они борются со своим несчастьем и желанием вернуться к коду, при этом (возможно) не желая вас разочаровать. В худшем случае они испытывают необузданное возмущение, и вы видите, как они вылетают за дверь, словно в Barnes & Noble распродажа со скидкой 70%.

Why We Fall for It

Почему мы на это ведёмся

Every developer I’ve talked to said the same thing: they went into management for the prestige, the money, pressure from their bosses or upper management, and not wanting to “stir the pot.” Perhaps it’s the fact that the best developers I know are easy to get along with, good listeners, and generally pleasant to work with. Hence, when a manager or executive asks them to run a huge project they take it as a challenge and a compliment. It’s not until 10 months later when they’ve lost their ability to write a while loop that they realize they may have made a mistake.

Каждый разработчик, с которым я говорил, говорил одно и то же: они шли в менеджмент ради престижа, денег, под давлением начальства или высшего руководства, и не желая «раскачивать лодку». Возможно, дело в том, что лучшие разработчики, которых я знаю, легки в общении, хорошие слушатели и в целом приятные коллеги. Поэтому, когда менеджер или руководитель просит их возглавить огромный проект, они воспринимают это как вызов и комплимент. И только через 10 месяцев, когда они уже забыли, как написать цикл while, они осознают, что, возможно, совершили ошибку.

If you find yourself in management and wish you were coding, don’t wait until you’re completely burned out and bitter; do yourself (and your company) a favor -- and do it now. Get yourself back into the code jockey seat. If your current company won’t work with you, there are companies out there who will.

Если вы оказались в менеджменте и хотите снова писать код, не ждите, пока полностью выгорите и озлобитесь; сделайте одолжение себе (и своей компании) — и сделайте это сейчас. Верните себя на место код-жокея. Если ваша нынешняя компания не пойдёт вам навстречу, есть компании, которые пойдут.