{"id":13586,"url":"\/distributions\/13586\/click?bit=1&hash=d51248b864fc2536881ecff329f016f361fa84fdd76d6e9aaa5b17f1b9fefbb0","title":"\u0417\u0432\u043e\u043d\u0438\u0442\u044c \u0438\u0437 \u041a\u0430\u043b\u0438\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0430 \u0432 \u042f\u043a\u0443\u0442\u0438\u044e \u043f\u043e \u0432\u0438\u0434\u0435\u043e \u0431\u0435\u0437 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a","buttonText":"\u0410\u043b\u043b\u043e!","imageUuid":"bc8e606b-9a50-5550-a16e-3fed09971ed5","isPaidAndBannersEnabled":false}
Vladimir Gerasimenko

Как понять, что ты в правильном месте и с правильными людьми? Навыки командной работы, основные SoftSkills

Дисклеймер

Т.к. разработка является в основном коллективным творчеством (инди-фанатиков пока не рассматриваем), то команда - это нечто большее, чем просто совокупность разработчиков. Команда, если это действительно команда, а не табличка на двери - это единый организм, который имеет свои слабые и сильные стороны. Причем, количество и качество сильных сторон перевешивают минусы слабых. Если же команды нет или она в стадии разложения - минусы будут превалировать и наносить дополнительный урон по всем участникам. Сейчас я попытаюсь сформулировать эти стороны на основании своего опыта и наблюдений.

Сильные стороны

  • коллективная ответственность. За код и за проект отвечает команда, а не только один бедный Ваня-джун.
  • коллективная экспертиза. Каждый разработчик имеет свои сильные и слабые стороны, предпочтения. Кому-то нравится рефакторить , писать хитрые map/reduce, оптимизировать код, а кто-то упарывается по БД. Кто-то шарит за низкоуровневую реализацию библиотеки, а кто-то знает кучу современных подходов и практик. На ревью, если к нему подойти качественно, их знания умножатся.
  • коллективная эмпатия. В команде повышаются шансы найти тот психотип, темперамент и характер, который наиболее вам подходит (в качестве buddy в первую очередь). Появляется возможность практиковать такие штуки как "Экстремальное программирование" (Extreme programming) и "Парное программирование" (Pair programming) в частности. В команде кто-то может занимать позицию приятеля, а кто-то гуру-ментора, а кто-то обособленный фанатик-отшельник, владеющий секретными знаниями. Всем есть место.

Наши недостатки - это продолжение наших достоинств

  • коллективная безответственность. При чьем-то попустительстве может начаться перекладывания отвественности, задержки на ревью (причем чем больше интересантов - тем дольше оно длиться), умножение хаоса.
  • коллективная духота. Если в команде плохой микроклимат, то новичков или более слабых коллег могут буллить, душить на ревью, шеймить по поводу того, что он не знает оптимальных способов построения ORM-query, нюансов мультиплексирования и вообще он пишет говнокод. Экспертиза превращается в битву между экспертами, точнее их самомнений.
  • коллективный эгоизм. Вместо того, чтобы подсказать и помочь - приравнивают код к личности и унижают. Как следствие - нервные потери и уход из команды/профессии. Основные признаки такой ситуации: "мое ревью - важнее твоего", "я здесь чтобы развивать только себя и продавливать только СВОИ решения", "меня не интересует ход разработки всего проекта, главное - закрыть свои задачи". Такие персонажи очень сильно демотивируют и показывают плохой пример другим. Как следствие - разлад в команде и выяснение "кто виноват?".

Очень важно, чтобы мониторингом занимались ВСЕ участники процесса, а не только один бедный лид или PM, или одинокий джедай-разработчик. Коллективный - значит все участники команды принимают равное участие в жизни команды/проекта. Без этого никак.

SoftSkills разработчика, помогающие всей команде

  • Честность. Не бойтесь сказать, что вас что-то не устраивает. Это лучше, чем если вы промолчите или еще хуже обманите. А вам придется это делать, если вы не устраните причину неудовлетворенности.
  • Вовлеченность. Не думайте, что за вас сделает ваш коллега, но рассчитывайте на помощь в трудный момент. Предлагайте, спорьте, находите лучший путь. Чем больше мы вкладываем - тем больше получаем!
  • Терпение. Москва не сразу строилась. Если вы более опытный разработчик - с пониманием относитесь к "глупым вопросам" джуна. Сложная задача только та, что решается в первый раз!
  • Общайтесь. Некоторые люди имеют с этим проблемы. Возможно, это особенности личности или нет необходимого навыка. Командная работа требует частой коммуникации, так что придется тренироваться :)

Работа в команде - это весьма полезный опыт, которым должен обладать каждый уважающий себя разработчик. Она позволяет качественно прокачать свои сильные стороны и подтянуть слабые. В конечном итоге - все зависит от вас!

В конце, хотел бы привести адаптированную цитату

Разрозненные разработчики — ничто. Объединенные разработчики — все.

В.И. Ленин

🖤 Подписывайтесь на мою телегу. Больше кода 🐍 - меньше багов 🪲!

0
Комментарии
Читать все 0 комментариев
null