Краткий диалог на LinkedIn:
Я: Много некомпетентных инженеров пишут ужасный код и создают ужасные дизайны.
Раджа: Меня удивляет, почему это происходит почти в каждой организации. И это несмотря на утверждения компаний о том, что у них лучшие команды, процессы, инструменты и т. д.
Мне нравится вопрос «Почему». Давайте разберемся.
Ключевые моменты
Они на самом деле не плохие:
- Многие плохие результаты происходят не из-за того, что инженеры плохие сами по себе. Слабое руководство, слабое техническое лидерство и высокое давление приводят к плохому коду.
Garbage In, Garbage Out:
- Если у вас плохие процессы, культура и руководство, даже хорошие инженеры будут выдавать плохие результаты.
Несоответствие:
- Иногда хороший инженер просто не вписывается в компанию. Он может процветать в другой среде с другими ценностями и подходами.
Деньги, деньги, деньги:
- Индустрия ПО быстро выросла, привлекая многих, кто больше заинтересован в высоких зарплатах, чем в обучении и улучшении своих навыков.
Боли роста:
- Быстрый рост индустрии означает, что многие люди неподготовлены, и лучшие практики не внедрены должным образом. Это приводит к многократному «изобретению колеса» и некачественным результатам.
Неоднородность индустрии:
- Разные проекты требуют разных подходов. То, что работает в одной области ПО, может быть вредным в другой. Переход инженеров между этими областями может принести неправильные уроки.
Итог
Основными факторами плохих результатов являются не плохие инженеры, а плохие компании и люди, которые не заинтересованы в улучшении.