Я ведущий разработчик для небольшой компании по разработке программного обеспечения. За последние два года моя команда выросла из одного разработчика (меня) в группу из примерно девяти человек. Большинство из нас - очень способные старшие инженеры (20+ лет опыта в создании программного обеспечения на человека), поэтому, как правило, требуется совсем немного ручного труда. Мы используем Scrum для управления нашими усилиями, и мы обычно быстро справляемся с минимальными письменными требованиями.
По мере того, как команда росла, я пришел к тому, что мне трудно сохранять технический контроль над всем проектом, а также сам писать значительные объемы нового кода, поэтому пришло время изменить свою роль. Как я могу сделать себя наиболее полезным для команды, когда я больше не трачу большую часть своего времени на развитие?
Моя цель состоит в том, чтобы позволить моей группе расти еще больше (т.е. увеличивать скорость Scrum), добавляя больше разработчиков , поэтому я не хочу просто становиться «полицией архитектуры», которая навязывает мою волю команде. Другими словами, я хочу быть парнем, который помогает вещам работать лучше / плавнее, а не парнем, который замедляет процесс, добавляя ненужный слой бюрократии. Тем не менее, один из наших главных рисков заключается в том, что вещи выйдут из-под контроля, если мы добавим больше людей, не имея достаточной структуры, чтобы держать нас всех на одной странице.
Каков наилучший способ достижения моей цели?
источник
Ответы:
Вероятно, есть куча, которую я забыл, но в этом суть. Не реализуйте процесс, обработайте некоторые из этих накладных расходов / неэффективности, которые естественным образом развиваются по мере увеличения размера команды.
источник
У меня не было бы проблем с руководителем группы, который был в состоянии сбалансировать как управленческие, так и технические обязанности, но трудно найти людей, которые хорошо справляются с этим балансом.
Если бы мне пришлось выбирать между двумя крайностями из лидерства команды в растущей команде ... это действительно сложный выбор, но в конечном итоге я бы хотел, чтобы лидерство команды стало больше менеджером. В большой команде вы бы надеялись, что найдутся другие кандидаты, вступившие в должность старшего разработчика, которые могли бы воспитать новых членов команды и при этом сделать тяжелую работу в процессе разработки.
Но в растущей команде вам наверняка понадобится хороший менеджер. На самом деле, иметь хорошего человека со званием руководителя очень важно, потому что вы хотите, чтобы у него было достаточно власти для принятия правильных решений. Хороший менеджер имеет большое влияние на счастье команды и именно по тем причинам, которые вы указываете; помогая поддерживать их продуктивность - и хорошо для вас, чтобы думать, как вы. Есть много менеджеров, которые не дают крысу задницу.
Я бы порекомендовал несколько других постов здесь, в Программисты. Хотя они больше ориентированы на командное руководство, чем на официальную управленческую роль, они могут помочь:
Переход к командному руководству
Как мне стать ведущим разработчиком?
Как заслужить уважение членов команды как лидера команды?
источник
Я думаю, что это баланс этих черт:
OTOH, интервью является важной частью для выбора правильного человека, я бы порекомендовал вам задать следующие вопросы в интервью:
Тест FizzBuzz абсолютно необходим, будучи правильным или неправильным, он не так важен, как:
источник
inertia of mind
, не так ли? Поработав некоторое время со сложными проблемами, большинство из нас не может найти простых решений для простых проблем.