Отличный сборник “лучших практик” в инженерной культуре современных айти компаний. Автор работал в Uber, Skyscanner и Skype в Амстердаме - прим.пер.
Эти 12 вопросов могут помочь понять, на что внутри похожа айтишная компания; и, что особенно важно, об этих вещах очень редко пишут в описаниях вакансий.
Я придумал этот “тест”, чтобы самому лучше понять, из чего состоит “здоровая культура разработки” в 2021 году. Я обнаружил, что тест Джоэла, принимается как само собой разумеющееся уже в очень многих компаниях, но ему уже два десятка лет, и он не включает многие моменты, которых разумно ожидать от по-настоящему крутой инженерной компании.
Если это стартап с венчурным финансированием или публичная компания - получают ли инженеры долю в капитале? Распространяется ли это на всех инженеров, или акции надо “заслужить”? Если это частная компания без венчурного капитала - получают ли инженеры щедрую долю прибыли? Внимание: здесь не считаем публичные компании, предлагающие опционы (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.
Также имеет смысл задать эти вопросы компании в рамках “обратного собеседования” после получения оффера, это поможет получить представление, как работает ваша будущая команда и насколько благоприятна для инженеров ее культура.
От переводчика: в исходном посте есть несколько ссылок на вакансии в “хороших” компаниях в Европе.