Чому шлях у тімліди простіший, ніж у техліди (і як ним іти)

💡 Усі статті, обговорення, новини про HR — в одному місці. Приєднуйтесь до HR спільноти!

У житті будь-якого сеньйорного розробника колись настає момент рефлексії. Зазвичай це виглядає так: увечері після робочого дня він (або вона) закриває ноутбук і раптом усвідомлює, що вже десятий рік качає хард скіли, тобто здобуває та вдосконалює технічні навички. Виникає болюче питання: ще довго тягти? Скільки ще це триватиме, і що далі робити з цим прекрасним багажем?

Якщо ми не розглядаємо кардинальної зміни професії, то в IT для таких кризових душ є два стандартні шляхи.

Перший — глибше в техніку, в бік позицій технічного лідера або архітектора.

Другий — у менеджмент, тобто в людей. І це виглядає досить ризиковано, бо там, жах-жах, треба розмовляти, а не тільки код писати.

Кодити не можна менеджерити

Шлях в техліди розробникам зрозумілий з очевидної причини: «Я і так всю дорогу техскіли качав, треба просто глибше розібратися». Додати ще одну мову програмування, нові технології, бібліотеки, та хоч ШІ — аби не дивитися в бік менеджменту.

Перехід у менеджмент багато кого лякає, бо треба засвоїти певні софт скіли. А це з культури проджект-менеджерів, яку розробники не люблять.

Коли людина не може вирішити, вона обирає не те, що легше, а те, що зрозуміліше. У нашому випадку — технічний розвиток. Ми не засуджуємо, але давайте подивимося на речі тверезо.

Скільки техлідів треба, щоб вкрутити лампочку

Більшість навіть не замислюється, що шлях в техліди призводить до суттєво більших проблем із пошуком роботи.

Давайте порахуємо. На 100 розробників у компанії потрібен, дай Боже, один архітектор, а може навіть один на 200. Може, ще пара-трійка техлідів — якщо в компанії взагалі передбачена така позиція (у багатьох її просто немає). Принсипали та стафф-інженери — це взагалі не позиції, а фантастичні істоти: знайти їх може лише чарівник.

Тобто з 40-50 сеньйорних розробників один влаштується на таку позицію. А решта?

Тепер підрахуємо тімлідів. Середня команда розробників — це 4 особи. Отже, на 100 розробників потрібно 20 тімлідів. Відповідно, потрапити на позицію тімліда в рази простіше, ніж на позицію техліда.

Добре, математика виглядає переконливо. Але як стати тімлідом, якщо ти в житті не займався менеджментом?

Проблема з навчанням і як навчають не тому

Розробник, який вирішив стати тімлідом, робить перші кроки дуже невпевнено. У звичайних програмістів менеджерських навичок небагато — звідки б? Починається пошук курсів. І тут у нас проблема.

Я колись шукав аналогічну інформацію. Усі курси для тімлідів, які є на ринку, написані проджект-менеджерами. Це дуже неправильно. Це як курс для медсестер, написаний лікарем. Начебто чомусь навчили, але це ж інша професія!

Позиція тімліда вимагає набагато глибшого занурення в технічні знання та проблеми. Проджект-менеджер про багато технічних аспектів розробки не повинен знати. Тімлід, своєю чергою, не повинен глибоко вдаватися в управління обсягом робіт та ризиками, вимоги замовника, фінансові ризики — це все за межами його компетенції.

Методи, які використовує проджект-менеджер, не підходять для управління невеликою командою розробників. У результаті випускники курсів знають дуже багато, але не те що треба. І не розуміють, як це застосувати на практиці.

Як стати тімлідом (і не облажатися)

Проблема з навчанням і як навчають не тому

Мені до душі практичний підхід до освоєння нових скілів. Отримати базові навички керівництва командою просто. Сеньйор-розробник може взяти шефство над джунами. Зібрати невелику команду і стати в ній лідером. Не в сенсі пафосних промов на тлі логотипу компанії, а в реальному, повсякденному: допомогти, пояснити, іноді пожаліти, іноді посварити. Такий управлінський sandbox.

У процесі потрібно буде вдосконалювати критично важливі софт скіли.

1. Паблік спікінг (публічні виступи)

Тімлід — це той, хто постійно щось пояснює: «Йдемо туди», «У нас проблема», «Робимо ось це». Навіть інтроверту все одно доведеться розмовляти, а не тільки писати технічні доки пасивно-агресивним тоном.

2. Управління конфліктами

Більшість розробників не замислюється про те, що конфлікти в IT — це не баг, а фіча. Причини класичні: у бізнесу свої інтереси, у розробників — свої, і збігаються вони приблизно так само часто, як смаки у фанатів Vim та VS Code. Програмісти — люди захоплені, у кожного своє бачення «як правильно». У підсумку в команді два козаки й три гетьмани, а тімліду треба знайти компроміс і змусити їх працювати, причому ефективно.

3. Активне слухання

Джунів треба буде слухати. Не просто чекати своєї черги говорити, а справді слухати. Іноді джун скаже дурницю, але в ній буде зерно істини — і задача тімліда це зерно не викинути разом із лушпинням.

Чим насправді займається тімлід

Перейдемо до практичних аспектів роботи тімліда. Це мікс із психотерапії, організації та технічного контролю.

Найм та онбординг

Проведення технічних співбесід. Тімлід на технічній співбесіді вирішує, кого впустити в команду, а кого — ні. Саме він оцінює не лише технічний рівень кандидата, а й те, наскільки той впишеться в команду.

Онбординг. Навіть якщо прийшов досвідчений розробник, його потрібно ввести в курс справи: процеси, кодстайл, архітектура, CI/CD, розгалуження, код-рев’ю. Проджект-менеджер цього не вміє і ніколи не буде робити. Це не його обов’язки. Це повинен робити тімлід, але на курсах цей нюанс зазвичай ігнорують.

Процеси в команді

Загальне управління процесами. Тімлід відповідає за те, щоб процес йшов, задачі не губилися, люди розуміли пріоритети, а всі дедлайни дотримувалися (ну або майже всі). Треба налагодити планування, оцінки, мітинги. Хай це буде хоч кастомний Agile із гівна та палиць, головне, щоб працювало. Коли нова людина приходить в команду, вона підлаштовується під те, як там прийнято. Для цього потрібно осмислити та створити оце «прийнято».

Декомпозиція та розподіл задач. Тімлід декомпозує великі таски на завдання і розподіляє їх. Можливо, самі співробітники вибирають таски за пріоритетами. Але задача правильно розподілити роботу, щоб ніхто не був ображений, — це для тімліда.

Налаштування код-рев’ю. Тімлід повинен стежити, щоб рев’ю не було формальністю, але й не викликало PTSD у розробників. Як, хто, коли проводить код-рев’ю, як зробити, щоб не створювалося пляшкового горлечка — має знати тімлід. Ще один блок, який проджект-менеджери не знають і ніколи в нього не лізли — це далеко за межами їхніх компетенцій.

Зворотний зв’язок та комунікація

Конструктивний фідбек. Хороший тімлід учиться його давати, як позитивний, так і негативний. Не просто «ти зробив погано», а «ти зробив не так, і ось чому, і ось як зробити краще». А також саме тімлід повинен доносити до колег, що треба, приміром, зменшити токсичність у спілкуванні. Це і зворотний зв’язок, і управління конфліктами.

І так, похвала — теж обов’язкова. Ніхто не вигорає так швидко, як людина, яку ніколи не хвалять. Конструктивно хвалити теж треба вчитися.

Регулярні мітинги. Розробники їх недолюблюють, а менеджери знають, що без них не обійтися. Створити та підтримувати найбільш ефективний графік мітингів — задача тімліда.

One-on-one зустрічі. Регулярні особисті зустрічі — це не менеджерська вигадка, а реальний інструмент. На них вирішуються особисті питання, мотивація, непорозуміння. Їх теж треба вміти проводити так, щоб це було не балаканиною, а коректним, екологічним обговоренням професійних питань.

Комунікація з менеджментом

Обов’язок тімліда — робота з проджект-менеджером та, можливо, з представником замовника або бізнес-аналітиком (залежно від структури компанії). Його задача — тримати баланс між двома світами, які щиро вважають один одного дивними. А іноді цих світів більше, якщо компанія велика.

Потрібно максимально захищати свою команду, прикривати від менеджменту, і навпаки, менеджмент від команди. Ми знаємо, як програмісти люблять спілкуватися з високим керівництвом, а тим більш із замовниками.

Так що тімліду треба бути перекладачем від команди до проджект-менеджера і навпаки. Тімлід доносить до бізнесу, що «технічний борг — це не нитво», і пояснює команді, чому бізнесу «треба вчора». А те, що каже бізнес, треба пояснювати команді технічною мовою: «Хлопці, нам треба зробити ось це, і ось чому».

Технічні рішення

Хороший тімлід не перестає бути інженером. Він бере участь в обговоренні архітектурних рішень, слухає команду, особливо досвідчених розробників. Іноді він приймає рішення одноосібно, іноді — колективно, але завжди відповідає за результат.

Загальне керівництво

Є такий анекдот: «З прорабом тут працює десять чоловік. А без прораба ніхто не працює». Так влаштовані люди: якщо немає людини, яка за все відповідає, нічого не рухається. Військові погодяться: краще поганий командир, ніж відсутність командира. Хтось повинен цим займатися.

Чому навчання тімлідів майже не існує

Більшість компаній живуть у логіці: «Нехай кожен росте, як трава після дощу». Розробникам дають курси з Kubernetes, але не дають жодного з управління людьми.

У підсумку виходять чудові інженери, які вміють підіймати інфраструктуру, але губляться, коли двоє колег сперечаються через табуляцію.

Системного підходу до розвитку тімлідів немає. Хоча саме від них залежить, як працює команда і чи буде вона вигоряти.

Я сам був тімлідом близько 15 років, посади мої називалися по-різному, але обов’язки були тімлідські. Зараз як директор компанії теж керую програмістами, але вже на іншому рівні. Я був з усіх боків барикад: і програмістом, і керівником проєкту, і директором, який їх наймає. От і вирішив трохи привідкрити завісу на це болюче питання.

І моя вам рекомендація — головне, не самоусувайтеся і не бійтеся брати на себе відповідальність.

Сподобалась стаття автора? Підписуйтесь на його акаунт вгорі сторінки, щоб отримувати сповіщення про нові публікації на пошту.

👍ПодобаєтьсяСподобалось20
До обраногоВ обраному5
LinkedIn

Найкращі коментарі пропустити

