Para se tornar um líder técnico, os seguintes são essenciais
-
A capacidade de orientar os membros da equipe em todos os níveis de senioridade, de alguém que ficou fora da universidade por três meses a uma pessoa que está programando há 30 anos
-
Um bom conhecimento do seu domínio de desenvolvimento. Isso inclui: idiomas, estruturas, utilitários, ambientes de desenvolvimento
-
Uma sólida compreensão dos sistemas de gerenciamento de problemas, habilidades de gerenciamento de projetos e controle de versões
-
Seja o assassino de bugs de perto
-
Saiba como conduzir revisões de código oportunas, o que procurar e como minimizar a quantidade de tempo que elas levam para manter e as alterações a serem feitas
-
Mantenha-se atualizado com os desenvolvimentos no seu domínio de desenvolvimento. Por exemplo, se você não aprendeu novas estruturas ou tecnologias a partir do .NET 2, você estaria fazendo as coisas de uma forma bastante atrasada hoje.
-
Como escrever testes de unidade e simulações e fazer com que seus desenvolvedores as gravem também
-
Conhecimento de quais padrões de design são e quando usá-los
-
Conhecimento do que o código cheira e como mitigá-lo
-
Integração contínua
-
A capacidade de planejar projetos e lançamentos
Dependendo da sua organização e da existência de arquitetos na equipe, você provavelmente precisará saber o seguinte:
-
A capacidade de compor seus projetos e dividi-lo em partes funcionais
-
Uma compreensão completa da segurança, incluindo a maneira correta de lidar com senhas, separar sistemas, proteger dados, etc.
-
Conceitos de empresa, como barramentos de serviços, filas de mensagens, BizTalk
-
Padrões de design corporativo
-
Arquiteturas de serviço / RPC, como SOAP e REST
-
estruturas ORM, como Hibernate, Entity Framework, Doctrine
-
Implantação contínua
-
A nuvem
-
A capacidade de recomendar as tecnologias corretas para usar em um projeto. Isso pode ser difícil se sua equipe / loja fizer apenas .NET, PHP ou Java.
-
Projete o aplicativo de modo que futuros aprimoramentos sejam facilmente acomodados
Se você for um gerente de desenvolvimento, também precisará:
- Entrevistando habilidades e como encontrar a equipe certa
- Como lidar com problemas de pessoas com os membros da sua equipe
- Gerenciando diretivas / metas de negócios e convertendo as relevantes para informações para seus desenvolvedores
- A capacidade de estimar o tempo para programadores de habilidades variadas
- A capacidade de alocar tarefas para os desenvolvedores corretos com base em suas habilidades e habilidades
E finalmente, alguns outros pontos recomendados:
-
Aprenda fora do seu domínio de desenvolvimento
-
Aprenda a dizer NÃO quando as coisas não são possíveis ou estão fora do escopo ou conflitam com restrições, como orçamento ou tempo.
Gerenciar uma equipe é um papel desafiador para estar dentro Você precisa ser a pessoa que pode responder a qualquer pergunta, você precisa saber as tecnologias certas para usar (a menos que você tenha um arquiteto), você tem que ter habilidades de gestão de pessoas e ser acessível por sua equipe (assumindo uma posição de gerenciamento). Além disso, você precisa ter habilidades precisas de estimativa para garantir a lucratividade do projeto e precisa ser capaz de sujar as mãos com o código de qualquer pessoa para identificar problemas e corrigi-los rapidamente. Você precisa evitar fazer tudo sozinho e promover um ambiente de equipe que não seja tóxico. Você precisa estar sempre no topo de sua pilha de tecnologia e conhecer os mais recentes desenvolvimentos e técnicas, bem como tendências mais amplas do setor.
Você também deve conhecer pelo menos uma plataforma de banco de dados e conhecê-la bem. Saiba como fazer replicação, procedimentos armazenados, como o otimizador de consulta funciona e como projetar um esquema corretamente e quais campos indexar.
Independentemente da posição exata, qualquer função sênior exige que você tenha a capacidade de se comunicar de forma eficaz. Se você não é um orador confiante, procure fazer algo como Toast Masters (falar em público). Aprenda como para fazer e manter contato visual. Seja confiante. Vista-se adequadamente para a posição. Liderar pelo exemplo.