Классификация должностей в современных, особенно технологических компаниях сбивает с толку не только обилием сокращений и миксом терминов на двух языках, но и нюансами скрывающегося за ними содержания. Разобраться в сформировавшейся в совсем иных обстоятельствах современной корпоративной табели о рангах с ходу не получится. Понимание нюансов, наполнения и специфики тех или иных должностей приходит с опытом и передаётся с опытом, но в открытом доступе хорошей систематизации, по крайней мере, на русском — не найдёшь. Мы тоже накопили свой опыт за годы организации рабочих процессов как внутри «Кроссовера», так и для других компаний. Но систематизировать его начнём пока на отдельных, наиболее актуальных для нас сейчас примерах. Как эта пара должностей-двойняшек: Team Lead и SEM (Software Engineering Manager), которые, как ни похожи — всё же не близнецы.
Хорошо отлаженные процессы в эффективно работающей организации — это всегда, по сути, конвейер вне зависимости от их специфики и содержания
Team Lead, особенно в небольших командах — это универсальный солдат, который и таски по команде раскидает, и сам за станок может встать, чтобы показать, как надо работать или закрыть собой дыру в ресурсах. В общем, тимлид он во всём тимлид — батя команды разработки.
Однако если в вашей компании имеются Software Engineering Manager, «семы» — то они тоже будут руководить командами разработчиков или инженеров, контролируя и обеспечивая работоспособность команды, и поддерживая рабочий контакт с «соседними» отделами разработки. Так в чём же разница с тимлидами? Мы попросили VP of Technical Product Management компании Aurea Software Максима Винникова помочь внести нам ясности в деталях.
Максим Винников — одна из жемчужин хантинга «Кроссовера». Мы пригласили его в компанию Aurea Software, одну из «дочек» техасского конгломерата ESW Capital, совсем не так давно, в январе прошлого года — и тогда ещё на позицию Technical Product Manager. Но уже в июле 2017-го Максим пересел в (виртуальное) кресло вице-президента.
На предыдущем месте, в компании AT Consulting, он проработал почти два года как раз-таки в качестве Senior Software Engineering Manager. В общем, практически вся его карьера вела его к моменту, когда он смог помочь нам написать эту статью на Хабр :)
Узкий специалист vs специалист широкого профиля
Разница между Team Lead и Software Engineering Manager — как между терапевтом и пульманологом. В наших широтах Team Lead обычно руководит многопрофильными командами и сам может быть многостаночником. «Семы» же, при должной компетентности в применяемых технологиях и методах, не принимают участия в написании кода, тестов и так далее, и ориентированы на конкретный фронт работ или операцию. Да, некоторым может показаться спорным подобный подход, однако он отлично укладывается в парадигму Factory-разработки. Software Engineering Manager – это специалист в своей области, причем специалист высокого класса, который выполняет функции руководителя и организатора, оставляя работу с кодом линейным программистам своей команды.
Впрочем, до такого уровня специализации дорасти должен не только SEM, но и компания как таковая. На ранних порах большинству бизнесов нужнее универсальные солдаты. Но как только начинается рост — специализация сотрудников и «механизация» процессов необходимы, чтобы суметь перешагнуть на следующую ступеньку развития.
Для самих специалистов, сужение их профиля несёт издержки, к которым надо быть готовым. Когда нагрузка по непосредственной работе с кодом осталась в прошлом, уступив исключительно менеджерским обязанностям, его деятельность становится более понятной и прозрачной окружающим — а значит, менее подходящей людям, склонным эмулировать ощущение собственной занятости, закопавшись в ворохе разноплановых задач.
Крутой SEM должен быть мощным специалистом, в котором победил управленец. Ещё одна проблема для любителей антагонизировать эти роли. При этом «ржаветь» и останавливаться в собственной грамотности SEM не имеет права: он должен от начала и до конца понимать, с какими технологиями работает его команда и с легкостью отслеживать возможные проблемы.
Как коммуникатор, Software Engineering Manager всегда должен контролировать входные и выходные точки выполняемых задач своей команды. Чтобы компания качала продукт как «Северный поток» качает газ, каждый сегмент трубы должен совпадать с соседними по толщине, диаметру и положению в пространстве по меньшей мере. На «входе» SEM обязан отчетливо понимать, что требуется от его подчиненных, а на выходе качественно передать готовый продукт (в виде части кода, тестов и так далее) следующему SEM и уже его «бойцам», которые примут его в дальнейшую работу. Особенно, когда речь идёт не о первичной разработке продукта, а постоянной поддержке, скажем, SaaS-решения — поток задач становится непрерывным, а цикл разработки стремительно закругляется — малейший сбой в этом процессе грозит последствиями разболтавшейся гайки в колесе при выезде на автобан.
Но и налаженные процессы не повод для расслабления. Отладив процессы — их надо начинать чистить. Банальный пример: повышение числа коммитов – это хорошо, однако если в итоге 50% и более из них в последующем правятся, то это не повышение производительности, а бег на месте с отягощением. Отлаживая процессы, SEM увеличивает объём выполняемой работы, чистя их — уменьшая затраты на выполнение конкретных её элементов, получая в результате постоянно растущее соотношение результата к усилиям. То есть ту самую производительность труда.
Карьера окончена, да здравствует карьера
Многие senior-девелоперы уворачиваются от навязываемых им позиций тимлидов, опасаясь профессиональной ямы — каким ты окажешься руководителем, это ещё узнать придётся — а вот хватка, навыки и актуальность опыта разработчика гарантированно просядут.
Но этот выбор стоит риска. Даже если всего себя посвятить совершенствованию кодерского мастерства, ты лишь отполируешь стеклянный потолок над своей головой. На каком-то этапе зарплаты просто перестают расти — остаётся разве что менять локацию, переезжая из краёв посуровее, с условной пятёркой $ в месяц, в края более солнечные, где и по 15 заплатят — но где и жизнь несопоставимо дороже, и налоги кусаются больше. В общем, если к старости вы хотите накопить не только почёт и уважение, этот потолок не заметить не получится — Хаттори Ханзо мог делать лучшие катаны в Японии, но если бы он открыл свой заводик вместо мастерской, то стал бы ещё и гораздо богаче.
И переход из «мастеров» в управленцы — самый очевидный и распространённый путь по ту сторону застеколья. Хороший спец получает больше посредственного менеджера, но гордый джуниор, задирающий нос перед другом-«менеджером» в какой-нибудь «Евросети» загоняет себя в ловушку: топ-менеджеры всегда будут зарабатывать больше специалистов, а владельцы и партнёры — больше работающих по найму.
И если вы на этот шаг решились, то позиция SEM станет отличной испытательной платформой. В отличие от того же тимлида, который в таком случае только навредит: в режиме человека-оркестра, постоянно отвлекаясь на код и сопутствующие задачи, легко будет самому себе заморочить голову — и тяжело непредвзято оценить свой реальный потенциал для перехода в касту управленцев.
Software Engineering Manager — это место, куда приходят умирать разработчики, чтобы вырасти из собственного праха уже руководителями. Дальше, впрочем, цепочка во многих компаниях не слишком длинная. В дочерних компаниях холдинга ESW Capital, например, SEM отчитываются перед VP, которые, в свою очередь, рапортуют уже напрямую CEO компании. Но зато каковы размахом эти шаги: с зарплаты «сениора», скажем, $5K в месяц — к $8K у «семы» в компаниях наших клиентов. А на следующей ступени уже пресловутый миллион рублей в месяц на позиции VP. Можно оговориться, что и этот рост тоже не безграничен, но ваши будущие стеклянные потолки будут уже стеклянными куполами. И вид оттуда открывается уже совсем иной.
Другая оговорка — зарплаты, принятые в компаниях группы ESW Capital, в которую входит и, собственно, Crossover, отличаются от рынка, причём сильно и в лучшую сторону. $8000 — это позитивная флуктуация в нашем случае. В среднем же, в столицах Software Engineering Manager могут рассчитывать на заработок от $2500-3500 в месяц. В общем, выбирать между завтраком и поездкой на метро не потребуется. Так что игра всё равно стоит свеч — попробовать себя в роли управленца стоило бы многим разработчикам.
В том числе, и в роли нашего управленца. В эту субботу в Москве мы в очередной раз закинем невод в поисках золотых голов, которым вручим лесенки и присоски для штурма стеклянных потолков в рамках нашего большого Hiring Tournament, на котором компании DevFactory, Aurea, Ignite — да и мы сами, Crossover, — отберём кандидатов на позиции — да, как вы догадались? — Software Engineering Manager с годовым окладом в $100 000. Несмотря на громкое название «турнир», это не игра и мы не распределяем места среди пришедших, а оцениваем результаты участников по объективной шкале — теоретически, выше заданной планки могут оказаться и почти все, и совсем никто.
Вести турнир и делиться опытом на месте будут действующие SEM, работающие в компаниях ESW Capital. А по скайпу общаться с участниками будет VP of Engineering компании Aurea Software SlavaKulakov, к которому, мы надеемся, сможет присоединиться и соавтор этого поста Максим Винников. Мы считаем очень важным участие специалистов такого уровня в Hiring Days — потому что считаем, что самое ценное знание о вашей будущей работе — не как на неё попасть, а как на ней не застрять. В этом смысле нашим VP точно есть, чем поделиться с SEM как будущими, так и действующими, если кто-то из них вдруг нацелился на смену места работы сейчас. Ну а пользователям Хабра доступна привилегия задавать им вопросы в комментариях в течение всей недели. Как обычно, отвечать наши коллеги будут по возможности, но обещают уделить время хотя бы самым интересным вопросам.
Автор: Crossover