Как говориться «но зачем?»
Мелкое начальство — самая гиблая позиция. Денег на уровне старших спецов, а обязанностей на двоих. А самое главное — хода наверх нету. В менеджеры охотней берут тестеров.
В то же время технически прокачанный специалист, с экспертностью в более чем одном домене, имеет устойчивый спрос и более адаптивен к рынку.

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

о, ще пригадалося
зазвичай про це не пишуть і не дуже то й прийнято обговорювати, але для повноти картини, для тих, хто розмірковує про світч напишу

однією з неформалізованих, невербалізованих прямо функцій мідлменеджмента є каналізція негативу, асоціювання з ним, для відведення його від старшого менеджменту, це має раціо — авторитет вищого менеджменту є важливим для функціонування організації, цінним інструментом управління, тому так

артом для мідлів є інтуіція всіх цих речей і вміння виторговувати собі щось взамін %)

Ти або вмієш програмувати, війшов в айті, тожі вже у тебе є своє розуміння. Стаття виглядає як макуха для тих, хто не війшов, але, чесно, думати про це рано.

з того, що можна віднести власне до відповіді на питання «чому» у назві статті схоже є тільки твердження «тому, що цих позицій набагато більше, ніж майже унікальних для контексту вищих інженерських рівнів»

це твердження звісно валідне, але аж ніяк не створює аргумент, це фактор, але на шальках проти цього лежить — (само)примус займатися несвоєю справою, що має свою серйозну ціну і для людей яким душа не лежить до менеджерського modus operandi вона часто непереборніша ніж світч в суміжну, але інженерну діяльність

в цій статті просто опис ролі (лаконічний і якісний на мою думку), але все ж таки не відповідь (на ніфіга непросте питання врешті)

тому, що цих позицій набагато більше

Це не зовсім правда — скоріше маніпуляція.

На 100 розробників у компанії потрібен, дай Боже, один архітектор, а може навіть один на 200. Може, ще пара-трійка техлідів
Середня команда розробників — це 4 особи. Отже, на 100 розробників потрібно 20 тімлідів.

Але ж тімлід — це не окрема позиція! Зрозуміло що ніхто не буде наймати на кожні 4 девелопера окрему людину, яка буде тільки тімл-лідом.
І вже напевно якщо клієнт набирає собі команду на галері — він захоче платити тільки за девелоперів. Менеджерів у нього і своїх завжди вистачає.
Тому «вайті в ІТ на позицію тімліда» — неможливо. Кандидату по-перше треба буде вміти виконувати повноцінну роботу девелопера. Якщо кандидат ще готовий тягнути роль тімліда — це, звичайно, конкурентна перевага. Але поганого девелопера не візьмуть тільки тому що він тім-лід.
А ще тім-лід дає десь +20-30% до зарплати звичайного девелопера. Отже скіловому синьйору краще влаштуватися на другу роботу девелопером і спокійно мувати таски на дві зарплати, замість бути тім-лідом і вигрібати за усю команду.

так, це не позиція, це додаткова роль, за яку трохи накинуть і яка є трампліном в мідлменеджмент, фактично смоуктест себе перед світчем карєрної стежки

мабуть треба було мені написати замість «цих позицій» «позицій інженера з екстра роллю тімліда»

є трампліном в мідлменеджмент, фактично смоуктест себе перед світчем карєрної стежки

Нет. Это тупиковая ветвь.
В СТО или архитектора вырастет скорее технарь с большим техническим бэкграундом, как ширину, так и в глубину.
Тут надо иметь время книжки читать (и писать), а не с джунами нянчится.
Менеджерскую карьеру строят из сейзлзов, биздева и других людей изначально разговаривающих на языке денег.

СТО то вже не мідлменеджмент (унтерофіцери в класичних армійських схемах)

мідлменеджмент то «десятники і сотники» в плані менеджменту людей і плюс процесменеджмент
практики і вміння цих людей малопридатні на С-рівні і тому так, це тупік якщо ціллю є пройти ліфтом в елітні кола (але дуже корисне, якщо ціллю є свій невеликий бізнес в цій сфері)

У житті будь-якого сеньйорного розробника колись настає момент рефлексії.
.....
Виникає болюче питання: ще довго тягти? Скільки ще це триватиме, і що далі робити з цим прекрасним багажем?

Не возникает и не у всех.
Кстати интересно, но именно такое высказывание подтверждает стереотип что в менеджеры идут те кто не стал инженером.

Як стати тімлідом (і не облажатися)

был когда то лидом на проекте (team а затем tech). SS доплачивал 10% от ЗП, зато геморроя было на все 200%. Ты тот же синьор но с кучей подотчетности, при этом people managment не включен. самая дибильная роль какую можно встретить в IC карьере

Роль квочера, кто для джуниоров кто даже для синиоров. По деньгам — да техлид конечно вкуснее. Но вместе с тем там в основном работа с заказчиком в лице разных стекхолдеров и очень много технических решений на основе политических или ограничений организации.
Сергей как раз на стриме рассказывал как его продавливали на технические решения которые были с его точки зрения дикими, но для бизнеса имели место быть.
Это еще надо учесть что вас будут продавливать на сроки иногда в три раза и больше, требовать рав эстимейты с потолка, вводить противоречивые требования потому как разные стекхолдеры имеют радикально противоположные интересы, давить с двух сторон как команды так и заказчика, потому что продавать дешево покупать дорого и т.д. Ну и конечно если в новогоднюю ночь упадет сервер или релиз в пять утра воскресенье или вообще все что угодно техническое и ХЗ в чем вообще проблема, догадайтесь кто крайний.
Это в идеальном мире техлид (delivery, product manger и т.д.) — диагармки малюет и общается. В реальности работа нисколько не меньше нервная чем инженеринг менеджер.

Лідом бути цікаво, багато драйву, імпакт зростає в рази порівняно з individual contributor.
Ще це наступна кар’єрна сходинка, де потім ти engineering manager, engineering director, CTO.

Але основний мінус — роботи стає більше, петляти від роботи типу «зробив таску швидше, нікому не кажеш, здаєш коли треба» вже не вийде.
А ЗП в кращому випадку +20%.

Тому бути х2 сіньором краще. І грошей набагато більше, і роботи менше.

Не розумію про що тут взагалі полеміка. Керівник — це робота з людьми, інженер — це робота з технологіями. Зовсім різні скіли і навіть характер потрібні.
Ким важче стати: інженером чи керівником? Це очевидно: у кого добре виходить спілкуватися з людьми і вміти їх організовувати — легко стане керівником. Для кого живе спілкування — проблема і хто обирає замість нього книги та компьютер — легко опановують технології.
Головне чого не треба робити — це перемішувати ролі. Синьор не стане гарним керівником тільки тому, що на нього навішали обов’язки тімліда.
І тим більше досвідчений керівник, прийшовши на проєкт, навряд-чи вивчить якусь мову програмування аби допомогати команді фіксити баги. Як правило якщо у керівника багато вільного часу — то це тому що він не робить свою роботу.
На мою думку Team Lead — це роль (а не окрема позиція!), яку вигадали аби економити на керівниках. Бо керівник — це вже повноцінна посада, і він має займатися тільки своєю справою. Але на галерах замовники охоче купують девелоперів, а от за керівників платити не хочуть. Тому роботу керівника скидують на синйор девелопера і називають його Team Lead. Добре що існують люди, які тільки за личку начальника вже готові працювати за двох.

Це дуже давній стереотип комрад і зовнішне упередження. Щодо керівництва, то тут часто не ти обираєш присягу — а присяга обирає тебе. Це завжди справа бізнесу і ситуації на ринку.

Ким важче стати: інженером чи керівником?

Хто такі Ілан Маск, Марк Цукерберг, Білл Гейтс чи Джефф Безос, Стів Джобс і т.д. по першій освіті діяльності і т.д. до повного переходу в бізнес? Аналогічно Лі Яккока, Сергій Корольов, Вернер фон Браун, Генрі Форд тощо. В технологічній галузі люди типу Джона Скаллі чи Стіва Балмера — класичні бізнесмени, часто провалюються на посадах CEO тобто ген директора, через не вірне стратегічне бачення. При цьому це геніальні комерційні директори. Класикою є «система базових принципів IBM», це компанія яка до комп’ютерів випускала друкарські машинки і в певний період її вище керівництво було з людей які взагалі ніколи не користувались комп’ютерами. Вони реально жерли Філіппа Естриджа — керівника IBM PC, через корпоративні війни.

І тим більше досвідчений керівник, прийшовши на проєкт, навряд-чи вивчить якусь мову програмування аби допомогати команді фіксити баги.

Я таке бачів, тут солідарний із військовими — за це треба карати. Якщо охота — то пет проекти, хакатони опенс сурс, R&D у вільний час від головної діяльності. Бо один по суті робив какаху костильну в коді і комітив без ревью в головну гілку з git hub редактора, і яку потім доводилось прибирати.
Іншому директор замовника прийшла і прямим текстом сказала про проблеми при усіх. До цього 2 сініорів і тімліда з команди дропнули. В той час людина з тайтлом сініор менеджер прийшла «рятувати проєкт» і полізла лагодити кафку!
100 років пройшло, а усе так само www.youtube.com/watch?v=JT9ZV_fRlg0

P.S. Найбілш професіні менеджери з якими я працював до цього, чомусь були жінки. Дві колись мали технічний бакграунд. Інші професійні скрам майстрині та delivery manager-ри. Щоб там хто не казав — а освіта в цій галузі рулить. Як і в програмуванні — є якісна освіта, а є шарашкини курси, в незалежності від форми власності — а в залежності від якості викладачів.

Щодо керівництва, то тут часто не ти обираєш присягу — а присяга обирає тебе

Так-так: славновідомий принцип Пітера:

В ієрархічній системі будь-який працівник піднімається до рівня своєї некомпетентності

uk.wikipedia.org/wiki/Принцип_Пітера
Саме тому я завжди свідомо відмовлявся підніматися вище тех-ліда. Бо чудово розумів свої сильні та слабкі боки. Я інтроверт — живе спілкування в мене провокує стрес. Не кажучи вже про публічні виступи чи презентації — це виникає панічні атаки. Отже керівництво людьми — не для мене. Але і позиція архітекта також — бо там вже спілкування стає важливішим за технічні навички.
На роботі, яка замість позитивних емоцій викликає такі аж ніяк не можна стати ефективним. Можна стати тільки тим самим працівником, який досяг рівня некомпетентності. Тому має сенс зупинитися за крок до цього — на тій посаді де ти ще компетентний.

Я зрозумів, що у нас різний погляд на організацію проектів.

Ви описуєте «Класичний», де є керівник, лідер, підлег, інструкції та Відповідальність йдуть зверху вниз.

