Всем привет! Меня зовут Юлия Степанова, я являюсь экспертом отдела бэкенд разработки, с опытом более 20 лет в области java и последние 7 лет работаю в Синимекс. За все это время я приняла участие в большом количестве проектов в роли тим лида. В статье хотела бы поделиться своими наблюдениями и выводами относительно вопросов по управлению командой и роли тим лида на проекте.
Существует немало различной литературы, как управлять людьми в целом и командой программистов в частности. Наверняка там есть много дельной информации, но сегодня не об этом.
Это рассказ исключительно из личного опыта человека, который не любит читать толстые и умные книжки. Только ИМХО, только то, что работало в моем опыте. А он был немалый, уже 10+ лет.
Главные качества тим лида
Проекты и годы работы постепенно дали возможность отметить некую схожесть черт успешных лидов команды. Вот как ни крути, если что-то из ниже перечисленного не очень, то и результат начинает проседать.
Под результатом понимается четкость в процессе работы команды, своевременное выполнение плана, количество багов, оставленных разработчиками, и скорость их исправления.
Целеустремленность. По моему мнению, это одно из главных качеств лида. Вижу цель — не вижу препятствий, почему да, а не почему нет. Действительно, такие люди — это двигатель любого дела. Стадия принятия решения должна сокращаться до секунд.
Стрессоустойчивость. Прод упал по неизвестной причине, задач внезапно стало больше, чем рук, план накрылся медным тазом, так как пришел заказчик со своими суперважными хотелками, багов навалило в разы больше, чем было вчера вечером, сделай то, не знаю, как завтра. То, с чем сталкивается лид каждый день, а может быть, и час. Как он будет это переносить, определит возможность достижения цели проекта. Запомните, вы тут мама или папа, вы взрослый и ответственность за решение всех проблем на вас и только на вас. Поэтому не стрессуем, а решаем! Покажете стресс команде — получите 10 человек, которые не верят в победу.
Техническая экспертиза. И да, я сознательно не поставила это на первое место. Вот тысячу раз видела успех лида, который не совсем прям глубоко знает технику (они всегда находили кого-то в помощь в этом вопросе) и ни разу не видела выдающихся результатов при отсутствии первых двух пунктов. Хотя лично я люблю работать с тем, что хорошо понимаю. Это дает большой прирост в оценке качества и скорости принятия решений, и возможности говорить о сроках плохо формализованных задач.
Справедливость. Вы работаете с людьми, контролируете и оцениваете их работу. От вашего мнения зависит их зарплата. Вы будете когда-то жестким, не всегда вас будут любить. И тем не менее, чтобы вы имели безоговорочную поддержку своей команды, вам необходимо видеть, слышать всех и честно выделять как успехи, так и ошибки каждого участника команды. Иначе рано или поздно вы точно окажетесь без своей команды и никуда не придете.
Есть такая поговорка "Яблоко от яблони не далеко падает". И хотя работа далека от семьи, я считаю, какой пример подает лидер, такой будет ваша команда. Если вы не работаете как волк, то не ждите, что кто-то в вашей команде будет напрягаться, хм, а если и будет, то скоро он займет ваше место. Все, что делаете вы, как вы делаете и реагируете, будет создавать атмосферу и выстраивать ценности внутри вашего коллектива.
Команда — ваше все
При всем уважении к лидеру, именно команда создает результат, а не наоборот. Помните это. Вы на своем месте для НИХ, для того чтобы они смогли выполнить свою работу максимально хорошо, не отвлекаясь на посторонние вещи.
Вы обеспечиваете их временем (может быть даже сражаясь за него с ПМом на ринге), возможностями (изыскивая доступы, информацию, общаясь со смежными командами), являетесь щитом, который принимает на себя негатив со стороны заказчика, руководителя проектов и кого бы то ни было. Уважайте коллег, с которыми работаете. Вы — тягач, но механизм — это КОМАНДА. Это люди, которые делают мечты об успехе реальностью.
Плохая команда = плохой результат. Есть такой распространенный момент, когда мы стесняемся отказываться от услуг участников команды, так как мы тут все коллеги из одной компании.
Несколько раз пыталась заставить работать или научить разработчиков, которые по каким-то причинам не отвечали моим требованиям, чаще всего тщетно.
Причем мучились все: я и сам человек, который не мог или не хотел работать в заданных условиях, но главное что и результат был крайне посредственный. Я сделала вывод, что люди разные и не все могут с друг другом работать, поэтому не нужно стесняться формировать команду, в которой было бы комфортно работать друг с другом.
Если на короткой дистанции вы можете даже обидеть кого-то, то в долгосрочной перспективе от этого будет хорошо всем: проекту (он получит слаженную работу), вам (вы перестанете тратить свое время зря) и человеку, от которого отказываетесь (он, возможно, найдет другой проект по душе).
Лайфхаки успеха
С течением времени, у меня выработались свои несколько пунктов, которые позволяют успешно идти к цели.
Всегда составляйте план. На день, на неделю, на месяц. Если земля уходит из под ног, под прессингом параллельных задач в секунду, смотрите в план и отмечай все, что сделано. Так вы сможете проанализировать, почему не достигли всего запланированного, а также убедиться, как много было сделано. Это очень сильно мотивирует.
Всегда держите список ошибок в легкодоступном месте. Я использую фильтр в джире. Первичный анализ всегда провожу сама, таким образом часть могу закрыть сразу, часть своевременно передать другой команде (например, если ошибка не бэк), а также понимаю точный скоуп. Просматриваю список раз в час.
Не допускайте разрастания ошибок. Только позволите ошибкам расти и уже трудно будет вернуться назад к приличным числам.
Держите рядом опытного разработчика. Очень часто на горящих проектах возникают ситуации, когда непредвиденный функционал необходимо сделать срочно. Часто функционал сложный. У вас всегда должна быть возможность подключить быстро сильного разработчика.
Выделите отдельного разработчика на баги.
Не допускайте, чтобы в ту или иную часть функционала был погружен только один участник команды.
Смотрите все мержи, даже если это немного тормозит процесс. Так вы будете в курсе кода всего проекта, сможете оказать консалтинг по любому вопросу новым разработчикам, просто людям, не знакомым с той или иной частью проекта, участвовать адекватно во встречах с заказчиком и быть в курсе всей разработки.
Поддерживайте свою экспертизу. Без этого очень трудно вести за собой людей. Если вы не разбираетесь в текущем процессе, технологиях и не можете ответить на вопросы, ваш авторитет будет не очень высок.
Для успешной работы нужно выполнять всем понятные вещи, такие как: качество кода, использование паттернов, современного стека и прочего. Эти пункты мне показались не тривиальными поэтому отдельно указала их.
Ошибки
Главная ошибка лида - это невыполнение списка пунктов, которые обсудили выше. Однако есть и другие ошибки, которые пагубно влияют на результат:
Не доводить до конца начинания, полагаясь, что это сделает кто-то другой. Речь о таких вещах, как изменения в процессах команды проекта, поиск новых подходов, доведение задач до конца (часто это означало до прода).
Утверждение, что на проекте "полный треш", не принимать на свой счет. Вы немаловажная часть проекта, и если с ним проблемы, то вы тоже ОБЯЗАНЫ их решать.
Брать в команду временных разработчиков. Я редко видела хорошие результаты в таком подходе.
Пускать на самотек выполнение дополнительных задач. Все доработки должны быть в рамках системы учета задач. Никаких работ по договоренностям в мессенджерах. Иначе потом трудно понять, почему на скоуп ушло больше времени, чем рассчитывали.
Излишняя демократия в команде. Да, узурпатором власти быть не нужно, но ключевые решения/работы должны проходить через вас. В моем опыте на это довольно негативно реагировали члены смежных проектных команд, однако это стоило того. Разработчики следовали плану, а я всегда знала, кто/чем/зачем занят. Почему важно, на мой взгляд, действовать через лида? Лиду дана задача, он ставит сроки и у него есть план, как прийти к успеху. Если что-то будет проходить в обход него, в чатиках, тут кто-то отвлекся, там пошел на пол дня кому-то помогать. Это все приведет к срыву сроков.
Слишком сильно себя ассоциировать с проектом. Выгорите, друзья!
Где искать мотивацию
Первый путь: с каждым проектом примерно 1-1,5 года работы я прихожу к одному и тому же ощущению: мне надоело, неинтересно, скучно, нет того драйва и т.д.
До недавнего времени я решила этот вопрос переходом на новый проект. И опять были адские сроки, которые всегда жмут в начале, попросту потому что на проекте еще ничего нет и надо срочно делать каркасы, настраивать работу команды и прочее.
Все супер, но это нервы (а они не бесконечные) и не всегда возможность вырасти. Хорошо, если новый проект = новые технологии, а если нет?
Второй путь поиска себя в условиях долгой работы на одном проекте. Поскольку процессы налажены, команда уже на потоке, вы наконец можете расслабиться и вернуться к разработке.
Например, взять не супер срочную, но важную задачу и не спеша хорошо ее сделать. Вы можете наконец изучить что-то новое! На новом проекте вряд ли найдутся ресурсы для этого.
У вас наконец появилось время, для того чтобы критически окинуть техническую реализацию, наметить точки и пути исправления косяков, сделанных в условиях давящих сроков и постепенно закрыть эти недостатки.
Как вариант посмотреть шире, чем разработка на весь проект и включиться в решение вопросов, выходящих за рамки зоны ответственности. Не забывайте, что не вы один работаете долго на этом проекте. Ваши коллеги тоже. Найдите зоны и для их мотивации.
Вовремя уйти
Рано или поздно всем пора двигаться дальше. Если проект завершился, то тут можно сказать и повезло. А если он длится годами, этапы предыдущего пункта все пройдены, то пора двигаться дальше в сторону нового. Уйдите красиво, подготовьте замену, приведите дела в порядок.
Пусть о вас помнят не только, как хорошего руководителя здесь и сейчас, но и как о человеке, у которого настолько все налажено, что оно работает как часы и без него.
P.S.: Спасибо всем, кто дочитал до конца! Хотелось бы повториться, что я в статье затронула свой опыт и мои наработки не являются истиной в последней инстанции. Всегда рада узнать ваши лайфхаки и ошибки и поучиться на Вашем опыте! Давайте обсудим в комментариях.