Перейти к основному содержимому

Как устроена инженерная культура в компании?

Почему это важно?

Инженерная культура это фундамент, на котором стоит не только команда разработки, но и вся компания. Принципы инженерной культуры влияют на эффективность бизнеса, настроение между бизнесом и разработкой, уровень удовлетворенности членов команды разработки.

На каких принципах может быть построена инженерная культура?

  • Разработчики уверенно разбираются в бизнес-процессах компании. Знают своего пользователя и его проблемы.
  • Представляют код, как средство общения с другими разработчиками, используя культурный и уважительный тон.
  • Автоматизация типовых и рутинных задач.
  • Нулевая толерантность к ошибкам.
  • Используется стандартный технологический стек, принятый в компании. Любые проекты, которые хотят внедрить новую технологию или отклониться от наших стандартных процессов, должны пройти проверку технических спецификаций.

Когда принципы описаны и приняты, можно погружаться в детали, которые помогут соблюдать эти принципы:

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

Ссылки по теме

Developer Experience. Фёдор Борщёв

Автотесты «на пальцах». Дизайн-бюро Артёма Горбунова

Антипаттерны тестирования ПО. Хабр