Как нехватка софт-скиллов у опытных разработчиков убивает проекты и что такое «фактор автобуса»
В ИТ-сообществе разгорелась дискуссия вокруг болезненной темы: старшие разработчики нередко не способны внятно передать свои знания - ни джунам, ни менеджерам. Экспертиза есть, а объяснить не могут. И это уже не просто неудобство - это прямая угроза для бизнеса.
Когда знания «заперты» в одной голове
В профессиональной среде давно гуляет понятие «фактор автобуса» - bus factor. Смысл жёсткий: сколько человек должно одновременно покинуть проект, чтобы он перестал нормально работать? Если ответ - один, всё висит на волоске.
Исследования подтверждают: проблема куда масштабнее, чем кажется. Из почти 12 миллионов репозиториев в одной крупной базе данных open source-проектов около 7 миллионов поддерживаются единственным разработчиком. Ещё раньше выяснилось, что 93% пакетов в экосистеме npm имеют одного-единственного мейнтейнера. Один человек - одна точка отказа.
Финансовые потери от такой концентрации знаний колоссальны. По имеющимся данным, крупнейшие корпорации ежегодно теряют десятки миллиардов долларов из-за того, что обмен знаниями внутри команд выстроен из рук вон плохо. Особенно остро это бьёт по компаниям с обширным легаси-кодом, авторы которого давно ушли.
Communication smells: как назвали болезнь
Инженер из Pinterest Джордан Катлер предложил точный термин - communication smells. По аналогии с code smells: если запутанная логика сигнализирует о проблемах в коде, то расплывчатые пулл-реквесты и хаотичная коммуникация внутри команды - признак системного сбоя в обмене знаниями.
Любопытно, что ставки в этой игре куда выше, чем принято думать. Примерно как в спорт на ставки - цена ошибочного расчёта может оказаться несоразмерно высокой. Сеньор может блестяще держать в уме архитектуру всего продукта, но оказаться беспомощным, когда нужно объяснить её коллеге или зафиксировать в документации.
Какие навыки реально нужны разработчику
Исследователи из нескольких университетов ещё в начале 2010-х опросили около 170 разработчиков и проанализировали сотни вакансий. Вывод однозначный: среди всех «мягких» навыков коммуникативные способности вышли на первое место с большим отрывом.
- Умение ясно формулировать мысли и обсуждать технические решения
- Способность выстраивать отношения с коллегами и договариваться
- Навык передачи опыта - от сеньора к менее опытным членам команды
- Готовность адаптироваться и продолжать учиться
С тех пор список почти не изменился. Коммуникация и передача экспертизы по-прежнему в топе - и по-прежнему остаются самым слабым звеном у многих сильных технических специалистов. Хороший разработчик и хороший наставник - далеко не одно и то же.