🦾 IT-Качалка Давида Шекунца 💪
2023-12-13 17:54
. Team lead (уши и рот) – единая входная точка для бизнеса, которая отвечает за сроки поставки решений и технический бэклог и состояние команды, создает условия для работы Senior и Middle. Senior (мозг) – отвечает за качество и работоспособность всей системы, а значит: принимает технические решения, имеет право вето, тушит пожары, создает технические условия для работы Middle. Middle (руки) – отвественный за работоспособность, написанного им кода: согласует решения с Senior, пилит фичи и проверяет что они работаютПримечания. Я назвал их "Team lead", "Senior" и "Middle", потому что нет более подходящих слов (кроме тех, что в скобочках), на самом деле на роли "Middle" может быть человек уровня Senior, так и Junior. Это РОЛИ, а значит их может в себе совмещать в себе один и тот же человек. При этом Team Lead и Senior должно быть максимум по одному, а вот Middle может быть много, но в идеале в пределах 10-ти. Team Lead может не иметь технических навыков (таких я назыаю PM, но это не снимает с них ответственности, описанной выше). Я намеренно не включал QA, DevOps, CTO, Архитектор, etc. потому что это или может переиспользовать написанное выше, или более гипербализированная версия (например, CTO это Team Lead, только который еще и за ФОТ отвечает)Почему именно такая команда. Решения ставновятся (не)правильными только после того, как вы их применили, поэтому кто-то должен просто брать на себя ответственность за то, чтобы выбрать какой-то путь и ждать результата. Если такое решение будут пытаться утвердить несколько человек, то у них возникнут большие проблемы, соответственно, капитан (Senior) должен быть всего один.. Коммуникация с бизнесом – боль. Ее бывает невероятно много. Причем как и на вход в команду, так и на выход. Одновременно с этим, бизнес очень часто не умеет общаться с разрабами и наоборот, поэтому пускать их друг к другу на постоянной основе точно не стоит. Их можно знакомить и оставлять на какое-то время (создание фичи), но вся коммуникация и ответственность должна быть в одних руках (Team Lead). Senior дополняют Middle, а Middle дополняют Senior: Middle может получить все нужные ему знания, Senior может реализовать себя как "сенсей" и при этом сам научиться, структурировав свои знания во время передачи их Middle разработчику. Такой Уроборос позволяют им обоим расти и получать от этого удовольтвие.Два Senior разработчика могут (для начала, разосраться, но это я выше писал, поэтому в данной ситуации) задавать друг другу слишом мало вопросов (например, из-за стеснения) и пилить какую-нибудь невероятную херь просто потому что не решились ее заранее обсудить (это в целом про зрелось, но это отдельный топик)Как такую создать– Открыто и явно проговорить кто какую роль на себя берет и чтобы Senior явно передали права на решения по бизнес-части Team Lead, а Middle явно передали права за технические решения Senior– Установить хорошую, открытую и постоянную коммуникацию между всеми этими звеньями– Дать возможность Senior делать технические решения и нанимать людей в соответствии с нимиВ чем опасность– Если у Team Lead плохо прокачаны Soft skills и нет "стальных яиц" с умением говорить "нет" как разрабам, так и бизнесу, все будут выгорать, будет страдать бизнес и начнется текучка– Если выбрать плохого Senior, то он поведет всю команду в бездну, при этом если не дать Senior право принимать опасные решения, то хороший Senior тоже ничего не способен будет сделать– Если Senior не готовы слушать Middle-ов или Middle-ы соглашаться с итоговыми решениями Senior схема не сработает, поэтому именно Senior должен собирать команду