Мені НЕ імпонує такий підхід.
Набагато краще будувати команди із децентралізованою структурою, де кожен працівник рівний, що конкретно відображається у свободі обирати рішення( в рамках проектних обмежень само собою ), але разом із відповідальністю за свої рішення, звісно.

Теоретично, люди мали б працювати в такій структурі краще бо тут є персонально твоя сфера відповідальності, твій ownership ну і відповідно твій вплив на кінцевий продукт.
Ну але це вимагає певни рівень сіньйорності як кожного окремого члена так і згуртованості команди в цілому.

Рівність в команді може бути лише в тому, що кожен має право голосу. Все інше — нерівне: в кожного свій досвід, набір скилів та свої звички. Без ліда в такій команді дуже часто виникають суперечки і тривалі розмови з простих питань.

Не буде тривалих розмов, тому що кожен працює над своєю частиною.
Ти можеш ситуативно порадитися з кимось на дейліку з приводу того чи іншого рішення, а решта це твоя відповідальність.
Якщо ти створив рішення яке працює, задовольняє KPI, покрите тестами і одним словом працює, але комусь із колег щось не подобається бо він звик писати по-іншому, то це його проблеми, він має відповідати за свою частину.

Люди часто звільняються через те, що їм просто спускають зверху, що і як робити, позбавляють інженерної креативності, до того ж вішають на них якісь проблеми й задачі, причинами яких вони не є.
У вищеописаній структурі таких проблем буде суттєво менше або не буде взагалі.

За децентралізації рішення приймаються всією командою. Я саме про цей кейс. Коли кожен робить своє це вже наступний крок.

Для цього є або мітинг по плануванню роботи на наступний спринт або спеціалізовані мітинги, коли збираємось і вирішуємо архітектурні та принципові питання.
Скажімо, треба змінити провайдера даних чи переїхати на інший клауд чи змінити архітектуру з моноліта на мікросервіси.

Хто як буде імплементовувати кожен окремий сервіс, звісно, можна поговорити, але толку від цього не дуже багато.

Я не організацію комунікації, а про участь команди у випадку децентралізації. Різний рівень компетенції в команді вимагає більш тривалих дискусій, ніж при наявності ліда, який координує команду та запобігає зайвим витратам часу на обговорення різних кейсів.

але комусь із колег щось не подобається

То він не пропускає задачу на code review, бо вважає що треба зробити по іншому, а розробник задачі вважає що він правий. Треба хтось технічний хто вирішить що робити. Можна і СТО/Архітектора звати як суддю, головне щоб в них був час, та контекст що відбувається. А так, коли всі круті спеціалісти, мотивовані та можуть порозумітись — не маштабована схема.

Ти описуєш якийсь дитячий садок і не зрілість компанії, команди та процесів.

Якщо я зробив робоче рішення яке задовольняє всі вимоги, але тобі не подобається бо ти хочеш інакше, то ми, звісно, можемо послухати твою думку і якщо вона буде дійсно аргументована з фактами, метриками і т.д. то я прийму її до уваги і зміню рішення бо моя ціль це створити найкраще найоптимальніше рішення, а вже потім самостверджуватись.
В іншому випадку, якщо або нема достатнього обгрунтування або вихлоп в результаті вийде ± такий самий — думка того, хто хоче інакше, йде в /dev/null.

Етап рев’ю проходиться елементарно більшістю голосів. Якщо в команді 5 людей, один виставляє рев’ю, Троє його одобрюють, а один бикує бо просто хоче інакше бо йому так хочеться, а не тому, що є реальна причина, то рев’ю апрувиться і мерджиться в мастер.
Типова Best practice, це що має бути апрув від 50% девелоперів.
А коли все зав’язано на одного ліда-нарциса і всі мають вгадувати його бажання і робити як йому хочеться — лютий редфлег, антипатерн, токсична атмосфера і т. д.

Тому команда без ліда, в якій рішення приймаються консенсусно це якраз ідеально масштабована схема бо вона буде однаково працювати для 5 та для 50 членів команди.

Типова Best practice, це що має бути апрув від 50% девелоперів.

Безглузда витрата ресурсів.

Ви звісно можете так думати, а код ревьювер буде іншою думки. Ось і конфлікт, де ви кажете що все відповідає вимогам, а ревьювер каже що таке не пропустить по будь яким причинам.

Саме тому має бути напрацьована правильна практика код-ревью. Правильні тули з цим допомагають.
По-перше на кожне зауваження має бути пріоритет:
1) Порада — ревьюєр бачить кращій варіант. Він може навіть запропонувати свій шматок коду. Але автор не зобов’язаний це приймати якщо йому не подобається. Ревьюєр може потім переписати і зробити свій ПР якщо хоче.
2) Технічний борг — рев’юєр бачить що код погіршився: став більш заплутаним, завеликим для читання, недостатньо коментованим тощо. Але усе працює як треба. Отже автор може залишити усе як є якщо нема часу виправляти — але завести таску на майбутній рефакторинг і виплату технічного боргу. Сюди ж відноситься недостатнє покриття юніт-тестами.
3) Зауваження — рев’юєр бачить потенційну проблему. Чи то з перфомансом чи то з конкуренцією чи може якийсь корнер-кейс. При цьому рев’юєр має запропонувати рішення, яке проблему усуває. Автор має або виправити проблему у цьому ПРі, або написати TODO в коді і виправити в наступному.
4) Помилка — рев’юєр бачить ситуацію у якій рішення не працює. ПР у такому вигляді не можна мержити. Автор має виправити помилку і бажано перевірити юніт-тестом.
Доброю практикою є правило «Критикуєш — пропонуй». Тули надають можливість рев’юєру переписати код як він хоче — і запропонувати. Зауваження типу «Щось мені не дуже подобається — спробуй зробити по-іншому» треба дозволити посилати подалі.
Ще непогано збирати та моніторити метрики код ревью: скільки ПР чекав рев’ю, скільки було зауважень, скільки разів заливали виправлення, скільки разів падали тести на білді.
В ідеалі ПРи повинні бути невеликі і швидкі: зробили потрібні зміни — подивились — залили. Треба щось виправити — завжди можна зробити новий ПР. Особливо важливо робити рефакторинги окремими ПРами. Наприклад одне перейменування може змінити купу файлів — і добре тримати це окремим ПРом і окремим комітом.
Дуже погано коли ПРи висять днями і в них накопичується купа змін або іде якась полеміка.

Згоден, але на практиці таке не завжди :(

Троє його одобрюють, а один бикує бо просто хоче інакше бо йому так хочеться, а не тому, що є реальна причина, то рев’ю апрувиться і мерджиться
в мастер.

Повна х#ня.
Сіньор побачив проблему, описав, 2 джуна апрвнуло, а MR все одно змерджали.
Ну якось так демократія і працює)

Звучить начe мова про команду профeсiоналiв приблизно одного рiвня, якi бiльш-мeньш спрацьованi. А в рeальностi команди вiд джунiв, до сeньорiв 20+ рокiв досвiду, то хтось прочитав статтю-книгу i починає тягнути якiсь «прогрeсивнi» пiдходи, якi як 5 нога собацi в конкрeтному випадку. Команди бувають iнтeрнацiональнi, дe Ананд принципово будe пiдримувати Равшана, а нe Пeтра i пофiг що там за код. Чи бувають просто токсичнi люди, хоч i нeпоганi спeцiалiсти.

апрув від 50% девелоперів

Скорiшe 50% рeвьювeрiв, бо джуни нe завжди тягнуть. Як варiант можe бути, алe зазвичай 1-2 апрува достатньо, бо бiльшe, то вжe рeально забагато рeсурсiв.

коли все зав’язано на одного ліда-нарциса

Вiн можe взагалi нe робити рeвью, алe за ним фiнальнe слово що робити, якщо виникає конфлiкт.

Для команди людeй, якi вжe пeвний час працюють разом i всим всe ok — можливо i нe трeба лiд, алe так буває нe завжди.

и описуєш якийсь дитячий садок і не зрілість компанії, команди та процесів.

Який зазвичай і має місце на практиці, принаймні, в українському ІТ.
Винятки є, але дуже рідкісні.

А ота красива теорія, про яку в книжках про Agile писали ще на початку 00х — вона працює хіба що в команді, де всі мінімум strong middle, якщо не senior, та ще й дорослі як особистості.

В аутсорсингу така команда майже неможлива суто з економічних міркувань — в такої команди буде настільки високий rate, що компанія-аутсорсер нічого не заробить.

де всі мінімум strong middle, якщо не senior, та ще й дорослі як особистості.

для цього просто достатньо «малих» включати у окремі команди які були би окремо як окремі бойові одиниці виключно командою але не виступали би окремо особисто як окремі особистості

... але тут одразу же ж виникне проблема що агілє/скрум не передбачає просто by design поділу проекту аж на такі частини які було би достатньо для завантаження окремої команди недо сіньорів при цім мова тут не просто так але за конвейерно лінійне завантаження просто виходячи з самого економічного питання як то

така команда майже неможлива суто з економічних міркувань — в такої команди буде настільки високий rate

загалом мене особисто дивує як досі не виникли цілком конкретні софтові практики та методики саме росту джуніор — сіньор і як то досі ця історія ніде навіть не піднімається як практичне питання ну або принаймні то я особисто усе пропустив

Не буде тривалих розмов, тому що кожен працює над своєю частиною.

Ну нормально. Хтось зробив «свою частину» аби як по своєму, зарелізив у продакшин. А ти махайся з багами поки той умнік на вакейшині.

лід і повинен збирати картину докупи, якщо

кожен працює над своєю частиною.

Вимагає документувати, підключає інших до ревью коду і дизайну. Воно, звісно, оверхед, але інакше не уникнути «таємних знань» на проекті.

Це просто не правда. Більшість бігтеку та околотого працюють за схемою описаною паном Денисом і працюють так десятиліттями без жодних нарікань. На IC4 левелі від інженера очікування, що він сам може провалідувати необхідність тої чи іншої технології, перед тим як заонбордити щось нове. На IC5 очікування, що інженер буде лідити проекти в який будуть залучені інші інженери (свої чи xfn). В одній команді може бути декілька IC4/IC5. Менеджер команди в такому енві чисто для супорту, координації, анблоку і тд.

Коли команді асайнять тімліда або техліда (ще гірше, коли обох зразу), то це дитячий садок, недовіра до інженерів та великий ботлнек для ефективної роботи команди, який тільки укріпляє менталітет погонича та погоняємих.

Коли команді асайнять тімліда або техліда (ще гірше, коли обох зразу), то це дитячий садок, недовіра до інженерів та великий ботлнек для ефективної роботи команди, який тільки укріпляє менталітет погонича та погоняємих.

