Gerenciamento de engenharia de software — Insights de Peeyush Ranjan, vice-presidente de engenharia, Google

May 02 2023
Introdução Como engenheiro de software, tive a sorte de aprender com amigos e gerentes influentes do setor que subiram na hierarquia e compartilharam percepções valiosas ao longo de suas jornadas como líderes de engenharia. Nesta postagem, compartilharei algumas reflexões de um dos líderes com quem tive o prazer de interagir ao longo dos anos, Peeyush Ranjan, vice-presidente de engenharia do Google.

Introdução

Como engenheiro de software, tive a sorte de aprender com amigos e gerentes influentes do setor que subiram na hierarquia e compartilharam informações valiosas ao longo de suas jornadas como líderes de engenharia. Nesta postagem, compartilharei algumas reflexões de um dos líderes com quem tive o prazer de interagir ao longo dos anos, Peeyush Ranjan, vice-presidente de engenharia do Google. Peeyush tem um histórico impressionante como engenheiro de software e líder de engenharia, tendo atuado como diretor de tecnologia da Flipkart, um dos unicórnios de comércio eletrônico mais bem-sucedidos da Índia, e como vice-presidente de engenharia do Airbnb.

Estruturando uma organização para responsabilidade

Quando Peeyush assumiu o cargo de CTO na Flipkart, a equipe de engenharia já tinha cerca de 1.000 engenheiros, que cresceram para cerca de 1.500 sob sua liderança. Ele se propôs a criar uma organização estruturada de forma a permitir que ela operasse com responsabilidades específicas, garantindo que houvesse pessoas “go-to” para cada área. Dado que era um mercado de dois lados, por exemplo, ele criou um proprietário responsável para o lado do vendedor do negócio e um proprietário responsável para o lado do comprador do negócio. Essa abordagem eliminou a responsabilidade compartilhada ou difusa, tornando mais fácil chegar à raiz dos problemas e encontrar soluções quando algo não estava funcionando corretamente.

Ter as pessoas certas em posições de liderança

Peeyush também enfatizou a importância de ter as pessoas certas em posições de liderança dentro de cada unidade. Ele delineou um processo para identificar esses líderes que incluía entender seus valores, como eles operam e encontrar semelhanças em seu sistema de valores versus o deles. Como líder, é essencial ter pessoas que possam entender e seguir os valores e princípios que você traz para a mesa, criando um ambiente harmonioso que unifica a missão da empresa.

Garantir que os princípios da equipe estejam alinhados com os valores e princípios organizacionais

Uma das lições mais importantes para gerentes iniciantes é a importância de ter uma visão geral, garantindo que os princípios básicos de sua equipe estejam alinhados com os valores e princípios da organização. Cada equipe é uma peça de um quebra-cabeça maior, e o gerente de engenharia desempenha um papel crucial em garantir que sua equipe se encaixe perfeitamente nos objetivos mais amplos da organização.

Capacitação e Transparência na Criação de Equipes Eficazes

Os principais valores de Peeyush são capacitação e transparência, que são essenciais para criar uma equipe de engenharia eficaz. Os gerentes que capacitam suas equipes e ouvem seus comentários podem multiplicar a produtividade de sua equipe, tornando-a mais eficaz do que simplesmente aumentar o número de pessoas na equipe. Os engenheiros apreciam a transparência, portanto, os gerentes devem ser francos e honestos com suas equipes. A transparência gera confiança, facilitando o alcance de metas e objetivos em conjunto.

Uma maneira de conseguir isso é incorporar regularmente as passagens de gerenciamento em todos os níveis da hierarquia de liderança da empresa.

