Как понять, что ты в правильном месте и с правильными людьми? Навыки командной работы, основные SoftSkills
Дисклеймер
Т.к. разработка является в основном коллективным творчеством (инди-фанатиков пока не рассматриваем), то команда - это нечто большее, чем просто совокупность разработчиков. Команда, если это действительно команда, а не табличка на двери - это единый организм, который имеет свои слабые и сильные стороны. Причем, количество и качество сильных сторон перевешивают минусы слабых. Если же команды нет или она в стадии разложения - минусы будут превалировать и наносить дополнительный урон по всем участникам. Сейчас я попытаюсь сформулировать эти стороны на основании своего опыта и наблюдений.
Сильные стороны
- коллективная ответственность. За код и за проект отвечает команда, а не только один бедный Ваня-джун.
- коллективная экспертиза. Каждый разработчик имеет свои сильные и слабые стороны, предпочтения. Кому-то нравится рефакторить , писать хитрые map/reduce, оптимизировать код, а кто-то упарывается по БД. Кто-то шарит за низкоуровневую реализацию библиотеки, а кто-то знает кучу современных подходов и практик. На ревью, если к нему подойти качественно, их знания умножатся.
- коллективная эмпатия. В команде повышаются шансы найти тот психотип, темперамент и характер, который наиболее вам подходит (в качестве buddy в первую очередь). Появляется возможность практиковать такие штуки как "Экстремальное программирование" (Extreme programming) и "Парное программирование" (Pair programming) в частности. В команде кто-то может занимать позицию приятеля, а кто-то гуру-ментора, а кто-то обособленный фанатик-отшельник, владеющий секретными знаниями. Всем есть место.
Наши недостатки - это продолжение наших достоинств
- коллективная безответственность. При чьем-то попустительстве может начаться перекладывания отвественности, задержки на ревью (причем чем больше интересантов - тем дольше оно длиться), умножение хаоса.
- коллективная духота. Если в команде плохой микроклимат, то новичков или более слабых коллег могут буллить, душить на ревью, шеймить по поводу того, что он не знает оптимальных способов построения ORM-query, нюансов мультиплексирования и вообще он пишет говнокод. Экспертиза превращается в битву между экспертами, точнее их самомнений.
- коллективный эгоизм. Вместо того, чтобы подсказать и помочь - приравнивают код к личности и унижают. Как следствие - нервные потери и уход из команды/профессии. Основные признаки такой ситуации: "мое ревью - важнее твоего", "я здесь чтобы развивать только себя и продавливать только СВОИ решения", "меня не интересует ход разработки всего проекта, главное - закрыть свои задачи". Такие персонажи очень сильно демотивируют и показывают плохой пример другим. Как следствие - разлад в команде и выяснение "кто виноват?".
Очень важно, чтобы мониторингом занимались ВСЕ участники процесса, а не только один бедный лид или PM, или одинокий джедай-разработчик. Коллективный - значит все участники команды принимают равное участие в жизни команды/проекта. Без этого никак.
SoftSkills разработчика, помогающие всей команде
- Честность. Не бойтесь сказать, что вас что-то не устраивает. Это лучше, чем если вы промолчите или еще хуже обманите. А вам придется это делать, если вы не устраните причину неудовлетворенности.
- Вовлеченность. Не думайте, что за вас сделает ваш коллега, но рассчитывайте на помощь в трудный момент. Предлагайте, спорьте, находите лучший путь. Чем больше мы вкладываем - тем больше получаем!
- Терпение. Москва не сразу строилась. Если вы более опытный разработчик - с пониманием относитесь к "глупым вопросам" джуна. Сложная задача только та, что решается в первый раз!
- Общайтесь. Некоторые люди имеют с этим проблемы. Возможно, это особенности личности или нет необходимого навыка. Командная работа требует частой коммуникации, так что придется тренироваться :)
Работа в команде - это весьма полезный опыт, которым должен обладать каждый уважающий себя разработчик. Она позволяет качественно прокачать свои сильные стороны и подтянуть слабые. В конечном итоге - все зависит от вас!
В конце, хотел бы привести адаптированную цитату
Разрозненные разработчики — ничто. Объединенные разработчики — все.
🖤 Подписывайтесь на мою телегу. Больше кода 🐍 - меньше багов 🪲!