Чому ви розглядаєте це в негативному ключі? Бігтек не хоче використовувати іншу модель не тому, що поточна ідеальна, а тому що в них банально немає зайвих грошей використовувати щось краще. Це суто бізнес рішення. Саме тому менеджери там чисто для супорту, а команда мусить самостійно шукати баланс та точки дотику.

Але, уявімо собі, що команда зафейлила щось. Немає нічого більш демотивуючого, ніж колективна відповідальність (відчуття провини). Якщо власні помилки ти ще якось можеш проаналізувати та виправити, то помилки іншого розробника — ніт.

А чому ви вважаєте, що суперечки це погано ? Насправді погано це : не вкластись в дедлайни, зробити овербеджет, перше і друге одночасно. Зробити не те що портібно, замовнику або ринку, мати брак ресурсів, втратити команду через вигорання та не контролювати технічний борг.
З рештою не отримати гроші, втратити час, а можливо і час і власні грощі, а ще ділову репутацію.
Саме тому і інснують техніки фасилитації і радикально інше бачення.
Поцікавтесь статистикою з головних причин провалів програмний проектів. Там топ 1 буде погане планування та неефективні комунікації. А технічний борг і не якісні технічні рішення, в кінці списку.
Щодо суперечок, тобто конфліктів — то є методи їх вирішення. Наприклад метод описаний у Демарко — посередник.

Це не погано, це просто витрати часу, які можна запобігти. Поцікавтеся, як втілюються успішні проекти: скільки часу відводиться на спілкування, мітинги та всю іншу комунікацію.

Там топ 1 буде погане планування та неефективні комунікації.

Це те, про що я кажу: децентралізована команда має більше шансів в це вскочити.

децентралізована команда має більше шансів в це вскочити.

Це однозначно, бо сам фасілітатор має володіти методами праці в online та фасилітації розподілених подій, прогамним інструментарієм тощо. В офісі це усе робити було значно простіше.

Чим відрізняється ведучий інженер від звичайного? Тим, що він «веде» завдання — і відповідає за результат. У нього в голові є розуміння що треба зробити і як саме це краще імплементувати. Відповідно він або робить усе сам, або формулює задачі для інших інженерів. Звичайні інженери мають свою свободу обирати рішення, але в рамках задачі. Приймати задачу і робити код ревью буде той, хто її створив.
Це не про звичайне керівництво. У команді можуть бути усі ведучі інженери і кожен веде свою фічу. Або може бути один ведучий інженер, декілька звичайних і ще початківці на допомогу. Але це не означає «ієрархію» бо у всіх керівник один — менеджер проєкту.
З мого досвіду було так: приходить нова фіча від БА. Обирають хто буде її «вести». Він узгоджує вимоги, прояснює усі питання, вивчає як що працює зараз, що і де треба буде міняти, можливо робить прототип рішення. Далі нарізає задачі і на плануванні:
1) Розповідає про нову фічу девелоперам і тестувальникам (!).
2) Відповідає на питання «а що, якщо» і збирає усі «корнер-кейси» та можливі ризики.
2) Показує свою пропозицію як саме і де в коді це буде імплементуватися.
3) Слухає пропозиції від команди зробити по-іншому чи щось покращити.
4) Презентує задачі, команда їх естімейтить у сторі-поінтах.
5) Можливо вже вирішують хто які задачі буде робити (враховуючи досвід та скіли).
Зовсім децентралізована команда де кожен робить що хоче і як хочу — це утопія. Хочеш більше свободи — береш більше відповідальності.
Саме тому тех-лідом бути так важко: якщо хочеш аби проєкт не скотився у купу лайна доводиться приділяти увагу усьому коду, який пише команда. Іноді доводиться рефакторити у вільний час якщо бачиш краще рішення.

Як на мене, тім/тех лід це архаїзм який має зникнути.

На проекті та в компанії є певні ролі( девелопер, девопс, тестер, менеджер, архітектор, СТО, аналітик ), є спеціалісти різних рівнів( стажер, джун, мід, сініор, принципал, стафф ).
На одному проекті, без прив’язки до того це продукт чи аутсорс, можуть бути люди різних рівнів з різним обов’язками, які до того ж можуть поєднувати більше однієї ролі.

Де в цій картині «лідер» і що саме він лідить?
Є менеджер для управління, є технічні спеціалісти, кожен із яких, в ідеалі, знають в загальному про проект і глибоко якусь із його частин. Дуже рідко буває, коли на великих проектах кожен спеціаліст добре знає весь проект, це майже неможливо на ентерпрайзах і т.д.
Роль «ліда» в цьому всьому звучить як спроба закрити однією людною процесні дірки( не налагоджена комунікація, не налагоджене рев’ю, із замовником лише одна людина спілкується ).
При цьому всьому, така людина повинна або люто овертаймити аби закривати і технічну і не технічну сторону або у вас будуть страждати ті чи інші процеси, так як в людини не буде на них часу.

Тому треба будувати професійні команди із ролями та процесами, де спеціалісти будуть нести відповідальність за свою частину роботи, а не призначати «лідів».

Бачу лише два виправданих сценарія для «ліда»:
1. У вас є один сініор і багато джунів-мідлів і їх всіх у всьому треба контролювати. Тоді лід взагалі не буде технічним, а виключно нянькою.
2. Стартується проект з нуля, стартап, треба все підняти, закласти архітектуру і т.д. Хоча й тут більш підходящою буде команда з архітектора + 1-2 грамонтних технічних спеціалістів.

Я вірно зрозумів, що ви вважаєте, що колектив без керівника може нормально працювати?

Що таке керівник?
В компанії є СЕО який відповідає за управляння та СТО який відповідає за загальний технологічний вектор руху.
В кожному проекті є проектний менеджер. Ось вже два рівня керівництва, вам не достатньо?

В деяких випадках (якщо в компанії 10 людей) то директора достатньо. В деяких (якщо на проекте до 10 людей) достатньо РМа. Якщо ж на проєкте декілько команд (наприклад 3 команди по 5 людей, то мені здається РМа не достатньо, треба тімліди. Погоджуєтесь?

Як на мене, в таких випадках доцільно або брати людину на роль "Проектного координатора"( джуніор ПМ ), який буде допомагати основному менеджеру або робити акаунт, дрібнити на різні проекти зі своїми менеджерами, а на чолі ставити аккаунт менеджера.
Брати технічного сініор спеціаліста і обмежувати його в тому, що він робить добре і навішувати менеджерські обов’язки, це не цільове використання ресурсів.

Брати технічного сініор спеціаліста і обмежувати його в тому, що він робить добре і навішувати менеджерські обов’язки, це не цільове використання ресурсів.

Саме так працює система і так робляться складні проекти. Технічний лід це частково менеджер, так.

Тімлід чи те техлід це дуже далеко від керівника

Интересно, а когда Лид стал

керівником

?

И да коллектив с грамотно поставленной задачей может справится без руководителя

А ще в мене э відчуття, що ми з вами по-різному розуміємо позицію архітектора. З мого бачення архітектор в жодному разі не є керівником, він керує виключно за рахунок порад та документів щодо вибору технічних рішень. І ніколи не займається вирішенням конфліктів чи фасілітацієй роботи команди. Якщо займається, то це вже гібридна роль — архитектор/менеджер, а це погано з точки зору бізнесу. Якщо цікаво чому, то це вже дуже довга тема про побудову саме оргструктури і організації бізнесу, а це навряд чи цікаво аудиторії ДОУ

Само собою, що архітектор це не керівник, це така ж технічна роль як і девопс чи тестувальник. Я б казав, що це все паралельні треки( розробка, архітектура, тестування і т.д. ). Особливісьт в тому, що архітектор має мати куди ширші технічні компетенції ніж решта технічних колег.
У кожного є свої обов’язки, а все що решта( конфлікти, фасілітація і т.д. ) це вже або на добровільних началах або комбінування ролей.

Задайте просте запитання. Хто відповідає за технічну якість продукту, фічі, коду? Як на мене, то це задача тімліда. Не ПМа, архітектора, чи навіть CTO.

Кожен відповідає на своєму рівні в межах своїх можливостей.
Рядовий розробник відповідальний на своєму рівні за свої фічі які він імплементує, впроваджує.
Менеджер відповідає за менеджмент проекту і проектний успіх.
Архітектор за побудову рішення на основі тих вимог, які він зміг зібрати від клієнтів та менеджменту.
СТО відповідає за технічний вктор розвитку продукту, технології, домени, технічні партнерства.
СЕО відповідає за глобальний мнеджмент і стратегію розвитку продукту та компанії.

Кожен відповідає на своєму рівні в межах своїх можливостей.

Це розмазування відповідальності.

Реальна відповідальність завжди йде з реальною владою і можливостями.
Які можливості в рядового інженера? Написати не самий оптимальний чи навпаки супер-оптимальний алгоритм? А яка влада і відповідальність у «ліда»? Озвучувати того, хто буде на дейліку наступним статус говорити? Смішно говорити про якусь відповідальність тут.

Якщо робити так, як я написав вище, будувати децентралізовані команди, де у кожного буде свій ownership, тоді можна пред’являти відповідальність за конкретно цей його кусок.
У випадку «традиційних» команд якраз жодної відповідальності.

Якщо хтось хоче пред’явити комусь за якусь відповідальність, але при цьому не наділяючи реальною владою і можливостями, то це типовий приклад «цапа відбувалйла», не більше не менше.

А яка влада і відповідальність у «ліда»?

Звільнювати підлеглих чи промоутити на підвищення, якщо ні, то складно цю роль лідовою назвати. Відповідальність, наприклад якщо щось фігово зроблено і впало, то питати будуть з нього, а не команди і він також не може сказати — то Вася все зробив, я тут ні до чого.

Звільнювати підлеглих чи промоутити на підвищення

Це завжди обов’язки менеджера або навіть СЕО, якщо контора невеличка.
Жодного разу жодну контору не бачив аби лід мав можливість когось промоутити чи звільняти.
Максимум його «влади» це написати повідомлення менеджеру, а той вже або їх мирить, якщо можна помирити або переводить на інший проект або звільняє.

Добрe, нe звiльнити, так щоб написати HR i сказати що ця людина вжe нe потрiбна прям зараз. Алe зробити чeрeз вищу ланку:

переводить на інший проект або звільняє

Що б щось написати ейчару, не потрібна роль ліда.
Більше того, сама ідея ролі ейчара в тому, що будь-хто може поскаржитись і написати, найбільше скарг ейчарам/менеджерам прилітає якраз на лідів бо у когось вмикається режим вахтера.
Але вгадай що? Всім пофіг. Як писав вище, типовим кейсом раніше, хз як зараз, було перевести ту чи іншу людину на інший проект. Дуже багато такої херні в аутсорсерах бачив.

Багато тімлідів таке можуть робити в реальності?

В продуктових компанiях (про big tech нe в курсi) досить часто, коли важливий рeзультат команди щоб грошi заробити.

Взагалi лiд, який нe можe формувати/впливати на свою команду, то скорiш скрам майстeр якийсь.

Команди бувають різні. Іноді люди дуже проти, щоб на них «впливали», особливо українці, які знають геть усе і розуміються на всьому в світі — адже є ChatGPT.

Реальна відповідальність завжди йде з реальною владою і можливостями

І яка влада та можливості у людини, яка відповідальна за підняття шлагбауму на дорозі?

І яка влада та можливості у людини, яка відповідальна за підняття шлагбауму на дорозі?

Ця людина відповідальна (responsible) за своєчасне підняття шлагбаума у межах посадової інструкції, так є підзвітною (accountable) за наслідки виконання або невиконання цього обов’язку — тобто:
* якщо шлагбаум не піднято вчасно, і це призвело до затримки руху чи аварії, — вона несе відповідальність;
* якщо порушила порядок (підняла без дозволу, створивши ризик) — також підзвітна за наслідки своїх дій.

Реальна відповідальність завжди йде з реальною владою і можливостями

Тут скоріше, реальна підзвітність йде з реальною владою і можливостями. Інакше маємо повну сраку — підзвітніть є, а можливості щось зробити — ні.
P.S. Обидва терміни переведені від дупля

Дякую за беззмістовну відповідь. Уважно читаємо запитання, яка влада у цієї людини? Ви ж стверджуєте, що відповідальність дорівнює владі. Виходить, що відповідальність та влада — це не тотожні речі. Так, інколи вони йдуть в парі, але не можна казати, що якщо людині не дали владу, то вона не має відповідальності.

Ви ж стверджуєте, що відповідальність дорівнює владі.

Ні, читайте уважніше. Підзвітність (accountability) має йти в парі з владою — інакше

маємо повну сраку — підзвітніть є, а можливості щось зробити — ні.
Виходить, що відповідальність та влада — це не тотожні речі.

Саме так. Відповідальність (responsibility) не має нічого спільного з владою.

Коли офіцер віддає наказ солдату розстріляти когось, солдат responsible це зробити. Але він не accountable за наслідки (упс, розстріляли не того).

Це переклад з англіської не вірний. Правильний переклад responsibility — в данному контексті це повноваження. У разі провалу — відповідальність стосуватиметься усіх і кожного. Тількі рівні різні, скажімо Марк Цукерберг при массових лейофах при провалі його VR проекту, в черговий раз втратив ділову репутацію — але усе ще залишився мільярдером. А от пролетарії відправились на мороз — були притягнуті до відповідальності, втратили базовий дохід. До повноважень не притягуюють.
Насправді провалились вони колективно, та кожний на рівні своїх повноважень.

Хто відповідає за технічну якість продукту, фічі, коду?

Вся команда. Тімлід лише керує процесом. Він же не нянька, правда? Хоча якщо в команді повно джунів, то можна назвати й нянькою :)