Deixe-me adicionar um pouco mais de contexto sobre por que os repasses de gerenciamento são importantes - o processo de cascata de informações e decisões dos níveis mais altos de gerenciamento para os níveis mais baixos é essencial por vários motivos em uma empresa de software:

  1. Alinhamento e Consistência: Os repasses garantem que todos os níveis de gerenciamento estejam trabalhando em direção às mesmas metas e objetivos, promovendo consistência na tomada de decisões e na alocação de recursos em toda a organização.
  2. Comunicação clara: ao transmitir informações e diretrizes, a administração pode garantir que todos os funcionários estejam bem informados sobre as prioridades, estratégias e expectativas da empresa, o que, por sua vez, permite que eles desempenhem suas funções com mais eficiência.
  3. Capacitação e responsabilidade: os repasses ajudam a delegar autoridade e responsabilidade de tomada de decisão a níveis mais baixos de gerenciamento, permitindo que eles façam escolhas informadas e se apropriem do desempenho de sua equipe.
  4. Adaptabilidade e capacidade de resposta: Os repasses de gerenciamento facilitam uma resposta mais rápida às mudanças nas condições do mercado ou às necessidades organizacionais, garantindo que as informações e decisões relevantes cheguem prontamente a todos os níveis.
  5. Colaboração e trabalho em equipe: repasses eficazes promovem a cooperação interdepartamental e o trabalho em equipe, mantendo todas as equipes informadas sobre iniciativas, desafios e sucessos em toda a empresa.
  6. Envolvimento e moral dos funcionários: quando os funcionários entendem os objetivos da empresa e seu papel para alcançá-los, é mais provável que se sintam engajados e motivados a contribuir para o sucesso da organização.
  7. Compartilhamento de conhecimento e desenvolvimento de habilidades: os repasses podem servir como uma plataforma para compartilhar as melhores práticas, lições aprendidas e experiência em diferentes equipes e níveis de gerenciamento, promovendo uma cultura de aprendizado contínuo e desenvolvimento de habilidades.

Construindo equipes autônomas que assumem riscos e inovam

Os insights de Peeyush sobre a criação de equipes autônomas que estão dispostas a assumir riscos e inovar ressoam com a mentalidade de crescimento que é essencial para a melhoria contínua. Essa abordagem incentiva as pessoas a encontrarem suas soluções e apresentarem suas ideias, construindo um ambiente de confiança e criatividade.

Alguns dos principais benefícios para a construção de equipes autônomas incluem:

  1. Tomada de decisão mais rápida: equipes autônomas têm autonomia para tomar decisões dentro de seu domínio, levando a tempos de resposta mais rápidos e reduzindo a necessidade de aprovação constante da gerência.
  2. Maior inovação: quando as equipes têm liberdade para experimentar e tomar decisões, é mais provável que apresentem soluções criativas e inovações que possam impulsionar a empresa.
  3. Maior produtividade: Com maior autonomia, as equipes podem gerenciar sua carga de trabalho e prioridades de forma mais eficaz, resultando em maior eficiência e produtividade.
  4. Melhor envolvimento dos funcionários: os funcionários em equipes autônomas tendem a sentir mais propriedade e responsabilidade por seu trabalho, levando a uma maior satisfação e engajamento no trabalho.
  5. Agilidade e Adaptabilidade: Equipes autônomas podem responder rapidamente às mudanças no mercado, nas necessidades dos clientes ou na tecnologia, tornando a empresa mais adaptável e resiliente.
  6. Escalabilidade: Ao capacitar as equipes para operar de forma independente, a organização pode escalar suas operações com mais facilidade, pois novas equipes podem ser adicionadas sem aumentar significativamente a sobrecarga de gerenciamento.
  7. Colaboração multifuncional: as equipes autônomas geralmente consistem em membros com diversas habilidades e conhecimentos, promovendo a colaboração multifuncional e o compartilhamento de conhecimento dentro da equipe.
  8. Burocracia reduzida: como as equipes autônomas exigem menos níveis de supervisão de gerenciamento, isso pode levar à redução da burocracia e burocracia, simplificando processos e acelerando a execução.
  9. Melhor alocação de recursos: equipes autônomas podem tomar decisões mais informadas sobre a alocação de recursos com base em seu conhecimento direto das necessidades e prioridades do projeto, levando a um uso mais eficiente dos recursos.
  10. Atração e retenção de talentos: uma cultura que apoia a autonomia e o empoderamento pode atrair os melhores talentos e ajudar a reter os funcionários, pois eles se sentem valorizados, desafiados e confiáveis ​​em suas funções.

