Что делает хорошего архитектора / менеджера / ведущего разработчика?


12

Я ведущий разработчик для небольшой компании по разработке программного обеспечения. За последние два года моя команда выросла из одного разработчика (меня) в группу из примерно девяти человек. Большинство из нас - очень способные старшие инженеры (20+ лет опыта в создании программного обеспечения на человека), поэтому, как правило, требуется совсем немного ручного труда. Мы используем Scrum для управления нашими усилиями, и мы обычно быстро справляемся с минимальными письменными требованиями.

По мере того, как команда росла, я пришел к тому, что мне трудно сохранять технический контроль над всем проектом, а также сам писать значительные объемы нового кода, поэтому пришло время изменить свою роль. Как я могу сделать себя наиболее полезным для команды, когда я больше не трачу большую часть своего времени на развитие?

Моя цель состоит в том, чтобы позволить моей группе расти еще больше (т.е. увеличивать скорость Scrum), добавляя больше разработчиков , поэтому я не хочу просто становиться «полицией архитектуры», которая навязывает мою волю команде. Другими словами, я хочу быть парнем, который помогает вещам работать лучше / плавнее, а не парнем, который замедляет процесс, добавляя ненужный слой бюрократии. Тем не менее, один из наших главных рисков заключается в том, что вещи выйдут из-под контроля, если мы добавим больше людей, не имея достаточной структуры, чтобы держать нас всех на одной странице.

Каков наилучший способ достижения моей цели?


6
Не уверен, что это ответ, но я бы лично хотел, чтобы вы организовали команды и немного персонализировали свое управление. Знайте, над чем они работают, будьте в курсе того, над чем они работают, и т. Д. Если вы не организовываете их в группу, принимайте участие в обзорах кода, помогайте писать модули, которые нуждаются в дополнительной помощи, и возможно проводить время с отдельными разработчиками. У меня был один или два менеджера, которые не помогали и не проверяли нас, чтобы посмотреть, как идут дела, но также не хотели знать (да, плохой менеджер).
Саймон Уайтхед

Я думаю, что роли, которые вы упомянули в названии, имеют различную специфику и используют разные навыки. Который из них?
Эйфорическая

3
Подробные требования и «ненужный слой бюрократии» - это не одно и то же. Требования могут спасти вашу жизнь, особенно при работе с большой командой. Не стоит недооценивать их силу.
СуперМ

Ответы:


12

Если бы вы были в такой команде, что бы вы хотели, чтобы ваш босс делал со своим временем?

  1. Устранить препятствия для прогресса.
  2. Посредник споры между членами команды.
  3. Взаимодействовать с деловыми людьми, чтобы нам не пришлось.
  4. Держите нас в курсе бизнес-проектов высокого уровня, чтобы мы не чувствовали себя изолированными.
  5. Держите нас честными, особенно если / когда плохое яблоко попадает в команду.
  6. Быть защитником команды в других отделах.
  7. Будьте единым голосом противодействия необоснованным бизнес-запросам.
  8. Облегчить общение в команде.

Вероятно, есть куча, которую я забыл, но в этом суть. Не реализуйте процесс, обработайте некоторые из этих накладных расходов / неэффективности, которые естественным образом развиваются по мере увеличения размера команды.


5
Я не могу помочь, но чувствую, что этот список очень негативно ориентирован. Это как «защитить меня от плохих вещей». Как насчет положительного воздействия?
Николь

1
@NickC Я думал, что это часть работы менеджера. Что вы имеете в виду с положительным воздействием ?
BЈовић

2
@ nickC: да, я склонен негативно относиться к вещам, но, как показывает мой опыт, снижение негативного влияния оказывает самое большое положительное влияние на производительность и моральный дух команды. Особенно, если вы беспокоитесь о том, чтобы помогать людям с процессом.
Теластин