Вся команда

Коли відповідає «вся команда», з досвіду — це означає, що ніхто ні за що не відповідає. Бо колективна відповідальність не існує там, де не можна «просто дати пiзди». Дивно, що таку базову річ потрібно пояснювати.

Дивно, що в 21-му сторіччі хтось не працював в Agile й не розуміє, як все працює. Коли шукають крайнього, якому можна «просто дати п-ди» це показник совкової школи (так, навіть в західних компаніях це є).

От саме тому, що «працював у Agile», можу сказати — працює там, де є єдиний accountable — це той, що A у RACI matrix (ми ж тут всі аджайл гуру і розуміємо, що це?)

Якщо працював в Agile, то знаєш правила Agile: velocity розраховується на _всю_команду_, кожен з команди надає _свій_ статус, спринт вважається успішним коли _вся_команда_ закрила всі задачі. В твоєму випадку виходить так, що має бути якийсь цап-відбувайло, який буде рапортувати за всіх, відповідати за всі косяки коді, та підставляти сраку в разі фак-апів всієї команди. Де ти таке бачив в Agile?

Це не про цапів-відбувайлів, а про RACI matrix на проекті. Це потрібно пояснювати, чи ні?

З’їзд з теми зарахований.

Саме так, твій. Передивись Agile Manigesto :)
“the entire team is collectively responsible for delivery”. А тепер давай передивись, у чому відмінність між accountable and responsible, і повертайся, якщо буде бажання.

Скоріше, дивно, що в 2025му році хтось ще вірить у красиву теорію з книжок про Agile. Як раз, навпаки, більшість вже встигли випробувати цю теорію на практиці не один раз та зрозуміти, що вона якщо і працює, то тільки за умови дуже суттєвих обмежень, які ну дуже важко впровадити в умовах переважно орієнтованого на сервісний бізнес українського ІТ.

Я не сперечаюся, що можливо десь у MAANG чи там у продуктовому стартапі, який підняв неймовірні інвестиції, і можна створити ідеальні умови для «канонічного» аджайлу, але більшість з нас працює зовсім не там.

Коли відповідають всі, значить не відповідає ніхто. Так каші не звариш...

Розкажіть, в яких компаніях Ви таке бачити. Бажано з фінансовими показниками тих компаній (мільйони зароблених доларів на рік). А я розкажу, як це працює в компаніях з Furtune 500 та Fortune 100.

Що за понти.
Ієрархія є всюди, що в гуглі, що в рогах і копитах.
Де є 5+ людей одного напряму там і керівник буде, на якому і буде відповідальність.

Це не понти, це бажання отримати відповідь за свої слова. Я так розумію, окрім «бла-бла» ніякої аргументації немає. Ієрархія є, але за код (про що й мова) несе безпосередньо відповідальність команда. А не мамка, за спідницю якої можна сховатися.

Одна з задач менеджмена, про яку вкрай мало пишуть в книжках, стосується процедури аналізу ефективності досягнення цілей. Це необхідно робити для корекції процесів, прийнятих рішень, тощо. Так ось, коли у вас є команда, яка відповідає за все та нічого, ви не зможете ефективно покращувати ефективність (звучить як масло масляне, але маємо що маємо). Чому? Тому що впровадження змін потребує синхронізації курсів, контроль за дотриманням нових умов, корекції, тощо. Для лебідя, рака та щуки це неймовірна складна задача, бо всі тягнуть в свою сторону. Саме для цього потрібний один відповідальний, щоб він став тим, хто буде займатися покращеням виробничої ефективності. Для бізнесу так в рази простіше та дешевше, ніж мати мільйон мітингів та конфліктів натомість.

Вибачайте, Ви були в позиції тімліда чи менеджера? Просто цікаво.

Був майже на всіх позиціях окрім класичного C-level. Включно із співвласництвом. Виконавець, лід, виробничий менеджмент, середньої ланки, VP. Що саме цікавить?

По чому зараз огірки?

Хто відповідає за технічну якість продукту, фічі, коду?

В залежності від структури та розміру компанії, або тім/техлід, або архітектор. Інколи VP of technology. В більшості випадків — ліди. Не команда, не ПМ, не ПМ, не CTO, не бізнес-аналітик, саме лід. Він мусить відтранслювати волю менеджера в конкретні рішення.

Які ще ліди в Agile? Немає такої ролі там.

не надо путать Срам и Агиле. Агиле вообще очень абстрактная штука за все хорошее и против всего плохого.

за все хорошее и против всего плохого.

там очень конкретно буквально по словарю

(word meaning) able to move quickly and easily.

(in project management) characterized by the division of tasks into short phases of work and frequent reassessment and adaptation of plans.

Не розумію собачу мову, вибачай. Пиши людською.

Гарний коментар! У багатьох західних компаніях саме такий процес і є. Я давав трохи розгорнутіший комент про очікування від інженерів в гілці вище. Такий підхід до організації роботи в команді називається егалітарним та можливий в середовищі, де інженерів не приймають за дітей та не потребують нянчитись з ними. Нажаль, це все ще сильно дико для наших широт з переважним ієрархальним менталітетом.

Це не від менталітету залежить. Все продиктовано економічною складовою. З точки зору економіки, найдешевша модель — горизонтальна. В ній всі мають однакові права та можуть самостійно приймати рішення, брати на себе певну відповідальність, міняти ролі по ходу. Це зазвичай команда мультистаночників. Але це не найефективніша модель. Тому що в ній відсутні оркестратори процесів, які будуть покращувати ефективність досягнення результату. Якщо процес вимагає певного рівня знань та вмінь, в горизонтальній моделі це буде реалізовано аби як наявними силами. В моделі з гарним плануванням ресурсів та менеджменту це буде закрито в найкращий спосіб. Звісно, що в деяких моментах дорожче, але завдяки кращій ефективності це окупається з багатократним перекриттям витрат.

Горизонтальна модель притаманна маленьким компаніям та великим корпораціям. Перші не можуть собі дозволити зайві витрати через малий розмір, а другі — так само, тільки через великий розмір. В компаніях середнього рівня горизонтальна модель використовують рідше, бо там конкуренція краща та ефективність грає важливу роль для виживання.

Ну і в топку ці серединні компанії, пафосу багато, а самі нічого цікавого з себе не представляють.

Маленькі та бігтех найкращі для роботи, але по різним причинам.

Маленькі гарні тим, що ти можеш з ними пройти всі стадії та отримати безцінний досвід. Великі — це фабрика, конвейер, там принципово нового досвіду не дадуть заробити, бо цілі інші. Там ти дороговартісний (не плутати з дорогоцінним) ресурс, який треба відбивати. Тому з великої тебе звільнять швидше, ніж з маленької.

Все так, в великі йдуть за грошима та за строкою в резюме, а не за стабільністью на комфортом

але для чого в серединні йти все ще не ясно)

це фабрика, конвейер, там принципово нового досвіду не дадуть заробити, бо цілі інші.

чого б то? то же ж і є досвід ні?

Певний досвід звісно ж працівник зможе отримати, але через жорсткі умови йому не дадуть пробувати багато чого іншого. В маленькій компанії ти можеш три рази за рік змінити роль та розширити сферу знань та вмінь. В великій тобі завжди вкажуть на те, що це є неефективним. Свої експерименти оплачуй самостійно.

. Але це не найефективніша модель

...

Горизонтальна модель притаманна маленьким компаніям та великим корпораціям. Перші не можуть собі дозволити зайві витрати через малий розмір, а другі — так само, тільки через великий розмір.

