O que faz um bom arquiteto / gerente / desenvolvedor líder?

12

Sou o desenvolvedor líder de uma pequena empresa de software. Nos últimos dois anos, minha equipe passou de um desenvolvedor (eu) para um grupo de nove pessoas. Muitos de nós somos engenheiros seniores muito capazes (mais de 20 anos de experiência na criação de software por pessoa); portanto, geralmente é necessário poupar muito pouco. Usamos o Scrum para gerenciar nossos esforços e geralmente fazemos muito rapidamente com requisitos mínimos por escrito.

À medida que a equipe cresce, cheguei ao ponto em que é difícil para mim manter a supervisão técnica de todo o projeto e também escrever quantidades significativas de novo código, então é hora de ajustar minha função. Como posso me tornar mais útil para a equipe quando não passo mais a maior parte do tempo desenvolvendo?

Meu objetivo é permitir que meu grupo cresça ainda mais (ou seja, aumentar a velocidade do Scrum) adicionando mais desenvolvedores , para que eu não queira simplesmente me tornar a "polícia da arquitetura" que impõe minha vontade à equipe. Em outras palavras, eu quero ser o cara que ajuda as coisas a trabalhar melhor / mais suavemente, em vez de ser o cara que diminui a velocidade adicionando uma camada desnecessária de burocracia. Ainda assim, um de nossos principais riscos é que tudo ficará fora de controle se adicionarmos mais pessoas sem estrutura suficiente para manter todos na mesma página.

Qual é a melhor maneira de alcançar meu objetivo?

brianberns
fonte
6
Não tenho certeza de que seja uma resposta, mas eu pessoalmente gostaria que você mantivesse a (s) equipe (s) organizada (s) e personalizasse um pouco sua gerência. Saiba no que eles estão trabalhando, mantenha-se atualizado com o que eles estão trabalhando, etc. Quando não estiver organizando-os como um grupo, participe de revisões de código, ajude a escrever módulos que precisam de um pouco de ajuda extra e talvez gaste tempo com desenvolvedores individuais. Eu tive um gerente ou dois que não foram úteis e não nos acompanharam para ver como as coisas estavam indo - mas também não queriam saber (sim, gerente ruim).
22612 Simon
Acho que todos os papéis que você mencionou no título têm especificidades diferentes e usam diferentes conjuntos de habilidades. Qual é esse?
Euphoric
3
Requisitos detalhados e "camada desnecessária de burocracia" não são os mesmos. Os requisitos podem salvar sua vida, especialmente quando se trabalha com uma grande equipe. Não subestime o poder deles.
SuperM

Respostas:

12

Se você estivesse em um time como este, o que você gostaria que seu chefe fizesse com o tempo dele?

  1. Remova os impedimentos ao progresso.
  2. Mediar disputas entre os membros da equipe.
  3. Interaja com pessoas de negócios para que não precisemos.
  4. Mantenha-nos informados sobre os assuntos de negócios / projetos de nível superior, para que não nos sintamos isolados.
  5. Mantenha-nos honestos, especialmente se / quando uma maçã podre entrar na equipe.
  6. Seja um defensor da equipe para outros departamentos.
  7. Seja a voz unificada da resposta contra solicitações comerciais irracionais.
  8. Facilitar a comunicação entre a equipe.

Provavelmente estou esquecendo um monte, mas esse é o núcleo disso. Não implemente processo, lide com parte dessa sobrecarga / ineficiência que se desenvolve naturalmente à medida que o tamanho da equipe aumenta.

Telastyn
fonte
5
Não posso deixar de sentir que esta lista é muito negativa. Isso é como "me proteja de coisas ruins". E o impacto positivo ?
24512 Nicole
1
@ NickC Eu pensei que o acima é parte do trabalho do gerente. O que você quer dizer com impacto positivo ?
BЈовић
2
@nickC eh, costumo ter uma visão negativa das coisas, mas também na minha experiência, reduzir o impacto negativo tem o maior impacto positivo na produtividade e no moral de uma equipe. Especialmente se você estiver preocupado em trabalhar com pessoas com processos.
Telastyn 24/08/12
@NickC Concordo plenamente com Telastyn, no final, sua lista pode apenas destacar o que os desenvolvedores enfrentariam se não tivessem um líder técnico. Embora, mais pontos positivos possam ser adicionados, ie. "Os bons líderes técnicos têm uma visão geral da direção técnica do produto e garantem que a equipe o entenda. Eles delegam áreas de recursos a outros membros da equipe e permitem que tomem suas decisões. Eles reconhecem que os membros da equipe são inteligentes, confiam neles, e confiar neles para lidar com partes significativas do projeto ". consulte engineering.foursquare.com/2014/01/30/…
Adrien Seja
6

