Comments 36
Лидерство и амбиции — это вообще-то несвязанные вещи. В статье:
тащат команду на себе, не потому что им сказали это делать, а оттого, что им самим это нравится — они чувствуют азарт
Лидер — человек, который «в потоке», его прёт, ему интересно. Например, работая в проекте, который социально значим, приносит добро в мир. А деньги или признание это уже вторично.
С другой стороны, один и тот же человек может в одном проекте/организации тупить и быть середнячком, а в другом — быть в разы продуктивнее и ценнее. Нет тут ничего «от природы». Главное чтобы человек оказался в нужном месте и в нужное время.
Тимлид — человек отвечающий за культуру разработки в сочетании с конкретной предметной областью. В статье — просто какое-то феерическое непонимание роли тимлида.
DevOps управляет инцидентами а Скрам-Мастер процессами?
Если члены команды имеют разные мнения — каждый делает по своему?
1. Участвовать в разработке стратегии компании
2. Доносить стратегию компании до всех и следить, чтобы наш роадмап лучшим образом соответствовал продвижению по этой стратегии.
3. Создание, внедрение и развитие культуры отдела
4. Управление командой функциональных менеджеров
5. Бюджет, ресурсы
6. Создание команд.
7. Помощь командам в лице функциональных менеджеров в найме, увольнении, решении конфликтов
8. Помощь в создании и выполнение технологического роадмапа включая внедрение новых технологий и сокращение technical debt
9. Создание и воплощение индивидуального плана развития для всех членов команды (выполняется функциональными менеджерами).
10. Прямое управление в кризисных ситуациях.
И еще вагон и тележка задач. Не сижу без дела. Код не пишу.
Ответсвенность за инциденты на командах. DevOps, который часть команды, конечно выжнейший человек в этом процессе.
Команда решает разногласия сама. Если у ребят не получается договориться (случается редко, это вопрос культуры взаимодействия) то им помогает функциональные менеджеры.
Судя по описанным обязанностям, вы — project manager?
По крайней мере у нас нет такого понятия как тимлид. У нас есть тех лид и ПМ. Потому что мифический тимлид находится где-то посередине.
Тим лид занимается культурой кода. Вырабатывает правила и следит за их выполнением. Общается с разрабами объясняет моменты. Определяет кому лучше какими тасками заниматься и т.д.
Скрам мастера у нас есть. Можно иметь выделенных скрам мастеров, можно чтобы эту роль выполнял кто-то параллельно со своими задачами разработчика или тестировщика (мы так делаем). Можно каждый спринт ротировать скрам мастера (одна наша команда так делает). Можно в очень дружных и эффективных командах вообще без скрам мастера.
Начнем с того, что врачи постоянно ходят на повышение квалификации. И даже преподаватели в вузах ходят.
Затем вы ошибаетесь, что инженеры пишут код хорошо. Они пишут код чтобы он работал хорошо (и то не всегда), а о том, чтобы он легко поддерживался и был расширяемым мало кто думает, особенно если в команде есть скрам-мастер.
В третьих, никто не говорит, что роль тим-лида должна быть выделена и отдельной. Ее может совмещать в небольших командах ведущий разраб. А уже на 10-12 человек у него вообще не будет почти времени на кодирование.
Потому что идут десятки коммитов в день и нужно тупо хотя бы пул реквесты проверять.
Мы вкладываем огромные ресурсы в рост наших разработчиков. Они ездят на конфы включая международные, выступают там, ходят на курсы. Люди участвуют в коммисиях по тех улучшениям. Но нет выделенных тим или тех лидов.
Одну конкретную компанию можно построить по любым процессам. Если сложилось, что уровень высокий, процессы отлажены и люди умеют общаться — да, вполне можно обходиться без дополнительной прослойки.
Но так бывает далеко не всегда. Я достаточно проработал в энтерпрайзе чтобы понять, что процессы в маленьких и больших компаниях совершенно разные. Невозможно нанять тысячу хороших программистов. Значит процессы нужно подстраивать под средних. В результате, вы получаете кучу дополнительных людей, чтобы процесс хоть как-то предсказуемо работает.
Они ездят на конфы включая международные, выступают там, ходят на курсы.
Вы серьезно считаете, что это хоть как-то помогает?
Кроме последнего пункта вы больше про техлида говорите, нет?
Описанная ситуация хорошо работает на несложных и типичных задачах.
Опустим работу аналитика. Но как быть в случае дилеммы в выборе технической реализации, когда есть два плохих варианта, которые поддерживаются разными участниками команды? Кто примет это плохое решение?
Но часто ли вы видели увольняющегося CTO?
Я сам такой )
А чем техлиды у вас занимаются? Как по мне, многие разработчики идут в тимлиды, лишь потому что позиций чистых техлидов мало, а тимлид чаще всего — это техлид+часть обязанностей ПМ в нагрузку. Вот и идут в тимлиды, чтобы хоть часть времени быть техлидом. Сам такой.
Тут был вопрос — а что же делает CTO. Так вот CTO со своей командой руководителей как раз и выстраивает эту далеко не простую систему.
Выше уже указывали на нестыковки, но все таки, если с тимлидами понятно, то что случилось с сеньорами и техлидами (в софтверных компаниях), которые упоминаются в тексте и на картинках? А что с архитекторами?
Что-то очень сомнительно, что крутые разработчики находят это лучше. Нет тайтла — нет причин платить им зарплату как тех лидам. Если у вас действительно так, то хорошо, но скорее всего в других местах все будут получать как middle или junior. Если у людей нет возможности роста у вас, то сначала будет демотивация, выгорание и т.п., что вредит всем, а потом они найдут рост сразу в ЗП и тайтле в другом месте.
> команда состоящая не из руководителей и подчинённых
В такой структуре скорее всего продакт менеджеры либо явные, либо неявные руководители. И тут можно почти без изменений переписать «Реальность: проблемы в работе продакт менеджера» и далее по тексту.
К примеру откуда возьмётся «доверие» со стороны технических людей, если ПМы гробят разработку, потому что они не только не знают техническую сторону предметной области, но и с другой планеты, где нет архитектуры, тестов, систем сборок, репозиториев, и т.д. Плюс добавим проблему коммуникации ПМ: " ПМ видит всю картину, а задача какого-то там разработчика закрывать таски".
«Пассивный контроль» — ПМ рассуждает так: «что-то метрики в джире слабоватые, и мои фичи медленно делаются. Нужно узнать, где проблема, а давайте ка соберем метрик побольше». Результат недоверие со стороны ПМ. В итоге недоверие обоих сторон и микроменеджмент.
«Независимость» — с ростом числа людей появляется политика, и конец независимости может прилететь откуда угодно.
— Мы платим. Никакая система не будет работать если вы говорите одно, а делаете другое
— Сеньеры работают в командах. Они же являются неформальными тех лидами. Мы обходимся без архитекторов. Вместо этого у нас меж-командные рабочие группы по развитию технологии. Архитектор вполне может быть в этой системе. Он будет вне команд. Он же не руководитель, а больше советник. У нас например UX вне команд.
В такой структуре скорее всего продакт менеджеры либо явные, либо неявные руководители.
— конечно ПО неявные лидеры. Как же по другому? Но они ни кем не руководят. Они занимаются бэклогом, общением с клиентами, сбором аналитики так далее.
К примеру откуда возьмётся «доверие» со стороны технических людей, если ПМы гробят разработку, потому что они не только не знают техническую сторону предметной области, но и с другой планеты, где нет архитектуры, тестов, систем сборок, репозиториев, и т.д
— Задача руководства это добиться чтобы описанных проблем между ПО и разработкой не было. Это культурная и профессиональная составляющая. Этому еще очень помогает то что главная команда ПО это команда разработки.
Если у вас ПМы гробят разработку из за незнания и непонимания тех деталей означает, что у вас ПЛОХО организовано руководство и неправильная культура в компании.
Ну вот же в карьерных возможностях пишите "можно стать техлидером" — это роль или позиция с бейджиком?
И да, в некоторых случаях необходим чувак с бейджиком. ПОтому что нужен в иерархии человек, который несет ответственность за бардак. Потому что не дело CTO или продукт оунера заниматься микроменеджментом кто просрал таски или что-то уронил.
А самовольное занятие какой-то роли — это точно карьерный рост?
хороший разработчик может написать в три раза больше полезного кода, чем middle.— иногда наблюдаю и недостатки этой гипотезы, в частности что хороший разработчик начинает писать супероптимизированный и совершенно нечитаемый джуниорами код, в результате резко увеличиваются последующие затраты на обучение сотрудников и время на погружение в код для решения задачи
Но код-то хороший? После обучения читается?
А другого хорошего разработчика нанять, а не только джунов? Вообще проблема кажется организационная, когда хороший код некому без гугла разобрать. Когда брали хорошего разработчика за хорошие деньги, то предполагалось, что опустится до уровня джунов или подтянет их?
Хорошие разработчики у нас не только покупные нередко они появляются по мере саморазвития работая на наших проектах
Как компании отказаться от роли тимлидов