@NickC Я полностью согласен с Теластином, в конце его список может просто выделить то, с чем столкнулись бы разработчики, если бы у них не было технического лидера. Хотя можно добавить больше положительных моментов, т.е. «Хорошие технические лидеры имеют общее видение технического направления продукта и следят за тем, чтобы команда его понимала. Они делегируют характерные области другим членам команды и позволяют им принимать решения. Они признают, что члены их команды умны, доверяют им, и полагаться на них, чтобы справиться со значительными частями проекта ". см. engineering.foursquare.com/2014/01/30/…
Adrien Be

6

У меня не было бы проблем с руководителем группы, который был в состоянии сбалансировать как управленческие, так и технические обязанности, но трудно найти людей, которые хорошо справляются с этим балансом.

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

Но в растущей команде вам наверняка понадобится хороший менеджер. На самом деле, иметь хорошего человека со званием руководителя очень важно, потому что вы хотите, чтобы у него было достаточно власти для принятия правильных решений. Хороший менеджер имеет большое влияние на счастье команды и именно по тем причинам, которые вы указываете; помогая поддерживать их продуктивность - и хорошо для вас, чтобы думать, как вы. Есть много менеджеров, которые не дают крысу задницу.

Я бы порекомендовал несколько других постов здесь, в Программисты. Хотя они больше ориентированы на командное руководство, чем на официальную управленческую роль, они могут помочь:

Переход к командному руководству

Как мне стать ведущим разработчиком?

Как заслужить уважение членов команды как лидера команды?


«Хороший менеджер имеет большое влияние на счастье команды»: я думаю, что вы правы, но это поднимает другой вопрос «Может ли команда быть счастливой даже с бесполезным менеджером?»
Адриен Бе

4

Я думаю, что это баланс этих черт:

  • Технические навыки : Вы не хотите, чтобы кто-то руководил, который не может оценить качество работы, которую он / она направляет.
  • Самодостаточность : может определять цели и не реагировать.
  • Знает, как извлечь выгоду из конфликта : конфликт вызывает разговоры
  • Авто-дидактика : не важно, что он / она знает все, но знает, как учиться.
  • Хорошее отношение и энергия : вам нужен кто-то, кто мотивирует и облегчает работу каждого, а не дива, которая лает на заказы.
  • Опыт с неудачей : возможно, самый важный. Я видел очень молодых лидеров, которые могут не иметь проблем со всеми предыдущими, но при первых признаках неудачи они замирают или избегают ответственности. Старшинство не имеет никакого отношения к возрасту, но правильное количество правильного опыта, и неудача определенно что-то, чтобы рассмотреть.

OTOH, интервью является важной частью для выбора правильного человека, я бы порекомендовал вам задать следующие вопросы в интервью:

  • «Расскажи мне проект, где ты потерпел неудачу, как ты справился с этим и чему ты научился»
  • «Расскажите мне об одном случае, когда вы нарушили правила, чтобы добиться цели»
  • Примените тест Fizz Buzz с любым легким поворотом, который только можно придумать.

Тест FizzBuzz абсолютно необходим, будучи правильным или неправильным, он не так важен, как:

  • Время, необходимое ему / ей, чтобы ответить : 15 минут в среднем, 30 минут на границе нормально,> 30 минут НЕ ОК
  • Если он / она может отлаживать свой собственный код : у меня однажды был парень с 15-летним стажем, претендующий на руководящую должность ... ему потребовалось 40 минут, чтобы выполнить тест ... в псевдокоде ... получил это неправильно и не смог выяснить почему. У меня был еще один случай, когда другой парень провел около 5 минут, оправдываясь и не мог смириться с тем, что он был неправ.

1
+1. Каждый должен знать, как учиться.
СуперМ

Тест FizzBuzz предназначен для устранения людей с так называемыми inertia of mind, не так ли? Поработав некоторое время со сложными проблемами, большинство из нас не может найти простых решений для простых проблем.
СуперМ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.