Ter muitos programadores seniores em uma equipe pode ser uma coisa ruim?
Por assim dizer, 4-5 programadores seniores em uma equipe de 6-7 pessoas. Qual é o número / proporção ideal para esse tipo de situação?
Isso pode levar a muita filosofia e argumentos sobre idéias?
Alguém já teve essa experiência, que pode compartilhar comigo?
Respostas:
Se eu pudesse escolher, eu teria de 6 a 7 idosos em uma equipe (assumindo que o projeto precise de tantos).
A única vez em que vejo que isso é um problema é se os idosos são apenas idosos em autopercepção e não trabalham ética.
Não há nada melhor do que trabalhar com um grupo de pessoas que apreciam que todo desenvolvimento de software é importante - a documentação, o planejamento, o código, o café, tudo isso importa e é preciso que os desenvolvedores maduros (realmente idosos) estejam "acima" nada "e faça o trabalho corretamente.
EDIT : Muitas outras respostas disseram que muitos líderes são um problema - mas por que existe a percepção de que um sênior deve liderar? Um idoso deve ter maturidade suficiente para escolher um líder e segui-lo. É o projeto que importa - escolha / consiga um papel e agite-o bobo!
fonte
O maior problema que vejo ao carregar uma equipe com programadores seniores é que isso pode enfraquecer outras equipes. Se você tem desenvolvedores juniores em outras equipes que precisam de orientação e orientação, pode ser necessário mudar as pessoas.
Claro que pode , mas eles devem estar maduros o suficiente para saber quais diferenças são importantes e quais não são. Se você designou um líder de equipe respeitado, esse tipo de argumento filosófico deve ser minimizado com pouco esforço.
fonte
Definitivamente.
Sou um grande defensor do padrão da equipe cirúrgica de Fred Brooks .
E com isso dito, se os idosos de uma equipe de desenvolvimento não souberem quem é o "cirurgião-chefe", entrarão em conflito com importantes decisões de arquitetura e estarão seguindo direções diferentes em detrimento da equipe.
PS A necessidade de um "cirurgião chefe" por uma equipe de desenvolvimento é semelhante à necessidade de um maestro por uma orquestra. Em ambos os casos, você provavelmente terá muitos veteranos; mas você terá uma ótima bagunça sem uma pessoa que esteja indiscutivelmente no comando.
fonte
Depende de como as responsabilidades são distribuídas. Se TODOS os Srs. Devs tiverem responsabilidade igual em design, revisão de código, etc ..., isso poderá se tornar um problema. Se eles recebem responsabilidades diferentes, de modo que possam trabalhar sem brigar pelo controle dos domínios um do outro, isso não deve ser um problema - por exemplo, um desenvolvedor sênior recebe a responsabilidade principal do design do projeto, outro é responsável por configurando e mantendo o repositório de origem, outro fica encarregado dos testes de unidade, etc ...
fonte
Não necessariamente. Trabalhei em pequenas equipes de desenvolvedores seniores altamente produtivos. O nível do discurso era muito alto e não havia rancor.
Com o TDD, existem muito poucos grandes compromissos com a arquitetura de software, portanto, há pouca necessidade de discutir sobre eles. As decisões de projeto podem ser resolvidas simplesmente implementando as duas abordagens e vendo qual delas funciona melhor. Como os desenvolvedores são muito rápidos, o custo desses testes é muito baixo.
fonte
Sim, pode haver o problema de ter muitos cozinheiros na cozinha para uma metáfora que possa ser aplicada. Também poderia ser bastante caro se todos esperassem altos salários. Observe que isso está apenas verificando a existência de um caso ruim e não diz nada sobre sua probabilidade.
O ideal depende de várias variáveis que você não está divulgando. Qual métrica você deseja usar, percebendo que há uma boa chance de alguns jogos do sistema aqui. Da mesma forma, quais restrições você tem em seu mundo que podem torná-lo diferente do que o Google ou a Microsoft podem ter em contraste.
Muitos desenvolvedores seniores podem ter o problema de não ter convenções ou convenções em excesso. Embora alguns desenvolvedores seniores possam ser bons em adaptação, se é provável que nenhum deles introduza uma convenção, por onde uma equipe começaria? Por outro lado, pode haver alguns desenvolvedores seniores que são fãs durões de algumas convenções que podem exigir alguma resolução de conflito para serem resolvidos.
fonte
Eu acho que depende das personalidades dos idosos. Se eles são arrogantes e argumentativos, pode ser uma coisa ruim. Mas se todos são respeitosos, abertos a outros pontos de vista e dispostos a aprender um com o outro, então você tem uma ótima equipe.
Atualmente, trabalho em uma equipe de 8 pessoas, das quais 5 ou 6 são seniores, e funciona muito bem para nós. Nós nos damos bem, aprendemos uns com os outros, e é um ótimo ambiente de mentoria para os caras mais novos que temos.
fonte
Trabalhei em uma equipe onde havia 1 desenvolvedor líder, 4 desenvolvedores seniores e 1 desenvolvedor intermediário. E devido ao motivo de um membro "sênior" da equipe não ser uma pessoa realmente madura (bom desenvolvedor), acabou sendo um pesadelo. Ele tentou provar o tempo todo (implícita ou explicitamente) que outros membros da equipe não são seniores o suficiente. Ele também não entendeu os princípios básicos do desenvolvimento de software e as especificidades do nosso produto e, portanto, tentou de maneira arrogante e teimosa provar que ele estava certo. Como resultado, afetou seriamente a eficácia da equipe. A parte triste é que nem havia muita discussão sobre idéias / soluções - era uma discussão sobre nada . Por exemplo:
Mas admito que foi uma exceção. Eu quero acreditar que os idosos se comportam corretamente na maioria das vezes :)
fonte