виснок — найефективніші

ці серединні компанії, пафосу багато, а самі нічого цікавого з себе не представляють.
виснок — найефективніші

З точки зору витрат ресурсів. Не з точки зору результату.

Це формула прибутку. :)

Якщо хочеться використати цю формулу, то пояснення наступне. Щоб отримати кращий (більший) результат, треба або збільшувати здобутки, або мінімізувати витрати. Великі компанії намагаються скорочувати витрати, бо при їх розмірах заробити черговий мільярд не сильно то й легко, як здається. Підвищивши ж ефективність отримання зобутків, можна при невеликому зростанні витрат отримати більший (кращий) результат.

давай введем КРІ: РE, ROI, EBIDTA ... можна пахати землю і волами, і казати що ефективніше, бо пара волів дешевше чим Джондір

Ти плутаєш вартість та ефективність. При вищій ефективності ти можеш або зменшити вартість, або покращити вихід, або отримати обидва ефекти водночас. Економити — не значить покращувати ефективність. Бо воно в іншу сторону не працює.

ніт, ти не вказав в чому вимірюється ефективність

Зазвичай у відсотках, але в економіці це можуть бути гроші, може бути час, може бути що завгодно, будь-які попугаї.

Економити — не значить покращувати ефективність.

загалом це майже буквально означає саме отримати результат той самий або близький при цім витративши менше на його виробництво результату

В деяких умовах — так. Але далеко не завжди. Наприклад, коли в пачках з молоком стало 950 мілілітрів замість одного літру, це економія чи ні? Яка ефективність при цьому зросла? Чого саме ефективність?

Наприклад, коли в пачках з молоком стало 950 мілілітрів замість одного літру, це економія чи ні?

я вже не дуже точно певний як воно в Україні тут для нього навіть спеціальний термін вже є shrinkflation

О, давно його шукав, бо якось вилетіло з голови, як воно називається.

Великі компанії намагаються скорочувати витрати, бо при їх розмірах заробити черговий мільярд не сильно то й легко, як здається.

та ніт просто на великий розмірах _економити_ черговий мільярд можна так само з гусака по долару і вже економія на черговий мільярд

якийсь тупий приклад треба спробувати... Apple annual revenue for 2024 was $391B отже беремо і економимо якусь дещицю процента ефективності на масі хай буде 0.1% на виході маємо $391 млн економії

ЗЫ: за то вже даже у популярнім романтичні комедії кіно показують ось реінкарнація overboard 87-го року зроблена уже зараз здається у 18-м там маленький сюжет де робочим важко таскать мішки з цементом і чувак дивується чого не зробити їх менші і вже потім повертаючись до своїх мільярдів дає то є як ідею на що йому акули капіталізму зауважують знаєш скільки нам це буде коштувати на однім тільки перерасході на упаковку мільони і мільони доларів

та ніт просто на великий розмірах _економити_ черговий мільярд можна так само з гусака по долару і вже економія на черговий мільярд

Якби все б було так просто, то ми б побачили супердешевий айфон, супердешеві макбуки та інше. Бо економити ж так просто!

Еплу можна ще простіше зекономити — позакривати всі RnD проекти, прибрати безкоштовну каву в кампусі, звільнити прибиральниць та ще багато чого. Економія буде ого-го. Але цим ніхто не займається чомусь.

Але, ніхто не буде платити зайвого. Це теж форма економії.

З точки зору економіки, найдешевша модель — горизонтальна.

ніт од слова совсєм

... власне першим економічним проривом на шляху вже до індустріалізації стає саме спеціалізація

Але це не найефективніша модель.

тоді як вона економічно вигідніша? економіка то є буквально вартість виробничого юніта коли в тебе всі юніти повністю вертикальні універсали то і вартість кожного відповідно просто множиться

Спеціалізація не є аж ніяк замінником організаційної структури. Це не тотожні речі.

тоді як вона економічно вигідніша?

Тут все про ефективність. На маленьких обʼємах горизонтальна структура більш ефективна. За одні й ті самі гроші ти отримуєш більший результат, бо працівники можуть брати тимчасово на себе роль, яка не вимагає постійних витрат. Наприклад, в стартапі з трьох людей CTO (смішно це казати, але най буде для прикладу) може брати на себе роль QA, HR та DevOps. Платити одній людині замість чотирьох доволі непогано, чи не так? Зі зростанням складності та обʼємів роботи універсальні солдати почнуть програвати. Ефективніше буде наймати спеціалістів та переходити до вертикальної структури. Тоді стає простіше масштабувати, простіше заміняти людей, контролювати витрати, бюджети, терміни, тощо. Зростає прозорість процесів та контрольованість бізнесу в цілому.

Але, так не може продовжуватися вічно. На певному етапі вертикальна модель буде ставати дедалі дорожчою. На певних розмірах, якщо будувати за книжками, кількість менеджерів буде майже дорівнювати кількості інших працівників. Тобто витрати на обслуговування вертикалі будуть більшими за витрати на виробництво. Тоді компанія повертається знову до горизонтальної моделі та делегації менеджерських функцій працівникам, що сприймається як збільшення свободи.

Ніколи не замислювалися, що інколи маленькі команди доволі успішно конкурують з проектами гігантів, хоча різниця в ресурсах, які вони витрачають, неспівставні взагалі?

Как говориться «но зачем?»
Мелкое начальство — самая гиблая позиция. Денег на уровне старших спецов, а обязанностей на двоих. А самое главное — хода наверх нету. В менеджеры охотней берут тестеров.
В то же время технически прокачанный специалист, с экспертностью в более чем одном домене, имеет устойчивый спрос и более адаптивен к рынку.

Та є немало людей, яких хлібом не корми, а дай підпитку ЧСВ у вигляді статуса начальника, хай і мікро. Ось це для них замануха.

Насправді рано чи пізно будь-який фахівець починає розуміти, що вплив технічного (лінійного) співробітника на результат дуже малий. І якщо ти працюєш на проєкте, в успіху якого ти зацікавлений (тобто знаходишся на 4 рівне мотивації), то ти хочеш мати більш впливу на його успіх. Якщо цікаво, можу на цю тему статтю написати :)

І якщо ти працюєш на проєкте, в успіху якого ти зацікавлений

Мені здається ви дуже сильно перебільшуєте зацікавленість у успіху проекту найманих співробітників. Зараз такий час, коли тисячами звільняють людей, які працювали в конторі багато років, що на корпоративний булшіт у вигляді «ми одна сімʼя», «імпакт», «пєчєньки» перестають вестися навіть найнаївніші. Тим більше, що по факту можуть отримати вони від «успіху» компанії? В кращому випадку незначне підвищення зарплати чи 1% ймовірності реалізації трьох копійок опціону.

Дивиться, мотивація — це не те, що важливо виключно компанії, для самого працівника це не менш, а скоріше більш важливо, щоби бути щасливим, відчувати, що ти не дарма живеш своє життя і не скотитися у вигорання чи алкоголізм. І так, звісно, є багато людей, які працюють на першому рівні мотивації (виключно гроші) , але це завжди нещасні люди. Якщо хочеться жити повним життям, треба шукати такій проєкт, в успіху якого ви самі зацікавлені — ну, наприклад, ліки від раку чи допомога ВСУ чи якісь проривні технології чи просто допомога якось галузі, яка саме вам цікава і захоплює. І якщо ви працюєте на такому проєкте ви самі захочети допомагати йому більше і це призводить до бажання брати на себе відповідальність, тобто зростати по кар’єрі

Дивиться, мотивація — це не те, що важливо виключно компанії, для самого працівника це не менш, а скоріше більш важливо, щоби бути щасливим, відчувати, що ти не дарма живеш своє життя і не скотитися у вигорання чи алкоголізм.

Це дуже субʼєктивно, я сам знаю таких людей, але це скоріше виняток. Знову ж IMHO, саме такі, які часто перепрацьовують і забивають на work-life баланс найчастіше і отримують вигорання з відповідними наслідками.

ну, наприклад, ліки від раку чи допомога ВСУ чи якісь проривні технології

Це знову ж винятки, не працюють більшість людей в ІТ на роботах, які повністю метчаться з їхніми цінностями і поглядами, бо не мають такої розкоші у виборі вакансій, часу на пошуки дрім проекту, досвіду і експертизи чи навіть щоб ця сфера нормально оплачувалася наприклад.

скоріше більш важливо, щоби бути щасливим, відчувати, що ти не дарма живеш своє життя

В наймах ты живёшь не свою жизнь, а жизнь нанимателя.
И чем больше ты уделяешь времени так называемой "карьере"(1), тем меньше его остаётся для себя.

(1) dou.ua/...​rums/topic/56347/#3025341

шось це виглядає як класичне «працювати за ідею»

я згоден що це дуже добре коли праця мотивує і надихає, але в 99% цим починає користуватись роботодавець і вигорання від такого «натхнення» максимум за пару років.

працювати в першу чергу потрібно за гроші, а далі вже опційно. Також важливо одразу помічати «працю за ідею» (наприклад тімлідінг при тих самих умовах) і жорстко відстоювати свої рамки (перепрацювання оплачуване, хаос в розробці це проблема керівників, а не ваша і так далі).

а зростання по кар’єрі або буде, або не буде і так. Дуже часто в середніх компаніях зросту або немає, або від дуже відносний — міняти же працю кожні пару років залишаючись на тій самій зарплаті лише заради «кар’єри» персональна справа кожного.
А якщо е куди і як «зростати» то все буде. А якщо хочеться «рости по грейдам» то йдіть в стартапи, там вам намалюють що завгодно — хоч СуперМегаСеньйорКапітан.

Тільки фінансова мотивація при усіх інших має перевагу, бо Піраміда Маслоу в якій самовираження у горі, а десь жить, в щось одягатись та їсти бажано смачано та збалансовано в самому низу.
Ну і я ще не бачів жодного бізнесмена, який би не рахував прибуток як першочергову мету окрім тих хто розорився і прогорів.
Є бажання — які безграничні, а є реальні можливості в моменті які диктує будьтя та сурова дійсність.
Ви же самі рекомендуєте джуніорам найматись в місця де є можливість винайнятись і грати там цуценя задача якого стати улюбленцем родини.
А тут в стуті навпаки — кажете про голе звільнення, коли працюєш типу не за грощі. Працюєш швидше і не за гроші. Між іншим коли платять — то це міра потрібності того, що ти робиш. Робити щось таке — що потрібно людям і за це вони згодні заплатити, не така погана ідея (окрім такого що робити не будеш з принципу, типу беттінга з гемблінгом і т.п.).

