Дмитрий!
Как измерять качество кода
Самый надёжный способ измерить инженерную культуру — изучить кодовую базу. Посмотреть метрики качества, сложность архитектурных построений, количество уровней абстракции, связанность кода и другие программистские штуки. Чтобы не погружаться в дебри, я опишу пару показателей, которые позволяют измерить уровень культуры извне.
Как измерять качество кода
Для начала узнайте, как часто на продакшне встречаются критичные баги. Если программисты постоянно ломают приложение, значит что‑то мешает им ответственно относиться к своей работе. Это может быть плохая кодовая база, либо плохо выстроенное взаимодействие с бизнесом — в таких командах часто ограничивают время, нужное на тестирование.
Хороший индикатор инженерной культуры — когда в команде очень мало тестировщиков. Это означает, что программисты самостоятельно проверяют свою работу. При отсутствии автотестов или сложной кодовой базе это было бы весьма обременительно.
Если есть доступ к исходникам, посмотрите — насколько детальны сообщения коммитов? Я люблю проверять сообщения, с которыми исправляют баги. Если исправления описывают подробно, к примеру «Fixed a bug when non‑confirmed user attempted to log in», это говорит, что программист скорее всего никуда не торопился — у него за спиной не стоял злобный менеджер, а баг чинился в спокойной обстановке. Когда чинят срочные и важные баги на проде, пишут что‑то вроде «fix» или «added __init__.py».
Загляните в пулл‑реквесты: насколько внимательно программисты проверяют код друг‑друга? В командах, где ценят инженерную культуру, код‑ревью достаточно жёсткий — у новичков в одном пулл‑реквесте может быть десяток комментариев. Если комментариев мало, или в них обсуждают стиль кода а не способы решения проблем — культура скорее всего низкая.