Тест от "Инженера-прагматика": 12 вопросов об инженерной культуре

Тест от “Инженера-прагматика”: 12 вопросов об инженерной культуре

Автор оригинала: Gergely “Pragmatic Engineer” Orosz Переведено для Хабра

Отличный сборник “лучших практик” в инженерной культуре современных айти компаний. Автор работал в Uber, Skyscanner и Skype в Амстердаме - прим.пер.

Приведенные тут 12 вопросов могут помочь понять, на что внутри похожа айтишная компания; и, что особенно важно, об этих вещах обычно не пишут в описаниях вакансий.

Я придумал этот “тест”, чтобы лучше понимать, что такое “здоровая культура разработки” в 2021 году. Я обнаружил, что тест Джоэла (которому уже 20 лет), принимается как само собой разумеющееся уже в очень многих компаниях, но он не включает многие моменты, которых разумно ожидать от по-настоящему крутой инженерной компании.

  1. Если это стартап с венчурным финансированием или публичная компания - получают ли инженеры долю в капитале? Распространяется ли это на всех инженеров, или акции надо “заслужить”? Если это частная компания без венчурного капитала - получают ли инженеры щедрую долю прибыли? Внимание: здесь не считаем публичные компании, предлагающие опционы (ESOP) со скидкой; “щедрая доля прибыли” означает бонус не меньше 15-20% годовой зарплаты в “нормальный” год.

  2. Есть ли общий список высокоуровневых задач (“дорожная карта”), общая для большинства команд? Регулярно ли инженеры дополняют и пересмартивают “карту” своей команды?

  3. Работают ли инженеры напрямую с другими сотрудниками (инженерами в других командах, дизайнерами, менеджерами, дата-сайентистами и т.д.)? Ответьте «нет», если предполагается, что они будут общаться через руководителей отделов вместо прямого общения.

  4. Являются ли ревью и тестирование кода частью повседневного процесса разработки?

  5. У вас есть CI (“Непрерывная интеграция”)? Когда инженер заканчивает писать код, будет ли он автоматически выгружен в prod (через СD, “непрерывная доставка”); если нет - может ли инженер запустить релиз вручную?

  6. Следует ли компания принципам “внутреннего открытого кода”, когда любой инженер может получить доступ и внести свой вклад в большую часть кода других команд (при наличии четких “владельцев” у кода, конечно)?

  7. Можно ли сказать, что дежурства (on-call), если они есть, “здоровые”? Измеряется ли как-либо качество дежурств (имеется в виду минимизация числа звонков в нерабочее время, будь то шум или реальные проблемы, а не то, как быстро конкретный Вася брал трубку при звонках системы оповещения - прим. пер.) и их влияние на разработчиков? Имеет ли приоритет исправление “нездоровых” вызовов над любой другой работой?

  8. Являются ли менеджеры инженерных команд “технарями”, то есть, были ли они ранее в своей карьере инженерами?

  9. Есть ли в компании карьерная лестница с четко описанными уровнями и требованиями к каждому из них?

  10. Есть ли в компании возможность переключиться на “параллельную” карьерную лестницу в разработке или менеджменте, не “упав” при этом в самый её низ?

  11. Есть ли в компании здоровая культура обратной связи? Ответьте “да”, если присутствуют хотя бы два пункта из следующих трех: a) 360-ревью производительности (обязательный момент: разработчики дают обратную связь и менеджерам в том числе) b) коллеги дают обратную связь друг другу c) общекорпоративные опросы для сбора отзывов об атмосфере на рабочем месте (и по результатам вносятся изменения).

  12. Инвестирует ли компания в профессиональный рост. Ответьте “да, если присутствуют хотя бы два пункта из следующих трех: а) программа наставничества в компании б) бюджет/стипендия на профессиональное развитие (книги, тренинги и т.п.) в) регулярные технические лекции, на которых сотрудники учатся друг у друга или у приглашенных экспертов.

Можете “пройти” тест для своего текущего работодателя тут (или отправить формой автору оригинала) и отметить результат в опросе или комментариях; мне хотелось бы выделить несколько компании, получивших стабильно высокие оценки.

Более высокий балл в среднем получили компании с более дружелюбной и предсказуемой культурой; они обычно весьма похожи на «Кремниевую долину» в своем подходе к инженерам. Тест основан на идеях из поста Тест культуры программной инженерии.

Важно отметить, что часто оценка будет более показательна для конкретной команды, и в меньшей степени - для компании в целом, так как “здоровые дежурства” или даже “время до продакшена” могут сильно различаться для разных команд в большой компании.

Компании, команды которых показали результат 12 из 12:

Компании с командами, имеющими оценку 11 из 12

Ничего страшного, если стартап или небольшая компания (до 20 инженеров) ответят «нет» на вопросы 9 (карьерная лестница), 10 (параллельные карьерные лестницы) и 11 (культура обратной связи), но по мере роста компании будет все меньше оправданий не инвестировать в эти улучшения.

Такие растущие стартапы с оценкой 10–11 из 12, в которых отсутствуют элементы 9, 10 или 11 (но руководство компании подтвердило, что они займутся этими факторами по мере роста компании), включают: Fonoa, Linear Product Hunt и Udaan.

Также имеет смысл задать эти вопросы компании в рамках “обратного собеседования” после получения оффера, это поможет получить представление, как работает ваша будущая команда и насколько благоприятна для инженеров ее культура.

От переводчика: в исходном посте есть несколько ссылок на вакансии в “хороших” компаниях в Европе.