Eu não teria problemas com um líder de equipe capaz de equilibrar tarefas administrativas e técnicas, mas é difícil encontrar pessoas que se saiam bem ao gerenciar esse equilíbrio.

Se eu tivesse que escolher entre os dois extremos de um líder de equipe em uma equipe em crescimento ... é uma escolha realmente difícil, mas, no final das contas, acho que quero que o líder de equipe se torne mais um gerente. Em uma equipe considerável, você esperaria que houvesse outros candidatos para assumir a função de desenvolvedor sênior que poderia alimentar os membros mais novos da equipe e ainda fazer algum trabalho pesado no desenvolvimento.

Mas em uma equipe em crescimento, você definitivamente também desejaria um bom gerente. De fato, é importante ter uma boa pessoa com o título administrativo, porque você quer que ele tenha poder suficiente para tomar boas decisões. Um bom gerente tem uma grande influência sobre a felicidade de uma equipe e exatamente pelos motivos que você indica; ajudando a mantê-los produtivos - e bom para você por pensar como é. Há muitos gerentes que não dão a mínima.

Eu recomendaria algumas outras postagens aqui nos programadores. Embora sejam mais voltados para o líder da equipe do que para uma função gerencial oficial, eles podem ajudar:

Fazendo a mudança para Team Leading

Como faço para ter sucesso como desenvolvedor líder?

Como conquistar o respeito dos membros da equipe como líder da equipe?

Bernard Dy
fonte
"Um bom gerente tem uma grande influência sobre a felicidade de uma equipe": acho que você está certo, mas isso levanta outra questão: "Uma equipe pode ser feliz mesmo com um gerente inútil?"
Adrien Seja
4

Eu acho que é um equilíbrio dessas características:

  • Habilidade técnica : você não quer alguém que lidere que não possa avaliar a qualidade do trabalho que está dirigindo.
  • Auto-orientado : pode definir objetivos e não ser reativo.
  • Sabe como capitalizar conflitos : conflitos geram conversas
  • Auto-didático : Não é importante que ele saiba tudo, mas saiba aprender.
  • Boa atitude e energia : você quer alguém que motive e facilite o trabalho de todos, não uma diva que ordena.
  • Experiência com o fracasso : possivelmente o mais importante. Eu já vi líderes muito jovens que podem não ter nenhum problema com o anterior, mas, ao primeiro sinal de fracasso, congelam ou evitam a responsabilidade. A antiguidade não tem nada a ver com a idade, mas a quantidade certa da experiência certa e o fracasso é definitivamente algo a considerar.

OTOH, a entrevista é uma parte importante para obter a pessoa certa. Recomendamos que você faça as seguintes perguntas na entrevista:

  • "Conte-me um projeto em que você sofreu uma falha, como conseguiu e o que aprendeu com ele"
  • "Conte-me sobre uma vez em que você violou as regras para fazer as coisas"
  • Aplique o teste do Fizz Buzz , com qualquer leve toque que você possa imaginar.

O teste do FizzBuzz é absolutamente obrigatório, sendo certo ou errado, não é tão importante quanto:

  • O tempo que leva para ele responder : 15 min em média, 30 min em limite ok,> 30 min NÃO OK
  • Se ele é capaz de depurar seu próprio código : uma vez, um cara com 15 anos de experiência se candidatou a uma posição sênior ... ele levou 40 minutos para concluir o teste ... em pseudocódigo ... errado e não conseguia descobrir o porquê. Eu tive outro caso em que outro cara passou cerca de 5 minutos se justificando e não podia aceitar que ele estava errado.
dukeofgaming
fonte
1
+1. Todos devem saber aprender.
SuperM
O teste do FizzBuzz é eliminar pessoas com os chamados inertia of mind, não é? Depois de lidar com problemas complicados por um tempo, a maioria de nós não consegue encontrar soluções simples para problemas simples.
SuperM