Тест от "Инженера-прагматика": 12 вопросов об инженерной культуре
Тест от “Инженера-прагматика”: 12 вопросов об инженерной культуре
Автор оригинала: Gergely “Pragmatic Engineer” Orosz Переведено для Хабра
Отличный сборник “лучших практик” в инженерной культуре современных айти компаний. Автор работал в Uber, Skyscanner и Skype в Амстердаме - прим.пер.
Приведенные тут 12 вопросов могут помочь понять, на что внутри похожа айтишная компания; и, что особенно важно, об этих вещах обычно не пишут в описаниях вакансий.
Я придумал этот “тест”, чтобы лучше понимать, что такое “здоровая культура разработки” в 2021 году. Я обнаружил, что тест Джоэла (которому уже 20 лет), принимается как само собой разумеющееся уже в очень многих компаниях, но он не включает многие моменты, которых разумно ожидать от по-настоящему крутой инженерной компании.
-
Если это стартап с венчурным финансированием или публичная компания - получают ли инженеры долю в капитале? Распространяется ли это на всех инженеров, или акции надо “заслужить”? Если это частная компания без венчурного капитала - получают ли инженеры щедрую долю прибыли? Внимание: здесь не считаем публичные компании, предлагающие опционы (ESOP) со скидкой; “щедрая доля прибыли” означает бонус не меньше 15-20% годовой зарплаты в “нормальный” год.
-
Есть ли общий список высокоуровневых задач (“дорожная карта”), общая для большинства команд? Регулярно ли инженеры дополняют и пересмартивают “карту” своей команды?
-
Работают ли инженеры напрямую с другими сотрудниками (инженерами в других командах, дизайнерами, менеджерами, дата-сайентистами и т.д.)? Ответьте «нет», если предполагается, что они будут общаться через руководителей отделов вместо прямого общения.
-
Являются ли ревью и тестирование кода частью повседневного процесса разработки?
-
У вас есть CI (“Непрерывная интеграция”)? Когда инженер заканчивает писать код, будет ли он автоматически выгружен в prod (через СD, “непрерывная доставка”); если нет - может ли инженер запустить релиз вручную?
-
Следует ли компания принципам “внутреннего открытого кода”, когда любой инженер может получить доступ и внести свой вклад в большую часть кода других команд (при наличии четких “владельцев” у кода, конечно)?
-
Можно ли сказать, что дежурства (on-call), если они есть, “здоровые”? Измеряется ли как-либо качество дежурств (имеется в виду минимизация числа звонков в нерабочее время, будь то шум или реальные проблемы, а не то, как быстро конкретный Вася брал трубку при звонках системы оповещения - прим. пер.) и их влияние на разработчиков? Имеет ли приоритет исправление “нездоровых” вызовов над любой другой работой?
-
Являются ли менеджеры инженерных команд “технарями”, то есть, были ли они ранее в своей карьере инженерами?
-
Есть ли в компании карьерная лестница с четко описанными уровнями и требованиями к каждому из них?
-
Есть ли в компании возможность переключиться на “параллельную” карьерную лестницу в разработке или менеджменте, не “упав” при этом в самый её низ?
-
Есть ли в компании здоровая культура обратной связи? Ответьте “да”, если присутствуют хотя бы два пункта из следующих трех: a) 360-ревью производительности (обязательный момент: разработчики дают обратную связь и менеджерам в том числе) b) коллеги дают обратную связь друг другу c) общекорпоративные опросы для сбора отзывов об атмосфере на рабочем месте (и по результатам вносятся изменения).
-
Инвестирует ли компания в профессиональный рост. Ответьте “да, если присутствуют хотя бы два пункта из следующих трех: а) программа наставничества в компании б) бюджет/стипендия на профессиональное развитие (книги, тренинги и т.п.) в) регулярные технические лекции, на которых сотрудники учатся друг у друга или у приглашенных экспертов.
Можете “пройти” тест для своего текущего работодателя тут (или отправить формой автору оригинала) и отметить результат в опросе или комментариях; мне хотелось бы выделить несколько компании, получивших стабильно высокие оценки.
Более высокий балл в среднем получили компании с более дружелюбной и предсказуемой культурой; они обычно весьма похожи на «Кремниевую долину» в своем подходе к инженерам. Тест основан на идеях из поста Тест культуры программной инженерии.
Важно отметить, что часто оценка будет более показательна для конкретной команды, и в меньшей степени - для компании в целом, так как “здоровые дежурства” или даже “время до продакшена” могут сильно различаться для разных команд в большой компании.
Компании, команды которых показали результат 12 из 12:
- Amazon, Facebook, Google
- GitHub, Square, Twitter, Shopify, Spotify, Stripe, Uber
- Auth0, Eventbrite, Freshbooks, Intercom, Sumo Logic, Udemy, Yelp, Wise
- ClassPass, Glovo, Impala, KeepTruckin, Loom, NerdWallet, Monzo, Noom, Scribd, Sonder
- Bud Financial, CommonBond, Indigo Ag, Litmus, Postscript, Rows.com, Quizlet, ThoughtSpot
Компании с командами, имеющими оценку 11 из 12
- Отсутствуют “здоровые дежурства” (бонус за честность по этому поводу!): Box, OpenTable, New Relic, Wayfair, Delivery Hero, FindHotel, Good Dog, Kraken, Signal AI, Stash
- Отсутствуют акции или участие в прибыли для инженеров: BBC, Just Eat Takeaway, Skyscanner, moonpig, Trainline, Zalando
Ничего страшного, если стартап или небольшая компания (до 20 инженеров) ответят «нет» на вопросы 9 (карьерная лестница), 10 (параллельные карьерные лестницы) и 11 (культура обратной связи), но по мере роста компании будет все меньше оправданий не инвестировать в эти улучшения.
Такие растущие стартапы с оценкой 10–11 из 12, в которых отсутствуют элементы 9, 10 или 11 (но руководство компании подтвердило, что они займутся этими факторами по мере роста компании), включают: Fonoa, Linear Product Hunt и Udaan.
Также имеет смысл задать эти вопросы компании в рамках “обратного собеседования” после получения оффера, это поможет получить представление, как работает ваша будущая команда и насколько благоприятна для инженеров ее культура.
От переводчика: в исходном посте есть несколько ссылок на вакансии в “хороших” компаниях в Европе.