Управление программной инженерией — мнение Пиюша Ранджана, вице-президента по разработке, Google
Введение
Как разработчику программного обеспечения мне посчастливилось учиться у влиятельных друзей и менеджеров в отрасли, которые поднялись по служебной лестнице и поделились ценными знаниями на своем пути в качестве лидеров инженерных разработок. В этом посте я поделюсь некоторыми размышлениями одного из лидеров, с которым я имел удовольствие общаться на протяжении многих лет, Пиюша Ранджана, вице-президента по инженерным вопросам в Google. Пиюш имеет впечатляющий опыт работы инженером-программистом и руководителем инженерного отдела, он работал техническим директором в Flipkart, одном из самых успешных индийских единорогов электронной коммерции, и вице-президентом по инженерным вопросам в Airbnb.
Структурирование организации для подотчетности
Когда Пиюш стал техническим директором Flipkart, в команде инженеров уже было около 1000 инженеров, а под его руководством их число выросло до 1500 человек. Он задался целью создать организацию, структурированную таким образом, чтобы она могла работать с определенными обязанностями, гарантируя, что в каждой области есть люди, к которым можно обратиться. Учитывая, что это был двусторонний рынок, например, он создал ответственного владельца для стороны продавца и ответственного владельца для стороны покупателя. Такой подход устранял совместную или распределенную ответственность, упрощая поиск корней проблем и поиск решений, когда что-то не работает должным образом.
Правильные люди на руководящих должностях
Пиюш также подчеркнул важность наличия правильных людей на руководящих должностях в каждом подразделении. Он описал процесс выявления этих лидеров, который включал в себя понимание их ценностей, того, как они работают, и нахождение общих черт в его системе ценностей и их системе ценностей. Для лидера важно иметь людей, которые могут понять и следовать ценностям и принципам, которые вы предлагаете, создавая гармоничную среду, которая объединяет миссию компании.
Обеспечение соответствия принципов команды ценностям и принципам организации
Одним из наиболее важных выводов для менеджеров начального уровня является важность понимания общей картины, обеспечения соответствия основных принципов их команды ценностям и принципам организации. Каждая команда является частью более крупной головоломки, и технический руководитель играет решающую роль в обеспечении того, чтобы их команда полностью соответствовала более широким целям организации.
Расширение прав и возможностей и прозрачность в создании эффективных команд
Ключевыми ценностями Peeyush являются расширение прав и возможностей и прозрачность, которые необходимы для создания эффективной команды инженеров. Менеджеры, которые расширяют возможности своих команд и прислушиваются к их отзывам, могут увеличить производительность своей команды, сделав ее более эффективной, чем простое увеличение числа людей в команде. Инженеры ценят прозрачность, поэтому менеджеры должны быть искренними и честными со своими командами. Прозрачность укрепляет доверие, облегчая совместное достижение целей и задач.
Один из способов добиться этого — регулярно внедрять передачи руководства на каждом уровне иерархии руководства в компании.
Позвольте мне добавить еще немного контекста о том, почему так важны передачи руководства вниз — процесс каскадной передачи информации и решений от более высоких уровней управления к более низким уровням важен по нескольким причинам в софтверной компании:
- Согласованность и последовательность: передача вниз гарантирует, что все уровни управления работают над достижением одних и тех же целей и задач, способствуя согласованности в принятии решений и распределении ресурсов по всей организации.
- Четкое общение: передавая информацию и директивы, руководство может гарантировать, что все сотрудники хорошо информированы о приоритетах, стратегиях и ожиданиях компании, что, в свою очередь, позволяет им более эффективно выполнять свои функции.
- Расширение прав и возможностей и подотчетность: передача вниз помогает делегировать полномочия и ответственность по принятию решений нижестоящим уровням управления, позволяя им делать осознанный выбор и брать на себя ответственность за работу своей команды.
- Приспособляемость и оперативность: переходы руководства способствуют более быстрому реагированию на меняющиеся рыночные условия или организационные потребности, гарантируя, что соответствующая информация и решения будут оперативно доведены до всех уровней.
- Сотрудничество и командная работа. Эффективная передача информации способствует межведомственному сотрудничеству и командной работе, позволяя всем командам быть в курсе общекорпоративных инициатив, проблем и успехов.
- Вовлеченность сотрудников и моральный дух: когда сотрудники понимают цели компании и свою роль в их достижении, они с большей вероятностью будут чувствовать себя вовлеченными и мотивированными, чтобы внести свой вклад в успех организации.
- Обмен знаниями и развитие навыков: передачи могут служить платформой для обмена передовым опытом, извлеченными уроками и опытом между различными командами и уровнями управления, способствуя культуре непрерывного обучения и развития навыков.
Создание автономных команд, которые идут на риск и внедряют инновации
Представления Пиюша о создании автономных команд, готовых идти на риск и внедрять инновации, перекликаются с мышлением роста, необходимым для постоянного совершенствования. Такой подход побуждает людей находить свои решения и выдвигать свои идеи, создавая атмосферу доверия и творчества.
Некоторые из ключевых преимуществ создания автономных команд включают в себя:
- Более быстрое принятие решений: автономные команды получают возможность принимать решения в своей области, что сокращает время отклика и снижает потребность в постоянном одобрении со стороны руководства.
- Расширение инноваций. Когда у команд есть свобода экспериментировать и принимать решения, они с большей вероятностью будут предлагать творческие решения и инновации, которые могут продвигать компанию вперед.
- Более высокая производительность. Обладая большей автономией, команды могут более эффективно управлять своей рабочей нагрузкой и приоритетами, что приводит к повышению эффективности и производительности.
- Улучшение вовлеченности сотрудников. Сотрудники в автономных командах, как правило, чувствуют больше сопричастности и ответственности за свою работу, что приводит к повышению удовлетворенности работой и вовлеченности.
- Гибкость и адаптируемость. Автономные команды могут быстро реагировать на изменения рынка, потребностей клиентов или технологий, что делает компанию более адаптируемой и устойчивой.
- Масштабируемость. Предоставляя командам возможность работать независимо друг от друга, организация может легче масштабировать свою деятельность, поскольку новые команды могут быть добавлены без значительного увеличения накладных расходов на управление.
- Межфункциональное сотрудничество: автономные команды часто состоят из членов с разными навыками и опытом, что способствует межфункциональному сотрудничеству и обмену знаниями внутри команды.
- Сокращение бюрократии: поскольку автономным командам требуется меньше уровней надзора со стороны руководства, это может привести к сокращению бюрократии и бюрократии, оптимизации процессов и ускорению выполнения.
- Лучшее распределение ресурсов: автономные команды могут принимать более обоснованные решения о распределении ресурсов, основываясь на своем непосредственном знании потребностей и приоритетов проекта, что приводит к более эффективному использованию ресурсов.
- Привлечение и удержание талантов. Культура, которая поддерживает автономию и расширение возможностей, может привлечь лучшие таланты и помочь удержать сотрудников, поскольку они чувствуют, что их ценят, им доверяют и им доверяют.
Одним из наиболее сложных аспектов инженерного менеджмента является переход от индивидуального участника к менеджеру. Пиюш отметил, что быть великим инженером не обязательно означает быть великим менеджером по персоналу. Успешный инженер-менеджер должен балансировать между ролью чуткого менеджера по работе с людьми и технического лидера, возглавляя и влияя на свою команду, но не будучи властным.
Лидеры должны предоставлять возможность своей команде расти и разрабатывать собственные решения, создавая чувство сопричастности и гордости за свою работу. Они также должны развивать глубокое чувство заботы о каждом из своих сотрудников, понимать их конкретные карьерные цели и помогать им находить возможности, которые позволят им расти в соответствии с их карьерными целями. Помните старую поговорку, что в большинстве случаев люди не уходят из компаний, они уходят от своих менеджеров. Будучи чуткими и заботливыми менеджерами, которые обслуживают свой стиль руководства, чтобы удовлетворить потребности каждого из своих сотрудников, они могут значительно снизить риск оттока и помочь создать сильную команду, ориентированную на миссию и способную объединиться для достижения великих целей.
Выявление ключевых лидеров для запуска команды с нуля
Знания Пиюша о том, как создать успешную команду, бесценны для всех, кто создает новую команду. Он подчеркнул важность выявления ключевых лидеров, которые обладают правильным мышлением, чтобы создать команду с нуля, способностью работать в неоднозначных ситуациях и стремлением быть самостоятельными.
Кроме того, он подчеркнул важность обучения тому, как представлять своих людей и их работу перед остальной частью организации, укрепляя доверие и способствуя росту и развитию своей команды.
При выборе лидера для создания команды с нуля учитывайте следующие факторы:
- Техническая экспертиза: выберите руководителя, который имеет большой опыт разработки программного обеспечения и знаком с технологиями и инструментами, имеющими отношение к вашему проекту. Они должны быть в состоянии предоставить техническое руководство и принимать обоснованные решения об архитектуре, дизайне и методах разработки.
- Опыт: Ищите кандидата с опытом создания и руководства командами разработки программного обеспечения, предпочтительно в аналогичной области или отрасли. Этот опыт поможет им понять проблемы и лучшие практики для создания успешной команды.
- Видение и стратегия: лидер должен иметь четкое представление о целях команды и быть в состоянии разработать последовательную стратегию для их достижения. Они должны уметь определять приоритеты команды и согласовывать их с целями компании.
- Навыки общения и межличностного общения. Эффективное общение имеет решающее значение для лидера, поскольку ему необходимо будет донести цели, ожидания и прогресс команды как до членов команды, так и до заинтересованных сторон. Они также должны уметь активно слушать и сопереживать проблемам и потребностям своей команды.
- Адаптивность и решение проблем: лидер должен быть в состоянии адаптироваться к изменяющимся обстоятельствам, таким как новые технологии, изменение приоритетов или ограниченность ресурсов. Они должны обладать сильными навыками решения проблем и быть способными находить творческие решения проблем.
- Формирование команды и мотивация. Лидер должен иметь опыт создания сплоченных, высокоэффективных команд. Они должны уметь выявлять и нанимать таланты, создавать позитивную командную культуру и мотивировать членов команды на достижение наилучших результатов.
- Принятие решений и делегирование полномочий: руководитель должен уметь принимать обоснованные и своевременные решения и эффективно делегировать задачи, давая возможность членам команды брать на себя ответственность за свою работу.
- Разрешение конфликтов. Конфликты могут возникать внутри команды или с внешними заинтересованными сторонами, и руководитель должен уметь разрешать их конструктивно и дипломатично, находя взаимовыгодные решения.
- Наставничество и коучинг: лидер должен стремиться к профессиональному росту членов своей команды, обеспечивая руководство, наставничество и возможности для развития навыков.
- Соответствие культуре: идеальный лидер должен соответствовать ценностям и культуре вашей компании, поскольку они будут играть важную роль в формировании среды и рабочих привычек в команде.
Во время нашей беседы он поделился со мной своим подходом к эффективному инженерному менеджменту, который он сравнил с родительским. Аналогия Пиюша Ранджана между инженерами-менеджерами и родителями интересна и наводит на размышления. Как он объяснил, обе роли несут ответственность за руководство и воспитание своих подопечных для достижения их целей и полного раскрытия их потенциала. Точно так же, как родитель должен оказывать поддержку, поощрять и время от времени подталкивать в правильном направлении, чтобы помочь своему ребенку расти и добиваться успеха, технический руководитель должен делать то же самое для членов своей команды.
Это напомнило мне старую пословицу: «Дай человеку рыбу, и ты накормишь его на один день. Научите человека ловить рыбу, и вы накормите его на всю жизнь».
Эта пословица подчеркивает важность обучения людей навыкам, которые им необходимы, чтобы стать самодостаточными и независимыми, а не просто предоставление временных решений их проблем. В нем подчеркивается значение образования и расширения прав и возможностей для обеспечения долгосрочного роста и уверенности в своих силах.
Этот принцип также применяется к персоналу и главным инженерам, ответственным не только за важные части Продукта, но и за помощь в подготовке и развитии младших инженеров в своих областях.
Создание поддерживающей и заботливой среды для членов команды
Члены команды имеют разные сильные и слабые стороны и потребности в развитии. Эффективные инженеры-менеджеры осознают эти различия и работают над предоставлением индивидуальной поддержки и возможностей развития с учетом потребностей каждого члена команды. Они должны быть настроены на мотивацию, карьерные цели и интересы членов своей команды, чтобы создать среду, в которой каждый человек может процветать.
В то же время, инженеры-менеджеры также должны обеспечивать четкое понимание направления и устанавливать ожидания для членов своей команды. Точно так же, как родитель устанавливает границы и ожидания в отношении поведения своего ребенка, руководитель технического отдела должен установить четкие требования к производительности, установить ответственность и способствовать культуре постоянного совершенствования. Они должны обеспечивать регулярную обратную связь и обучение, чтобы помочь членам своей команды расти и развиваться, так же, как родитель делает это со своим ребенком.
В конечном счете, роль технического менеджера заключается в обеспечении поддерживающей и развивающей среды, в которой члены команды могут расти, учиться и полностью раскрывать свой потенциал. Используя аналогию с родителем, Пиюш подчеркивает важность эмпатии, терпения и установки на рост в этой роли. Эффективные инженеры-менеджеры должны уметь ставить себя на место членов своей команды, предвидеть их потребности и обеспечивать необходимый уровень поддержки, чтобы помочь им добиться успеха.
Заключение
Таким образом, подход Peeyush к инженерному управлению соответствует принципам подотчетности, расширения прав и возможностей, роста и воспитания инженеров и постоянного совершенствования. Его идеи по созданию успешных команд и обеспечению эффективного лидерства бесценны для всех, кто создает новую команду или переходит на должность инженера-менеджера. Уравновешивая техническое лидерство с эмпатией и навыками управления людьми, инженеры-менеджеры могут создать поддерживающую и заботливую среду, которая помогает членам их команды процветать и полностью раскрывать свой потенциал.
Успешный лидер должен придерживаться адаптивного стиля, воздерживаясь от того, чтобы сразу же вмешиваться и навязывать предыдущий опыт или слепо подходить к делу без учета уникального контекста текущей организации. Вместо этого они должны адаптировать свои стратегии лидерства к конкретным потребностям команды и компании.
Предлагаемое чтение:
ПРИМЕЧАНИЕ. Ссылки на книги выше являются партнерскими ссылками.