Каждая компания любит продавать себя на основе своей «инженерной культуры», однако существует бесконечное количество способов ведения бизнеса и отдела разработки. Это большая область разногласий, поскольку она очень субъективна и часто выходит из-под контроля людей (поскольку обычно это может зависеть от партнерства между бизнесом и разработчиками). Кроме того, легче всего обеспечить соблюдение, если это идет сверху вниз, снизу вверх не невозможно, только сложнее.

За эти годы я составил список того, что, на мой взгляд, составляет действительно отличную культуру разработчиков. Идеи исходят из моего личного опыта, а также от сообщества в виде книг, видео и т. Д.

Начиная с 4 основных (высших) идей, которые, как мне кажется, не подлежат обсуждению. Подпункты в этих разделах очень основаны на мнениях и похожи на реализацию. Разделить их по категориям было непросто, так как некоторые из них умещались сразу в несколько, но я сделал все возможное, чтобы их отсортировать. Возможно, не удастся получить все сразу, но я определенно чувствую, что чем больше вы ставите галочки, тем лучше.

tldr;

  1. Динамическая среда
  2. Открытость
  3. Дисциплинированный
  4. Удовлетворяет и мотивирует

1. Динамическая среда

  • усердно работать над ретроспективным улучшением плохих процессов или систем, поддерживать их гибкость (например, обработка технического долга, действительно устаревшие структуры)
  • держитесь подальше от «страха перед неудачей»
  • открыт для использования новых технологий или концепций для творческого решения проблем
  • поощрял регулярные обсуждения (обмен знаниями и общение)
  • бизнес в целом активен и открыт для поиска инноваций
  • «Эгалитарный» в том смысле, что каждый может работать над чем угодно или разговаривать с кем угодно (в определенных пределах, но обычно проявление инициативы приветствуется)
  • команда время от времени участвует в хак-днях или экспериментирует
  • «Смените контроль на масштаб и инновации»
  • не просто следите за своими конкурентами

2. Открытость

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

3. Дисциплинированный

  • «Падение объема, а не качество», качество всегда превыше всего, никогда не падает
  • Испытания приветствуются и уважаются
  • никаких произвольных сроков (паника в последнюю минуту должна быть исключением, а не нормой)
  • автономные кросс-функциональные команды
  • функции включают проектирование на раннем этапе, координируемое менеджером продукта / проекта
  • «На основе данных», решения, подкрепленные метриками (т. Е. Бережливое производство)
  • должны соответствовать вашей собственной практике (например, если вы решили использовать «функциональный стиль», сделайте это)

4. Удовлетворение и мотивация

  • «Расширение прав и возможностей, а не контроль», то есть определенный уровень свободы
  • карьерный рост, зарплата и обзоры результатов
  • решения, основанные на заслугах, а не на авторитете
  • обучение на рабочем месте принято
  • код или выпущенные функции имеют явную выгоду для пользователей
  • «Доволен» пока
  • «Мотивирован» на будущее

В целом, есть несколько факторов, которые, на мой взгляд, приводят к высокой инженерной культуре, что, в свою очередь, приводит к высокому удовлетворению и мотивации. Я чувствую, что это то, что я буду постоянно пересматривать и над чем работать. Надеюсь, вы согласны с некоторыми из них, даже если это всего лишь принципы высшего уровня.

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