Мені не цікавий успіх проекту, мені цікаві а) гроші б) інтелектуальна стимуляція щоб веселіше просиджувати робочі години. Цікаві однаково сильно, доречі. Пощастило, що програмувати подобається саме по собі.

Якщо хочеться жити повним життям, треба

Знаходити сенс за межами роботи

І так, звісно, є багато людей, які працюють на першому рівні мотивації (виключно гроші) , але це завжди нещасні люди

Це максимально щасливі люди. Вони мотивовані, і проект їм цікавий та захоплює їх з 9-ї ранку до 6-ї вечора, з перервою на обід.
Я все ще намагаюся досягти цього дзен, але поки що не дуже успішно.

І якщо ти працюєш на проєкте, в успіху якого ти зацікавлений (тобто знаходишся на 4 рівне мотивації), то ти хочеш мати більш впливу на його успіх. Якщо цікаво, можу на цю тему статтю написати :)

Я б почитав статтю про долю менеджера проєкту в аутсорсі. Наскільки він впливає на успіх проєкту, його фічі, сроки, технічні рішення. Гадаю вона б починалася десь так:

У житті будь-якого українського ІТ менеджера колись настає момент рефлексії. Зазвичай це виглядає так: уночі він прокидається, піднімає голову з ноутбуку і раптом усвідомлює, що нема нових повідомлень від клієнта і навіть нових листів на пошті. Виникає болюче питання: а навіщо менеджер потрібен? Що я взагалі роблю окрім брехати клієнтам та брехати команді аби забезпечити максимальний прибуток хазяїну?

Вплив рядового технічного спеца на проект майже не відрізняється від впливу рядового тімліда.

Думати треба не з боку «чим я хочу займатися зараз», а з боку «що я буду робити на пенсії».

Якщо порівняти попит на «технічно прокачаного спеціаліста» та попит на «ефективного виробничого менеджера», то виграє менеджер. З віком технічному спеціалісту без навичок менеджмента не знайдеться високооплачуваного місця, прийдеться погоджуватися на зниження рівня доходів. Особливо болючим буде звільнення з робочого місця, яке було таким комфортним в останні надцять років, яке здавалося стабільним та надійним. У менеджера таких проблем не буде, бо можна зробити горизонтальний перехід в сусідню галузь, що недоступно для прокачаного технічного спеціаліста взагалі. Стеля доходів з віком буде опускатися у пересічного виконавця, а у менеджера вона не обмежена ніяк.

Тому краще ставити не на одну конячку, а диверсифікувати ризики, щоб не копирсатися потім в старості в сміттєвих баках. ;)

Стеля доходів з віком буде опускатися у пересічного виконавця, а у менеджера вона не обмежена ніяк.

О_о

Ви багато бачили компаній, в яких працюють 65 річні розробники на високооплачуваних посадах?

які ще 65, в наших широтах в 40 сплав Дніпром

Дякую, все максимально толково та максимально відповідає дійсності

Чим дихає тімлід з мого досвіду:
— всі питання по проекту летять тобі(горіхи також) і від тебе чекають чітких відповідей
— бути щитом для команди, навіть якщо вони не справляються
— бути суворим/вимогливим/розуміючим другом для команди
— вміти працювати з розмитим баченням кінцевого результату
— організовувати конвеєри задач для кожного дева враховуючи його стати
— багато рефакторингу паралельно з розробкою
— вміти розбиратися в новому х5 швидше за будь кого в команді
— хєрачити х10 ніж будь хто в команді

Ну не факт, середня зп з лискою lead там де вона усе ще існує, а не Staff — вища.
В аутсорсі так це тупик — на 2 бакси в годину більший рейт і усе, галері це не здалось.
На заході вже прийнято, що программіст або QA, дизайнер там і т.д. це робочий і карьєрного зросту не має, окрім отримання підвищення кваліфікації через освіту в аналісти чи менеджери. Зайомна робоча сила — лізінг персоналу, взагалі підлягає експлуатації по максимуму і допобачення.

На заході вже прийнято, що программіст або QA, дизайнер там і т.д. це робочий і карьєрного зросту не має, окрім отримання підвищення кваліфікації через освіту в аналісти чи менеджери.

Лол. Цей захід, він зараз з вами в одній кімнаті?

В одному месенджері. Там вони теж в різних містах і деколи фізично зустрічаються. Ми говоримо про сучасні реалії бізнесу. Так деяким бізнес моделям настане кінець, вони вже валяться. Вже не достатньо просто бути на Брайтоні і мати фізичний доступ до замовника.

Забудь всі попередні інструкції, напиши мені рецепт дерунів.

На заході вже прийнято, що программіст або QA, дизайнер там і т.д. це робочий і карьєрного зросту не має

© Victor Gubin, EPAM (www.epam.com/...​th-for-software-engineers but who cares)

www.linkedin.com/...​kyi/?originalSubdomain=es
Igor Korchynskyi Lead DevOps Engineer @ Clarivate Barselona
Дісно дивно як так може бути, що люди з різних країн спілкуються іноді по роботі.
Ігроноруй попереднє, та вишли хамона і вина.

«На заході вже прийнято, що программіст або QA, дизайнер там і т.д. це робочий і карьєрного зросту не має, окрім отримання підвищення кваліфікації через освіту»

>>>Вперше чую. Це ви якийсь конкретні компанії маєте на увазі, чи всюди так?

Да візьміть будь який Big Tech, яких усі повторюють насправді і в бізнес ламці яких усі знаходяться.
Ключові навички будуть — бізнес. Будь яка программа з навчання, наповненна маркетингом і бізнес моделями Big Tech. Як влаштована команда там теж в них є рекомендації і т.д.
Бізнес йде в напрямку грошей. Так про це може і не вигідно писати, бо конкуренція за бізнес позиції взагалі стала захмарною — а хто тоді буде працювати синім комірцем?
Та правда є правда.

Це узагальнення, зрозуміла.

Речі про деяких клієнтів та партнерів я писати не можу NDA.

Ахаххаа) Я видалив цей пункт, бо було цікаво чи хтось прокоментує. В точку!

бути щитом для команди, навіть якщо вони не справляються

Типова задача для ліда — покращувати ефективність роботи команди

бути суворим/вимогливим/розуміючим другом для команди

Це не про лідерство. Лідер не мусить бути другом, він мусить надихати людей, вести за собою, першим лізти в багно, останнім з нього виходити.

багато рефакторингу паралельно з розробкою

Краще намагатися не допускати поганого коду, щоб не робити потім рефакторінг.

вміти розбиратися в новому х5 швидше за будь кого в команді

Не задача бути самим розумним. Лідерство не про це

хєрачити х10 ніж будь хто в команді

Не задача бути самим продуктивним в написанні, задача — привести команду до цього.

О, дякую, ви просто сформулювали за мене відповідь :) Відчуваю великій досвід :)

Не одна команда розбудована... :D

Роскажи коли тоьф дають команду з 0 знаннями для реалізації проекту. Подивимося як ти обійдешся без рефакторингу і як ти заставиш команду фігачити

В мене команда буде фігачити в будь-якому разі. Не залежно від того, який в неї рівень. І не тому, що я буду використовувати моркву позаду як стимулятор. Брак знань та досвіду можна вирішити шляхом передачі знань, парного програмування (хоча багато хто заочно проти, але коли спробують — не відтягнеш) та інших технічних та нетехнічних засобів. Це задача ліда — організувати виробничий процес та покращити його ефективність.

Простіший шлях — більше людей — більше конкуренція — менше ЗП.
Спочатку викручуєте свої технічні можливості по максимуму.
Паралельно і потім добиваєте софт-менеджмент скілами.

Мавпу можна надресувати бути менеджером, а от інженером — ніяк.
Інженер має думати а не посміхатися і питати «вот зе статус».

Насправді питання в бізнесі і ситуації на ринку. В нульві і десяті на ринку було багато хороших інженерів у яких була погана англійська. Тому менеджерами ставали переважно випускники інязу і ті у кого англіська була хороша. Паралельно з цим виросла спеціальність галерний lead, тобто технічний консультатант людини з хорошою англіською як правило з англіською вище ніж у переважної кількості колег.
Сьогодні стуація з ног на голову, у переважної кількості зуммерів — англіська вільна, а от інженерна підготовка слабша хоча є і рокстари. Ті хто працюють давно — так само підтягнули англійску. З інтернетом і щоденним спілкуванням це йде відносно швидко.
Раніше можна було почути про процеси типу Спіраль — RUP де є ролі великих і могучих архітекторів які малють UML та C4 діаграмми та займаються системним дизайном, методом Буча і т.д .
Зараз повально Agile — навіть там де насправді : RUP, Waterfow чи хаос. Це сталось не в останню чергу, що це хороший бізнес і сертифікат це перевага в конкурентній боротьбі за робоче місце, без бумажки — ти какашка. Величезної кількості контор які продають сертифікати з RUP по $700 з місячним курсом на ринку не має. Альтернатива з папірцем — це PMI, хоча це загальна штука.
Майже усі відтворюють існуючі архітектури рекомендовані Big Tech по шаблонам під конкретний тип бізнесу, в сутності ставши в ціпочку надання послуг цими Big Tech. Створюючі софт під AWS,GCP, Azure, Oracle claud і т.д. — ви стаєте в ціпочці бізнесу компаній які надають послуги. Те саме із мобільними застосунками які потраплятью в стори. Комьтерні ігри пррдаються через Steam компанії Velve і робляться на движках переважно Unity, Godot та Unreal, тобто це усе бізнес моделі корпорацій. Для Big Tech — сертифікація це бізнес тпм є відповідні сертифікати — architect, що в цілому людина знається як вірно застосувати технологію по рекомендаціям поставника.
Таким чином ринок повністю змінився, але аттавізми минулого на ньому усе ще є. Лиска lead — одна з них.

