a chave para o desenvolvimento de software eficaz é a colaboração.Nenhum grupo de indivíduos pode realizar tanto quanto uma equipe capaz de realmente trabalhar em conjunto.Isso significa aprender a navegar por diferentes tipos de personalidade, compreender suas próprias forças pessoais (e fraquezas), e deixar de lado as divergências para trabalhar em direção a um objetivo comum.
mas para fazer isso, você precisa ter alguma visão sobre os tipos de pessoas que você trabalha ao lado. Você precisa de empatia para suas experiências–e conhecimento prático de como eles se encaixam na dinâmica de equipe global.
no mundo do desenvolvimento de software, existem alguns tipos comuns de desenvolvedores que você está quase certo de encontrar (se você ainda não o fez). Enquanto nenhum indivíduo é uma caricatura na realidade, ter uma compreensão dos pensamentos e motivações daqueles em sua equipe pode ajudá-lo a aprender a trabalhar em conjunto de forma mais eficaz.Para os gestores de engenharia, também é fundamental identificar os pontos fortes, capacidades e tendências dos membros da sua equipa. Isso permite que você gerencie mais eficazmente os indivíduos e também pensar estrategicamente sobre como colocar as pessoas em uma posição de sucesso.
vamos olhar para alguns dos tipos mais comuns de engenheiros e quais os papéis que eles são mais adequados para desempenhar como parte de sua equipe.
Cavando em cada um desses desenvolvedor arquétipos, podemos obter um forte entendimento para o papel que eles são mais adequados para jogar dentro da equipe.
o assistente–ou o experiente veterano da equipe-é provavelmente mais adequado para liderar projetos principais e fornecer orientação para os desenvolvedores mais jovens. Embora eles são geralmente muito talentosos e conhecedores, seus anos de experiência são susceptíveis de levá-los a default para práticas de longa duração e evitar a mudança ou “inovação”.
no outro extremo do espectro, o Otimizador Infinito é provável que esteja em constante busca da mais nova e melhor maneira de fazer as coisas. Estas descobertas podem ajudar a equipe a tornar-se mais eficiente e eficaz, mas o esforço para a melhoria contínua pode torná-los menos confiáveis, entretanto.
a maioria da equipe de desenvolvimento é provavelmente composta por programadores diligentes. Estes engenheiros são confiáveis e consistentes, mas é improvável que eles introduzam novas ideias ou vão mais longe para se certificar de que o projeto é um sucesso.
desenvolvedores conhecidos como super-heróis contrastam com Programadores diligentes na medida em que eles são caracterizados por intensas explosões de produtividade. Infelizmente, ninguém consegue manter o nível de super-herói indefinidamente, o que significa que é importante gerir o seu tempo e energia. A chave é implantar suas tendências extremas em apenas um ponto crítico quando é mais necessário e menos propenso a comprometer a qualidade e consistência do trabalho da equipe.
alguns desenvolvedores trabalham melhor em isolamento e sem muita supervisão ou gestão. Consideramos estes desenvolvedores como os artistas isolados. Eles são muitas vezes associados com a mestria de nível gênio, mas podem pensar demais ou complicar projetos que não requerem pensamento intenso e focado.
a maioria das equipes vem a contar com certos desenvolvedores que têm uma incrível capacidade de encontrar a solução perfeita e exatamente o momento certo–a embraiagem. Estes desenvolvedores tendem a ser incrivelmente confiáveis em tempo de crise, mas só podem realmente prosperar sob um alto nível de pressão. Como Super-Heróis, é fundamental que eles estejam envolvidos nos projetos onde eles podem trazer o maior valor.
finalmente, temos desenvolvedores que são considerados a dor de cabeça. Estes são geralmente engenheiros juniores que às vezes podem cometer erros ou atrasar projetos. Mas nem tudo está perdido. Com a gestão e orientação certas, os desenvolvedores que começam como problemáticos podem muitas vezes melhorar e crescer para se tornarem membros críticos e confiáveis da equipe.Nenhum destes arquétipos é necessariamente “melhor”. Na verdade, a maioria das equipas irá–e provavelmente deveria–consistir numa mistura bastante uniforme em toda a linha. Isso significa que as equipes terão desenvolvedores que oferecem uma gama de pontos fortes e fracos de cortesia que podem ser reunidos por uma liderança eficaz.
a chave é compreender os estilos e hábitos individuais de cada desenvolvedor para que suas contribuições possam ser maximizadas e a equipe–como um todo–possa fazer o melhor trabalho possível.
os melhores gestores sabem e compreendem isto.
ao invés de impor expectativas rígidas e unilaterais em todos os tipos de desenvolvedor, um grande líder avaliará cada pessoa como um indivíduo para determinar quais as condições que eles precisam para prosperar.Com as pessoas certas nos papéis certos, todos serão capazes de desempenhar melhor.