Um dos aspectos mais desafiadores do gerenciamento de engenharia é a transição de colaborador individual para gerente. Peeyush observou que ser um grande engenheiro não significa necessariamente ser um grande gerente de pessoas. Um gerente de engenharia bem-sucedido precisa equilibrar o papel de gerente de pessoas empático e líder técnico, liderando e influenciando sua equipe sem ser arrogante.

Os líderes devem oferecer oportunidades para que sua equipe cresça e desenvolva suas próprias soluções, criando um sentimento de propriedade e orgulho de seu trabalho. Eles também devem desenvolver um profundo senso de cuidado com cada um de seus funcionários, entender seus objetivos de carreira específicos e ajudá-los a encontrar oportunidades que permitirão seu crescimento específico para seus objetivos de carreira. Lembre-se do velho ditado de que, na maioria dos casos, as pessoas não saem das empresas, elas deixam seus gerentes. Por serem gerentes empáticos e atenciosos que atendem seu estilo de liderança para acomodar as necessidades de cada um de seus funcionários, eles podem mitigar muito o risco de rotatividade e ajudar a construir uma equipe forte, orientada para a missão e que pode se unir para alcançar grandes coisas.

Identificando os principais líderes para iniciar uma equipe do zero

Os insights de Peeyush sobre como construir uma equipe de sucesso são inestimáveis ​​para quem inicia uma nova equipe. Ele enfatizou a importância de identificar os principais líderes que possuem a mentalidade certa para iniciar uma equipe do zero, a capacidade de trabalhar em situações ambíguas e o desejo de iniciar por conta própria.

Além disso, ele destacou a importância de aprender a representar seu pessoal e seu trabalho para o restante da organização, gerando confiança e promovendo o crescimento e desenvolvimento de sua equipe.

Considere os seguintes fatores ao escolher o líder para iniciar uma equipe do zero:

  1. Conhecimento Técnico: Escolha um líder que tenha uma sólida formação em engenharia de software e esteja familiarizado com as tecnologias e ferramentas relevantes para o seu projeto. Eles devem ser capazes de fornecer orientação técnica e tomar decisões informadas sobre práticas de arquitetura, design e desenvolvimento.
  2. Experiência: Procure um candidato com experiência anterior na construção e liderança de equipes de engenharia de software, de preferência em um domínio ou setor semelhante. Essa experiência os ajudará a entender os desafios e as melhores práticas para criar uma equipe de sucesso.
  3. Visão e Estratégia: O líder deve ter uma visão clara dos objetivos da equipe e ser capaz de desenvolver uma estratégia coerente para alcançá-los. Devem ser capazes de definir as prioridades da equipe e alinhá-las aos objetivos da empresa.
  4. Comunicação e habilidades interpessoais: A comunicação eficaz é crucial para um líder, pois ele precisará transmitir as metas, expectativas e progresso da equipe aos membros da equipe e às partes interessadas. Eles também devem ser capazes de ouvir ativamente e ter empatia com as preocupações e necessidades de sua equipe.
  5. Adaptabilidade e resolução de problemas: o líder deve ser capaz de se adaptar às mudanças nas circunstâncias, como novas tecnologias, mudanças de prioridades ou restrições de recursos. Eles devem ter fortes habilidades de resolução de problemas e ser capazes de encontrar soluções criativas para os desafios.
  6. Formação e motivação da equipe: o líder deve ter um histórico de construção de equipes coesas e de alto desempenho. Eles devem ser hábeis em identificar e recrutar talentos, criar uma cultura de equipe positiva e motivar os membros da equipe a realizar seu melhor trabalho.
  7. Tomada de decisão e delegação: o líder deve ser capaz de tomar decisões informadas e oportunas e delegar tarefas de forma eficaz, capacitando os membros da equipe a se apropriarem de seu trabalho.
  8. Resolução de Conflitos: Conflitos podem surgir dentro da equipe ou com partes interessadas externas, e o líder deve ser capaz de resolvê-los de forma construtiva e diplomática, encontrando soluções mutuamente benéficas.
  9. Mentoring e Coaching: O líder deve estar comprometido com o crescimento profissional dos membros de sua equipe, fornecendo orientação, mentoria e oportunidades de desenvolvimento de habilidades.
  10. Adequação cultural: o líder ideal deve estar alinhado com os valores e a cultura da sua empresa, pois terá um papel significativo na formação do ambiente e dos hábitos de trabalho da equipe.

