Пришел вопрос: Какими софт-скиллами должен обладать IT-разработчик для работы в команде?

————



...Такое чувство, что разработчику, который хочет только писать код и ничего больше — особо Soft-скиллы не нужны. Хватит тех социальных навыков общения, которые получены за жизнь. Можно быть аутистом, анитисоциальным типом, при этом сидеть в Усть-зажопинске и писать хороший код.



Многие (не все!) разработчики ужасно категоричны. Фразы типа “есть либо мое мнение, либо неправильное”, или “весь код, который писал не я — дерьмо (или который писал я, но больше недели назад)” — встречаются в природе чаще, чем хотелось бы.



Soft Skills нужны в первую очередь организаторам, руководителям проектов. Есть старая, классная книжка “Как пасти котов” — о типах программистов и о том, как с ними ладить. Написана программистом для тех разработчиков, которых интересует не только их любимый текстовый редактор. Которые стремятся (или вынуждены по долгу службы) отстраивать управленческие коммуникации с другими разработчиками. Вот ее рекомендую. Веселая, короткая и по делу.



Мешают ли слабые Soft Skills? Да. Безусловно. Сейчас редко какой проект можно сделать в одиночку. Отчасти именно для решения этой проблемы придумали Scrum — фреймворк управления проектами, который заставляет людей общаться, становиться командой и вместе решать проблемы.



Выстраивание программистской команды с нуля — не самая простая задача. В этом ключе интересна модель Брюса Такмана. Такман исследовал экипажи военных подводных лодок. Это такие суровые мужики, ни разу не пацифисты, которых собрали вместе, засунули в жестянку, и отправили на полгода плавать где-то в Атлантике. Такман заметил, что команды проходят фазы

— Формирование (Forming)

— Шторм (Storming)

— Нормализация (Norming)

— Делание (Performing)

— Переформирование (Reforming)



Причем до Performing “доживают” далеко не все. Многих так и штормит – выясняют отношения, кто главнее. Задача менеджера (отчасти — искусство) — протащить команду как можно быстрее через фазу Storming. Исходя из реалий и тех Soft Skills, которые есть у ребят.



Тут небольшой совет руководителям проектов: хвалите, приводите в пример, давайте интересные задачи именно тем ребятам, которые сосредоточены на производстве результатов. А не на тех, кто больше всех возмущается и создает проблемы. Это контринтуитивное действие, но это работает.



Программисту же Soft Skills понадобятся (осознанно понадобятся) только если есть амбиции за рамками программирования. Придется перестать быть интровертом и научиться общаться, строить отношения. Большинство, у кого такая потребность осознанно появилась — справятся с этим без проблем, за пару лет. Они слишком умные, и смогут стать интровертами, делающими вид, что они — экстраверты. Но вот появится ли такая потребность? Не факт. А зачем?



Итак, в сухом остатке:

— Soft Skills у программистов уже есть. На том бытовом уровне, который получен с детства.

— Scrum помогает прокачивать коммуникации. И нужные Soft Skills растут как бы сами собой.

— Soft Skills больше нужен руководителю проектов, чтобы правильно “Пасти котов” и провести команду через фазу “Storming”

— Если у программиста зачем-то появится осознанная потребность в развитии Soft Skills — он справится с этим за счет интеллекта, чтения и анализа. Интроверты, делающие вид, что они экстраверты — это сила!