Лучший способ застрять — стать отличным на текущем уровне
Эксперт — инженер с 15 годами в найме, ушедший в своё и вернувшийся обратно с пониманием системы
Собеседник — разработчик, который работает усерднее всех и не понимает, почему не растёт
Чем лучше ты справляешься с текущим уровнем — тем меньше у менеджера стимула тебя двигать. COBOL-разработчик зарабатывает $120k+ просто потому что никто не хочет учить COBOL. Разница в зарплате между senior-разработчиками одного уровня — до 60% — и объясняется не кодом. Этот разговор — про механизмы карьеры, которые не пишут в книгах по продуктивности.
≈2 651 слов · 17–22 мин чтения
— Самый быстрый способ застрять в карьере — это стать отличным в том, что ты делаешь прямо сейчас.
— Подожди. То есть ты говоришь, что работать хорошо — плохая стратегия?
— Я говорю, что работать хорошо на текущем уровне — это ловушка. Смотри. Ты работаешь усерднее всех в команде, берёшь дополнительные задачи, закрываешь тикеты быстрее других. Что происходит?
— Ну... тебя замечают. Дают больше ответственности.
— Дают больше задач того же уровня. Ты становишься лучшим исполнителем. И именно это тебя убивает. Чем лучше ты справляешься с текущим уровнем — тем меньше у менеджера стимула тебя двигать. Ты слишком ценен там, где стоишь.
— Это звучит... несправедливо.
— Это не несправедливость, это механика. Представь ресторан. Есть официант — самый быстрый, никогда не ошибается с заказом, берёт дополнительные смены. Что с ним происходит?
— Ему дают больше столиков.
— Именно. Он остаётся официантом. А шеф-повар вырастает из кого? Не из самого быстрого официанта. Из того, кто однажды предложил новое блюдо и взял ответственность за результат. Карьера растёт не от объёма работы — она растёт от видимости суждения.
— Что значит "видимость суждения"?
— Насколько окружающие верят, что ты принимаешь правильные решения без присмотра. Вот что двигает тебя вверх. Не количество закрытых тикетов — а моменты, когда кто-то важный подумал: "этот человек понимает, что здесь происходит".
— И как это связано с переработками?
— Напрямую. Стэнфорд это замерял: человек за восемьдесят часов в неделю производит примерно столько же качественного кода, сколько за пятьдесят пять. Мозг не масштабируется линейно. При этом те дополнительные двадцать пять часов полностью убивают время, которое ты мог бы потратить на что-то видимое — предложить архитектурное решение, поменторить кого-то, написать RFC. Всё то, из чего складывается репутация человека с суждением.
— То есть разработчики, которые работают меньше, растут быстрее?
— Некоторые — да. Те, кто высвободившее время вкладывает в правильные вещи. Парадокс: "нет" дополнительным задачам иногда — это самый карьерный ответ, который ты можешь дать.
— Ладно, допустим. Но я слышал другую версию: расти нужно через мастерство. Пиши лучший код, и тебя заметят.
— Ты когда-нибудь встречал человека, который пишет хуже тебя, но зарабатывает вдвое больше?
— Да, честно говоря.
— Как ты это объяснял себе?
— Ну... наверное, он просто умеет продавать себя. Или повезло.
— Нет. Это система. Рынок платит не за качество кода — рынок платит за то, насколько дорого обойдётся твоё отсутствие. Это разные вещи. Представь: лучший сапожник в городе, идеальные швы, лучшая кожа — но его мастерская стоит в переулке без вывески. И средний сапожник на главной улице с хорошей витриной. Кто зарабатывает больше?
— Второй.
— Рынок не видит твоё мастерство. Он видит твою видимость, твою переговорную силу, твою незаменимость в конкретном контексте. Разница в зарплате между senior-разработчиками одного уровня в одной компании может достигать сорока-шестидесяти процентов. Абсолютно идентичные технические навыки — огромный разрыв в деньгах. Объясняется это не кодом.
— А чем?
— Тем, как они коммуницируют. Тем, насколько понимают бизнес-контекст. Тем, есть ли у них внутренние союзники. И тем, можно ли без них обойтись. Самые высокооплачиваемые инженеры тратят тридцать-шестьдесят процентов времени не на код — на влияние, на архитектурные дискуссии, на стейкхолдеров.
— Это звучит как... политика.
— Можешь называть это политикой. Или можешь называть это пониманием, как работает организация. Разработчик, который умеет переводить между бизнесом и техникой, зарабатывает больше, чем технически превосходящий его коллега. Мастерство и рыночная цена — не одно и то же.
— Окей. Но если конкурировать на рынке сложно — может, просто выбрать правильную технологию? Что-то популярное, что хорошо платят.
— Наоборот.
— Как наоборот?
— Лучшая ниша — скучная ниша. Рынок труда — это аукцион редкости. Чем меньше людей умеют и хотят решать конкретную проблему — тем дороже стоит тот, кто умеет и согласен.
— Ты сейчас про что? Про COBOL?
— В том числе. COBOL-разработчик в США зарабатывает больше ста двадцати тысяч в год. На COBOL работает девяносто пять процентов банковских транзакций в мире. В 2020 году штат Нью-Джерси публично попросил волонтёров, знающих COBOL, помочь с системой безработицы — потому что некому было починить. Это официальное обращение губернатора.
— То есть устаревшая технология платит больше новой?
— Не потому что устаревшая — а потому что редкая. Вот тебе аналогия. Сотни отличных парикмахеров в городе — конкуренция огромная, цены низкие. А теперь единственный сантехник, который умеет чинить старые советские трубы в хрущёвках. Когда прорывает — звонят ему, в два ночи, и платят тройной тариф без торга.
— Но кто хочет всю жизнь работать с советскими трубами?
— Никто. В этом и суть. Все бегут от скучных проблем — и тем самым создают дефицит именно там, где бизнес готов платить больше всего. Погоня за "интересным" увеличивает предложение в перегретых нишах. React-разработчиков — миллионы. Специалист по legacy-интеграции берёт двести-четыреста долларов в час как независимый консультант.
— И ещё один момент. AI. Разве он не убьёт все эти legacy-ниши?
— Как раз наоборот. AI лучше всего справляется с типовыми, хорошо описанными задачами. Legacy-система с плохой документацией, тридцатилетней историей патчей, тремя поколениями архитекторов — это последнее, чему научится AI. Там нужен человек, который держит весь контекст в голове. И таких людей становится всё меньше.
— Подожди. Но даже если ты хороший специалист в скучной нише — как тебя вообще найдут?
— Вот. Это и есть главная дыра в стратегии большинства разработчиков. Семьдесят-восемьдесят пять процентов лучших вакансий никогда не публикуются. Они закрываются через referral, через нетворкинг, через "я слышал что этот человек хорошо разбирается в X". Это рынок доверия, а не рынок навыков.
— То есть LinkedIn-профиль не работает?
— Работает — но не так, как ты думаешь. Карьерный рост — это не результат того, насколько ты хорош. Это результат того, насколько широко известно, что ты хорош. Это разные задачи. Один ресторан — с лучшей едой в городе, но без адреса и вывески. Другой — с едой похуже, но с очередью из Instagram. Твой код — это еда. Но видимость определяет, придут ли к тебе вообще.
— И что делать? Писать посты про свою работу?
— Писать, выступать, делать публичные code review, объяснять концепции в Slack публично а не в личке. Но вот что интересно: публичность не просто маркетинг. Она реально делает тебя лучшим специалистом. Когда ты пишешь о своей работе для других — ты сам начинаешь понимать её глубже. Это побочный эффект, но он огромный.
— А переход с Senior на следующий уровень — там тоже видимость важна?
— Там она первична. Переход со Senior на Staff коррелирует не с техническими навыками — с cross-team влиянием. Насколько тебя знают за пределами твоей команды. Не потому что ты умный, а потому что ты решаешь проблемы, которые видят несколько команд сразу.
— Ладно. А как решать больше таких задач? Лучше планировать время? Покупать курсы по тайм-менеджменту?
— Планирование помогает быстрее делать неправильные вещи.
— Это жёстко.
— Проблема не в том, как ты работаешь. Проблема в том, над чем. Это разные вопросы. Представь: ты копаешь канаву лопатой. Можно копать быстрее всех — но ты всё равно копаешь лопатой. А кто-то уходит на два часа, возвращается с экскаватором и за день делает работу бригады за месяц. Разница между джуном и сеньором — не в том, что сеньор кодит быстрее. Он умеет найти задачу, которая заменяет лопату на экскаватор.
— Это называется leverage?
— Да. Реальный рычаг — это когда один час твоей работы экономит сотни часов команды или открывает возможности, которые иначе недоступны. Двадцать восемь процентов рабочего времени разработчики тратят на коммуникацию и координацию — не на создание продукта. Это первое место для leverage. Автоматизируй, задокументируй, убери узкое место в процессе — и ты внезапно становишься человеком, которого все хотят в команду.
— Но это же требует времени. Где его взять?
— Вот тут ключевой вопрос. Четыре часа на автоматизацию один раз — это тридцать минут каждого из десяти человек каждую неделю. Тысяча триста часов в год. Но это не видно в спринте. Именно поэтому большинство не делает это вложение.
— Джун, который написал деплой-скрипт — он создал больше ценности, чем сеньор который весь спринт писал фичу?
— Да. Иногда — намного больше. И это нормально. Вопрос "над чем работать" важнее вопроса "как работать". А как понять, что ты сам сейчас не тратишь время на лопату? Посмотри: сколько людей сказали тебе спасибо не за результат, а за то, что ты сделал их работу легче. Если таких случаев нет — ты копаешь лопатой.
— Хорошо. Допустим, я буду делать правильные вещи. Закрою Senior, потом — что? Staff? Principal?
— Большинство до Staff не доходят никогда. Средний разработчик проводит на Senior семь-десять лет без повышения. И это не потому что плохой. Это потому что система.
— Какая система?
— Компании заинтересованы в том, чтобы ты оставался Senior как можно дольше. Это самый продуктивный и дешёвый ресурс. Senior понимает, что делает, работает самостоятельно, стоит дешевле Staff. Система перфоманс-ревью часто негласно поощряет оставаться там, где ты уже эффективен. Разработчик думает, что его ценят — но на самом деле его используют.
— Это звучит параноидально.
— Это не параноя — это механика организаций. Тебе когда-нибудь прямо говорили на ревью: "ты застрял, тебе надо двигаться"?
— Нет.
— Никогда не скажут. Потому что зачем? Ты работаешь, задачи закрываются. Зачем создавать проблему там, где её нет? Кстати, вспомни последние три повышения которые ты видел вокруг себя — это было "тебя заметили за работу" или "кто-то конкретный тебя рекомендовал и пробил"?
— Честно? Второе.
— Всегда второе. Senior — это первый уровень, где тебя начинают воспринимать всерьёз. Но именно здесь большинство застревает. Потому что дальше — три совершенно разных пути, и ни один не похож на предыдущий.
— Какие три?
— IC track — Staff, Principal, Distinguished. Влияние через архитектуру и технические решения на уровне всей компании. Менеджмент — влияние через людей, не через код. И собственный продукт — влияние через рынок. Каждый требует разного и забирает разное. Но вот что важно: лучший кассир в супермаркете получает звание Старшего кассира. Следующий шаг — это уже не "ещё быстрее пробивать товары". Это учить других, проектировать кассовую зону или открыть собственный магазин. Три разных пути, и ни один не похож на предыдущий.
— А медиана Staff в FAANG насколько выше Senior?
— Полтора-два с половиной раза. При сопоставимом количестве лет опыта. Но меньше двадцати процентов Senior когда-либо туда доходят. Не потому что не могут — потому что не понимают, что игра изменилась. Навыки, которые сделали тебя отличным Senior, почти не помогают на Staff. Там нужен совсем другой набор.
— И что? Просто принять что система несправедлива и искать обходные пути?
— Или понять, что погоня за должностью — это вообще неправильная рамка. Ты сейчас мыслишь лестницей.
— А надо как?
— Надо мыслить источниками ценности. Но до этого я хочу спросить тебя кое-что другое. Когда ты последний раз делал что-то без причины?
— Что значит "без причины"?
— Без цели, без результата, без того чтобы это можно было занести в какой-то внутренний актив. Просто потому что хотелось.
— Ну... я хожу в спортзал.
— Для здоровья или для удовольствия?
— ...для здоровья, наверное.
— Вот. Разработчик применяет к жизни ту же логику, что к коду. Убирает неэффективное, автоматизирует рутинное, оптимизирует выход. И в итоге выбрасывает именно то, что делало жизнь живой. Представь: ты решил оптимизировать еду. Убрал всё лишнее — разговоры за столом, красивую сервировку, готовку с удовольствием. Перешёл на протеиновые батончики по расписанию. Максимум нутриентов, минимум времени.
— Ну, технически идеально.
— Идеально. И именно так разработчик убирает "лишние" дружеские звонки, случайные прогулки без цели, хобби без монетизации. Получает идеально структурированное существование, в котором нечему быть потерянным — потому что нечему было быть живым.
— Это про выгорание?
— Про кое-что хуже. Выгорание — когда ты знаешь, что тебе плохо. То, о чём я говорю — когда человек перестаёт помнить, когда ему было по-настоящему хорошо. И начинает считать это нормой. Анhedonia. Она наступает постепенно.
— Это называется выгоранием?
— Нет. Выгорание — это усталость. Это — системный сбой смысловой архитектуры. Разработчики с высоким уровнем идентификации с профессией — "я программист" вместо "я работаю программистом" — в два-три раза чаще теряют ощущение смысла вне работы после пяти лет. Потому что если работа — это и есть ты, то что остаётся когда работа не идёт?
— Ты автоматизировал бы себя, если бы мог?
— Именно этот вопрос. И именно это некоторые разработчики и делают — методично убирают из жизни всё непредсказуемое, неизмеримое, неэффективное. И получают идеально работающую систему. Без сбоев. И без радости.
— И что с этим делать?
— Честный ответ: понять что именно сломано. Это как рефакторинг — нельзя просто "стать другим". Нужно сначала увидеть архитектуру, понять где и когда сложились эти паттерны. Но это уже другой разговор. Вернёмся к карьере — потому что там есть кое-что, что напрямую связано со всем этим.
— Ладно. Так что значит "мыслить источниками ценности"?
— Успешные разработчики через семь-десять лет перестают думать в терминах должностей. Они думают в терминах параллельных треков. Консалтинг, продукт, публичность, обучение — каждый работает пока ты занимаешься другим. Это как распределённые системы.
— Монолит против микросервисов?
— Точно. Монолитная карьера: одна работа, один доход, один работодатель. Одна точка отказа. Вертикальное масштабирование — покупай сервер дороже, жди повышения, проси у того же работодателя. Микросервисная карьера: независимые компоненты. Консалтинг приносит деньги. Продукт приносит деньги пока ты спишь. Публичность делает тебя дороже на основной работе. Каждый трек работает независимо.
— Но это же требует времени. Где взять время на второй проект когда работаешь полный день?
— А сколько времени ты тратишь на скроллинг? Или на работу, которая тебе не нужна для роста?
— Ну...
— Десять часов в неделю есть у почти каждого. Это не про "начать стартап". Первый шаг — написать в публичное место о проблеме, которую только что решил на работе. Один пост. Это занимает час. Это создаёт видимость, это создаёт нетворкинг, это создаёт репутацию.
— И это реально работает?
— Разработчики, которые публично делятся знаниями, получают офферы с зарплатой на двадцать-сорок процентов выше. Работодатели платят премию за "публичных" разработчиков. И кстати — независимый консультант с десятью годами опыта берёт двести-пятьсот долларов в час. В три-пять раз больше, чем его средняя почасовая ставка на найме.
— Но это же не значит уйти с работы?
— Нет. Многие успешные разработчики с параллельными треками продолжают работать в найме. Но уже не потому что должны — а потому что хотят. Это меняет всю динамику. Когда ты не зависишь от работодателя финансово — ты начинаешь вести себя иначе. Говоришь "нет" неправильным задачам. Берёшь на себя видимые инициативы. Люди чувствуют, что ты не в позиции страха.
— То есть лестница не исчезает?
— Лестница становится одним из нескольких направлений. Не единственным.
— Слушай, у меня в голове сейчас есть один вопрос, который я хочу задать, и я не знаю с какой стороны к нему подойти. Мы говорили про видимость, про редкость, про leverage — всё это звучит как стратегия. Но ты сам говоришь, что не знаешь, какая из них правильная для конкретного человека.
— Да, это честно.
— Тогда как вообще понять с чего начать? Если все стратегии работают, но для разных людей в разное время — как выбрать первый шаг прямо сейчас?
— Вот. Это правильный вопрос. И я не дам тебе ответ — потому что правильный ответ зависит от того, чего ты сейчас боишься больше всего. Не от того, чего хочешь. От того, чего боишься.
— Почему?
— Потому что страх — это точная карта того, где у тебя слабое место. Боишься говорить публично? Значит видимость — твоё первое узкое место. Боишься отказаться от переработок? Значит ловушка исполнителя уже захлопнулась. Боишься начать что-то своё пока нет гарантий?
— Ну, последнее — это про меня.
— Тогда начни с вопроса: что я знаю достаточно хорошо, чтобы написать об этом один пост сегодня? Не проект. Не продукт. Один пост.
— А если никто не прочитает?
— Тогда ты потренировался думать ясно. Это уже ценность. Но вот что я тебе могу сказать точно: первый человек, который напишет тебе "это именно то, с чем я застрял неделю" — это момент, после которого что-то меняется. Не карьера. Что-то в голове.
— И что именно меняется?
— Вот это и есть вопрос, который стоит копать дальше. Я не думаю, что у меня есть готовый ответ — потому что он у каждого свой. Но теперь у тебя есть карта, с которой можно начать искать.