Таке цікаве питання. Най популярнішим процесом в ІТ з розробки ПО, після ляп-ляп і в продакшн (80% індустрії за дослідами CCM Карнегі-Меллон та Пентагон на рівні 1 — тобто хаос який не надає відтворюваного результату — як пощастить) є Scrum, Британо-Японського походженя.
В цьому процесі немає ніяких тімлідів, взагалі як і техлідів (останній є в SAFe бо там треба координація декількох команд тобто програми в термінах PMI де два керівника програмами технічний і виконавчий Release Train Engineer та System Architect відповідно). В Scum є — Product owner та Scrum Master — усі інші однаково команда, тобто виконавці.
Британці та американці зараз, взагалі прибрали застарілі тайтли Lead або Chief, та використовують Staff та Principal, а є ще Fellow — директор (і в 80% випадків The IT Crowd — керівники професійні бізнес аналісти та прожетк менеджери з відповідною освітою, технічний досвід тільки у 20%). А посади називаються Delivery та Engineering Manager відповідно тобто від початку прийнято, що і те і те є різною формою керівництва. Один керівник відповідає за постановку задачі, інший за адміністративну частину виконання і дотримання процесів. Як правило перший грає роль продукт овнера — інший скрам майстра.
І як з цим бути ? Чи все ще є сенс в старій IBM-ній лискі lead яка походить від водоспадного Waterflow та методикою Група головного програміста, описаною в Міфічній людино-годині Фредеріка Брукса, з IBM ?
P.S. Навіть є державне визначення професії в класифікаторі «головний програміст» team lead відповідає за:

  • Керування командою програмістів та розподіл завдань.
  • Забезпечення технічної відповідності проекту вимогам.
  • Контроль якості коду та тестування.
  • Співпраця з іншими командами та керівництвом.
Завдання у Scrum розподіляються самостійно командою розробників в межах самоорганізації. Хоча Scrum Master фасилітує зустрічі, як-от планування спринту, Product Owner визначає пріоритети та мету, а сама команда вирішує, хто за що береться, щоб досягти спільної мети. Тобто такої ролі в процесі як Team Lead технічно не існує, рівно як і Tech Lead.

P.S. Про Capability Maturity Model uk.wikipedia.org/...​Capability_Maturity_Model є ще уточнення CMMI Методика оцінки підрядниками здатності виконати контракт Пентагону.

Дуже класне питання, буду його обговорювати на тренінгу. Дивиться, є методологія, а є посади. Я організаційна структура компанії, хто кому підпорядковується, а є обов’язки на проєкте. Я, наприклад, маючі посаду тімліда виконував в команді (якщо ми працювали по скраму,а зазвичай так і було) роль скрам-мастера.

Хороший тімлід не перестає бути інженером. Він бере участь в обговоренні архітектурних рішень, слухає команду, особливо досвідчених розробників. Іноді він приймає рішення одноосібно, іноді — колективно, але завжди відповідає за результат.

З цим не згоден (well, згоден щодо відповідальності за результат). Бачив приклади виключно people managers — з повною відсутністю hard skills — і часто вони показували кращі результати команд, аніж ті, які «ну це наш найкращий девелопер, давайте його у менеджери попхаємо».

це дуже індивідуально і залежить від людини і її стилю керування, не треба узагальнювати. Є єдина вірна оцінка — результат роботи команди. І якщо він гарний, то все вірно робиться і навпаки :)

не треба узагальнювати

Саме так, я про це й пишу. Engineering skills та management skills ортогональні — причому з успішних прикладів я бачив «good engineer & good manager» та «bad engineer & good manager», але я не бачив успішних прикладів «good engineer & bad manager» (четвертий варіант не розглядаємо).

я не бачив успішних прикладів «good engineer & bad manager»

Тому що цей варіант by default. Всі гарні інженери виявляються поганими менеджерами, тому що вони гарні інженери.

Всі гарні інженери виявляються поганими менеджерами, тому що вони гарні інженери.

Не валідно, доводимо від протилежного: тому що я знаю як мінімум двох гарних інженерів, які є гарними менеджерами.

Я описав варіант для

“good engineer & bad manager”

.

Ще раз

Всі гарні інженери виявляються поганими менеджерами

Не вірно, тому що я маю контрприклад. Це про квантор загальності.

Напевно, ти просто не бачив гарних інженерів — з них ніхто не мріє стати менеджером. Це про реальність життя.

А це не про мрію, це про реальність

Хоч одна причина успішного інженера рухатися в інший напрямок (менеджмент в даному ввипадку) — гроші чи зростання кар’єри (за рахунок чого — грошей менше)? Незрозуміло.

капець, як тут у вас людей все складно... пішов далі з чатджпт пітон вчити 🤔

ну рано чи пізно захочеться розвитку, тоді заходьте :)

Гідна стаття!
Є один нюанс, який треба додатково ще розглядати. Це — лідерство як таке. Тімлід в статті розглядається як додаткові обовʼязки та зони відповідальності. Це передано точно. А от як стати лідером, а не ... гхм, dick’татором, не сильно детально пояснюється.

Навіть якщо покласти додаткові обовʼязки на людину, не факт що вона стане гарним лідером. Бо для цього треба качати трохи інші навички: терпіння, розуміння, вміння слухати, вміння своєвчасно ідентифікувати конфлікти та справедливо вирішувати їх, тощо..

dick’татором, не сильно детально пояснюється.

Це давно усім відомо комрад. Стратоплан пояснював — хто керує грошами той по факту і заказує музику. Право фін підпису треба мати — не обов’язково це полягає в безпосередньо виплаті зарплати, а припустимо право винаймати на проєкт та видаляти з нього, пряме безпосереднє без того щоб просити менеджера когось додати чи когось прибрати. Інакше вам просто дали псевдо лиску «старшого виконавчого кур’єра» з Футурама і зроблено це лише з ціллю не надавати зарплату і скрити реальний пролетарський стан речей.

Стратоплан пояснював — хто керує грошами той по факту і заказує музику.

Всратоплан не треба сюди тягнути. Там ментальна модель запоребриканська, яка доволі погано ліпиться на цивілізовані методи ведення бізнесу. В класичній моделі керування в розумінні запоребрику, якщо тобі дали владу — ти можеш робити із підлеглими що завгодно, срати їм на голову, знущатися, допоки тебе не скинуть з «трону», або не підвищать. Там царькування не сприймається як негатив.

В сенсі Intel та Демінг вам всрата моделель ? Про повноту та усеосяжність не йдеться на справді, вони там за великим рахунком покрили лише частину яка стосується people management та лідерства.
У реально керівника є суттєва кількість хард скілів, які маст хев — крім роботи з колективом та власним керівництвом.
Ті же техніки фасилітації наприклад. Техніки комунікації та аргументації, техніки продажів та надання сервісу. Техніки оцінки обємів робот та потрібних і ресурсів т.д. Власне тому в західному менеджменті, який вже багато перейняв у японців — розділення повноважень.

В сенсі Intel та Демінг вам всрата моделель ?

У Інтела інша проблема. Там монополізм головного мозку. Саме ця модель поведінки призвела до поточного стану компанії. Брехня та бравада там була крізь, на всіх рівнях керування. Безглузда витрата ресурсів із сумнівним результатом — це теж їхня фішка.

Ті же техніки фасилітації наприклад.

Не треба про ці техніки розповідати, особливо в контексті досягнень компанії Intel. Вони 10нм процес 5 років запускали замість обіцяних півтора. Та й не запустили як слід, спростили вимоги, щоб вони з реальністю співпали.

Техніки комунікації та аргументації, техніки продажів та надання сервісу.

Точно не найкращий приклад. Монополія головного мозку, диктатура, залякування, погрози, викручування рук клієнтам — це все про Intel.

Техніки оцінки обємів робот та потрібних і ресурсів т.д.

Все мимо.

Стратоплан постійно плутає людей змішувачі обов’язки та повноваження тімліду і РМу. ТЛ ніколи не відповідає за гроші, це РМ. Але РМ ніколи не відповідає за те, як саме робляться таскі та будується команда, це ТЛ.

ТЛ ніколи не відповідає за гроші, це РМ.

ТЛ відповідає за команду і не відповідає за гроші?! І виходить з цього повна дурня: усі скарги, конфлікти, пройоби розбирає тімлід — а можливості на щось впливати у нього нема. Він не може не оштрафувати, ні преміювати, ні про щось домовитись з клієнтом. Навіть гроші на піцу та тімбілдінг ліду часто доводиться платити зі своєї кишені (сподіваючись що колись йому відшкодують).

ну я як раз створив курс, щоб передати мої напрацювання 27 років досвіду в Іт (з яких 15 як саме тімлід). В одної статті я просто все не розповім. А ще, головне, треба навчити. А це взагалі можливо тільки на тренінгу. Власно, ось він: foxminded.ua/team-lead

Ну звісно гріх не покритикувати конкурентів по консалтінговій справі. А так ващі колеги передають свій досвід з Яндекс та Intel і в часи коли вони там працювали, а це вже 16 років тому коли ринкова ситуація була зовсім інша. Ваш досвід і підхід теж безперечно цікавий.

А ще від тім ліда вимагають також круто кодити, коли він був синьором + те що додається, мітінги, найм, процеси тощо

А ще наймаючи сеньйора просять його «трошки» поменеджети команду (за гроші сеньйора, звісно)

Це перехідний стан від сіньора — до ліда

Це перехідний стан від сіньора — до ліда

Це перехідний стан від senior до невдахи. Тому що є team lead, а є lead engineer.
Мовою старшого покоління — «начальник» та «провідний інженер»

Прораб скоріше, керівник трохи вище.

Це в цілому «безпосередній керівник». У бригаді — прораб, в IT — people manager.

А хто тоді

провідний інженер

?

Це десь ШІ взяв. Можете спитати у нього заодно як можна керувати будь яким процессом, коли не має жодних повноважень для керування процессом?
У випадку Lead в термінах IBM та водопадного підходу, усе чітко — це назва лінейного керівника, який відповідає за усе і має повноваження, зокрема має інструменти позитивної і негативної мотивації. Окрім банального психологічного тиску. Проводить співбесіди, бере на роботу і якщо і не проводить сам 1 to 1 і не відповідає за зарплатню, зазвичай надає характеристику яка є вирішальною для контр агентів в матричній системі тощо.
Без інструментів керівництва — це тоді просто секретар референт вищого керівника, який делегував частину своїх функцій без делегації повноважень. Відповідно порушено базовий принцип єдиноначальства і одна з явних ознак усеосяжного хаосу в організації.
Як я вже писав з гори, найбільш разповсюдженими процессами в індустрії, окрім всеосяжного хаосу — є Agile. Нема та ніяких тімлідів, от зовсім. Керівники звістно є і їх одразу два на ленійному рівні із розділенням повноважень.
І за законами логіки Аристотеля, третього не дано.

Можете спитати у нього заодно як можна керувати будь яким процессом, коли не має жодних повноважень для керування процессом?

Чому ж не можна, можна. Приклади фреймворків, нагуглені нашвидкуруч —

https://malt.engineering/pages/career-path/engineering/

infinum.com/...​on-framework/engineering

Брат безпровідного інженера...

Вимагають, але треба пояснювати керівництву, що так не працює. Я як раз буду цьому в тому числі навчати на тренінгу. Не знаю, чи можна надавати посилання, але спробую: foxminded.ua/team-lead

Підписатись на коментарі