Queria: um novo conjunto de habilidades de liderança em engenharia

Greger Teigre Wedel Segue 30 de junho · 5 min ler

Há algum tempo, fiz uma série sobre como os principais papéis na organização de engenharia mudam como resultado da introdução de práticas de devops. Cobri o arquiteto de software, o gerente do programa (na época, eu estava na Cisco e alguns dos projetos eram enormes) e o dono do produto, mas deixei de fora o gerente de engenharia e o gerente de produto como outras prioridades chamadas. Neste post, retorno às principais habilidades necessárias para a liderança de engenharia, independente do papel que você tem.

O que faz uma boa liderança é às vezes visto como mágica. É difícil acertar. Por outro lado, a liderança em engenharia pode às vezes parecer magia negra! Você normalmente não tem as vendas ou os aspectos financeiros, mas deve liderar pessoas que dizem que são motivadas por coisas estranhas que as pessoas normais nem sabem o que é, e o desenvolvimento da tecnologia é tão rápido que parece que é o último. as coisas novas da semana agora são antigas. E no desenvolvimento de software, você deve entregar um produto que, na melhor das hipóteses, parece confuso, em um horário pré-definido e com um número limitado de engenheiros, onde o indivíduo mais produtivo pode fornecer 10, 20 ou até 30 vezes menos indivíduo produtivo.

Um desafio é que você pode dobrar praticamente tudo: o que é enviado, a qualidade dos recursos que são enviados, a qualidade do código e a dívida técnica que você deixa para depois cortando cantos. E além disso você deve ser inovador e resolver os problemas do cliente de uma maneira “ deliciosa ”. Um bom líder de engenharia entende os clientes, os negócios e como resolver o problema dos clientes. Conseguir tudo isso é muito desafiador e porque eu amo construir coisas no código!

Fiz uma revisão rápida de vários programas de liderança em engenharia e descobri que o Programa de Liderança em Engenharia do MIT é um dos mais explícitos no que eles acreditam ser a liderança em engenharia. Eles enfatizam seis capacidades centrais em que cinco delas são comuns com a liderança geral: valores e caráter pessoais centrais, relacionados a outros, dando sentido ao contexto, visão, visão e conhecimento técnico e raciocínio.

Sabemos agora que uma característica fundamental de equipes de alto desempenho é a confiança entre seus membros, e os seres humanos são mais capazes de confiar nos outros quando se sentem seguros. Qualquer alteração introduz incerteza, o que novamente pode reduzir a sensação de estar seguro. Em um ambiente de desenvolvedores usado para codificar e resolver problemas na frente da tela, a introdução de devops pode ser uma mudança dramática. Sabemos da introdução de ágil que a tensão pode aumentar rapidamente. Devops é uma mudança ainda mais dramática em como os desenvolvedores trabalham. Assim, qualquer coisa que possa ser feita para aumentar a sensação de estar seguro é fundamental! Simon Sinek fez muito trabalho em liderança de confiança e esta rápida introdução aos seus pensamentos sobre a criação de um círculo de segurança é um bom uso do seu tempo.

Uma diferença interessante entre a Europa e os EUA é como a educação em administração nos EUA é vista como algo separado do nível profissional (MBA ou programas de liderança de engenharia). Na Europa, a liderança está inserida em programas de graduação profissional, e é mais frequente que um gerente tenha uma formação profissional e depois seja promovido com base no mérito para posições de liderança. Existem prós e contras com cada modelo. Na Europa, muitas vezes é um problema que a única carreira seja a gestão e as melhores pessoas em sua área se tornem gerentes. Você corre o risco de perder um ótimo especialista e ter um péssimo gerente. No entanto, se a transição der certo, você terá um gerente muito eficiente que sabe o que é importante e pode orientar os outros a fazer o melhor possível. Independentemente do modelo, é importante promover pessoas para posições de liderança que tenham uma verdadeira paixão por realizar grandes coisas através de outras pessoas, não apenas fazendo as coisas elas mesmas!

O Devops é uma abordagem para o desenvolvimento de software que só é possível se o seu produto é um serviço que você opera e controla, normalmente de uma nuvem pública ou privada. Isso é chamado de software como serviço (também conhecido como SaaS). Uma das principais características do devops é que a equipe que escreve o código também é responsável pela operação do serviço. Isso permite a modificação do código como uma resposta imediata a problemas, solicitações, necessidades de melhoria, aprendizados e solicitações de recursos. Jonathan Rosenberg, CTO da Cisco Collaboration, escreveu um post muito bom explicando o que isso realmente significa.

No entanto, quais são os requisitos de um bom líder de engenharia quando você desenvolve o software como um serviço? Vamos ver algumas das coisas relevantes que mudam com o devops:

  • O gerenciamento de projetos clássicos torna-se difícil, pois não há projeto, apenas muitos pequenos trechos de trabalho sendo feitos em paralelo
  • Realizar as necessidades do cliente e os resultados de negócios desejados se tornam uma entrega mais direta à medida que todo o processo de desenvolvimento do produto é condensado no processo de devops.
  • As responsabilidades da equipe ficam muito maiores, e o tipo de pessoas e o número de funções se expandem, onde QA, operações, segurança e outras funções precisam ser atendidas por uma equipe integrada.
  • Pode fazer sentido organizar o gerenciamento de produtos, o gerenciamento de marketing de produto, os engenheiros técnicos de marketing, bem como o suporte para o mesmo grupo.
  • A arquitetura do que você constrói normalmente muda de uma parte integrada do código para muitos componentes menores e fracamente acoplados (chamados de micro-serviços ). Isso tem um impacto sobre como as equipes são organizadas e como elas funcionam
  • O pipeline de implantação contínua e sua infraestrutura de teste se tornam ativos críticos
  • Confiabilidade e tempo de atividade tornam-se importantes em áreas onde você anteriormente poderia ser negligente (como seu servidor de compilação)
  • A equipe se torna responsável por fornecer as principais métricas de negócios

Esta lista não é de forma alguma exaustiva, mas oferece um sabor do tipo de mudanças que uma equipe experimenta ao introduzir o devops. Há uma coisa imediata que é óbvia: o escopo do trabalho do líder de engenharia cresceu tremendamente, tanto em áreas de tópicos e tipos de pessoas e entregas. Isso exige um tipo muito diferente de gerente de engenharia do que a abordagem clássica de “primeiro entre pares”, na qual o desenvolvedor mais graduado também recebe responsabilidade de gerente.

Nas novas organizações de engenharia centradas em devops, os líderes de RH e senior precisam de uma abordagem muito mais sistemática para educar seus líderes de engenharia e treinar, treinar e orientar pessoas para alcançar um amplo conjunto de habilidades de liderança e que também prosperem nos desafios de liderança. organizações de software.