Durante nossa conversa, ele compartilhou comigo sua abordagem de gerenciamento de engenharia eficaz, que ele comparou à de um pai. A analogia de Peeyush Ranjan entre gerentes de engenharia e pais é interessante e instigante. Como ele explicou, ambas as funções são responsáveis ​​por orientar e nutrir seus pupilos para atingir seus objetivos e atingir seu pleno potencial. Assim como um pai deve fornecer apoio, incentivo e um empurrão ocasional na direção certa para ajudar seu filho a crescer e ter sucesso, um gerente de engenharia deve fazer o mesmo pelos membros de sua equipe.

Isso me lembrou o antigo provérbio: “Dê um peixe a uma pessoa e você a alimentará por um dia. Ensine uma pessoa a pescar e você a alimentará por toda a vida.”

Este provérbio enfatiza a importância de ensinar às pessoas as habilidades de que precisam para se tornarem autossuficientes e independentes, em vez de simplesmente fornecer soluções temporárias para seus problemas. Ele destaca o valor da educação e do empoderamento na promoção do crescimento e da autossuficiência de longo prazo.

Este princípio também se aplica aos engenheiros da equipe e principais responsáveis ​​não apenas por partes importantes do produto, mas também por ajudar a nutrir e desenvolver engenheiros juniores em suas áreas.

Criando um ambiente de apoio e incentivo para os membros da equipe

Os membros da equipe têm diferentes pontos fortes, fracos e necessidades de desenvolvimento. Os gerentes de engenharia eficazes reconhecem essas diferenças e trabalham para fornecer suporte individualizado e oportunidades de desenvolvimento adaptadas às necessidades de cada membro da equipe. Eles devem estar sintonizados com as motivações, objetivos de carreira e interesses dos membros de sua equipe para criar um ambiente onde cada indivíduo possa prosperar.

Ao mesmo tempo, os gerentes de engenharia também devem fornecer um senso de direção claro e definir expectativas para os membros de sua equipe. Assim como um pai estabelece limites e expectativas para o comportamento de seu filho, um gerente de engenharia deve definir expectativas de desempenho claras, estabelecer responsabilidade e promover uma cultura de melhoria contínua. Eles devem fornecer feedback e treinamento regulares para ajudar os membros de sua equipe a crescer e se desenvolver, assim como os pais fazem com seus filhos.

Em última análise, o papel de um Gerente de Engenharia é fornecer um ambiente de apoio e estímulo onde os membros da equipe possam crescer, aprender e atingir todo o seu potencial. Usando a analogia de um pai, Peeyush destaca a importância da empatia, paciência e uma mentalidade de crescimento nessa função. Os gerentes de engenharia eficazes devem ser capazes de se colocar no lugar dos membros de sua equipe, antecipar suas necessidades e fornecer o nível certo de suporte para ajudá-los a ter sucesso.

Conclusão

Em resumo, a abordagem de Peeyush para o gerenciamento de engenharia se alinha com os princípios de responsabilidade, capacitação, crescimento e desenvolvimento de engenheiros e melhoria contínua. Suas percepções sobre a criação de equipes de sucesso e o fornecimento de liderança eficaz são inestimáveis ​​para qualquer pessoa que esteja iniciando uma nova equipe ou fazendo a transição para uma função de Gerente de Engenharia. Ao equilibrar liderança técnica com empatia e habilidades de gerenciamento de pessoas, os gerentes de engenharia podem criar um ambiente de apoio e estímulo que ajuda os membros de sua equipe a prosperar e atingir todo o seu potencial.

Um líder de sucesso deve adotar um estilo adaptativo, abstendo-se de entrar imediatamente e impor experiências ou abordagens anteriores cegamente, sem considerar o contexto único da organização atual. Em vez disso, eles devem adaptar suas estratégias de liderança às necessidades específicas da equipe e da empresa.

Leitura sugerida:

NOTA: Os links para os livros acima são links afiliados