Как устроена инженерная культура в компании?
Почему это важно?
Инженерная культура это фундамент, на котором стоит не только команда разработки, но и вся компания. Принципы инженерной культуры влияют на эффективность бизнеса, настроение между бизнесом и разработкой, уровень удовлетворенности членов команды разработки.
На каких принципах может быть построена инженерная культура?
- Разработчики уверенно разбираются в бизнес-процессах компании. Знают своего пользователя и его проблемы.
- Представляют код, как средство общения с другими разработчиками, используя культурный и уважительный тон.
- Автоматизация типовых и рутинных задач.
- Нулевая толерантность к ошибкам.
- Используется стандартный технологический стек, принятый в компании. Любые проекты, которые хотят внедрить новую технологию или отклониться от наших стандартных процессов, должны пройти проверку технических спецификаций.
Когда принципы описаны и приняты, можно погружаться в детали, которые помогут соблюдать эти принципы:
- Все задачи фиксируются в трекере.
- Разработчик хорошо понимает критерии готовности задачи.
- Придерживается выбранного варианта ветвления: GitHub Flow, GitLab Flow, GitFlow.
- Соблюдает правила пулл-реквестов
- Подробно и понятно описывает коммиты: раз, два
- Придерживается определенного стиля кодирования:
- Каждая задача проходит ревью.
- Используются линтеры и CI/CD:
- .editorconfig
- Линтер для легаси-проектов (подход baseline), если ошибок больше, чем в baseline — CI падает
- Запускается ли контейнер
- Не вырос ли размер контейнера
- Нет ли непрописанных миграций
- Компилируются ли переводы
- Нет ли уязвимостей
- Не замедлилась ли скорость загрузки
- Настроено автоматическое создание и разворачивание окружения.
- Знание и уместное использование различных приёмов: Guard Clause, магические числа
Ссылки по теме
Developer Experience. Фёдор Борщёв
Автотесты «на пальцах». Дизайн-бюро Артёма Горбунова