- Na indústria de software, existe o mito do "engenheiro 10x", ou seja, alguém supostamente 10 vezes mais produtivo do que os colegas
- Porém, esse conceito tem base frágil e traz o risco de reforçar vieses ou estabelecer padrões irreais
Medir produtividade é complexo e imperfeito
- Como medir produtividade?
- As áreas com que engenheiros lidam são variadas: microprocessadores, IoT, bancos de dados, serviços web, UX etc.
- As linguagens e frameworks usados também variam: Golang, Python, COBOL, Lisp etc.
- É necessário conhecimento especializado sobre tecnologias adjacentes, mercado e produto: segurança, visualização de dados, marketing, finanças etc.
- O estágio de desenvolvimento e a escala do produto também diferem: pode ser um rover de exploração de Marte ou um software simples
- A tecnologia muda
- Até mesmo engenheiros que foram excelentes no passado podem, com o tempo, ficar para trás em tecnologias específicas
- Mesmo que alguém tenha sido um "engenheiro 10x" em uma área específica, em outra pode estar apenas na média
O software pertence à equipe, não ao engenheiro
- A qualidade do software é determinada não pelo desempenho individual, mas pelo desempenho da equipe
- Não importa o quão rápido uma pessoa escreva código: se o processo da equipe for lento, no fim a velocidade será a mesma
- Mais tempo é gasto com testes, revisão, deploy e manutenção do que com a escrita de código
- Quando um engenheiro específico concentra a propriedade do software, o desaparecimento dessa pessoa cria um grande risco
- Uma estrutura de desenvolvimento de software centrada na equipe é mais estável no longo prazo
As melhores organizações de engenharia são aquelas onde engenheiros "normais" conseguem ter ótimo desempenho
- As melhores organizações de engenharia não são necessariamente aquelas formadas apenas por engenheiros excepcionais
- O importante é um ambiente em que engenheiros comuns consigam entregar bons resultados no dia a dia e continuar evoluindo o produto e o negócio
- A equipe precisa ser capaz de entender o sistema e realizar rotineiramente deploys de código, responder aos usuários e resolver problemas
- As melhores organizações de engenharia são ambientes em que engenheiros normais podem crescer e entregar resultados
A importância dos engenheiros "normais"
- A indústria de software tem uma forte tendência a valorizar "pessoas brilhantes"
- A Netflix afirma preferir talentos do "top 10%", e a Coinbase diz preferir talentos do "top 0,1%"
- Porém, a maioria das pessoas é comum → é necessário um sistema em que pessoas comuns possam gerar resultados
- Engenheiros de software não nascem prontos; eles evoluem por meio de treinamento e experiência
Construindo sistemas sociotécnicos para "pessoas normais"
- Os sistemas devem ser projetados para que "pessoas normais" consigam usá-los com facilidade
- É preciso considerar características humanas comuns:
- Há vieses cognitivos, como viés de confirmação, viés de recência e efeito halo
- Fadiga e estado emocional afetam o desempenho
- Se um alarme toca às 3 da manhã, a chance de erro é maior do que às 3 da tarde
- Quando o sistema é intuitivo e fácil de usar, a energia do engenheiro pode se concentrar em melhorar o produto
Grandes organizações de engenharia formam engenheiros de classe mundial
- Uma grande organização de engenharia não é aquela que apenas possui talentos excepcionais, mas aquela em que engenheiros comuns conseguem crescer
- Em uma boa organização, até engenheiros de nível médio conseguem entregar resultados e evoluir continuamente
- Os melhores engenheiros surgem naturalmente desse tipo de ambiente
Devemos contratar a "pessoa certa", não a "melhor pessoa"
- É mais importante encontrar "a pessoa certa para a nossa equipe" do que "o melhor talento"
- O sistema deve promover o desempenho da equipe acima do desempenho individual
- É preciso um ambiente em que trabalho em equipe e colaboração importem mais do que resultados individuais
- Uma cultura inclusiva e justa aumenta o desempenho e oferece oportunidades para que engenheiros de diferentes origens possam crescer
Conclusão
- O "engenheiro 10x" pode até existir na prática, mas conectá-lo ao desempenho da equipe é algo difícil e arriscado
- Grandes organizações de engenharia não dependem de alguns gênios, e sim de uma estrutura em que engenheiros comuns consigam entregar resultados
- O sistema deve reforçar o desempenho da equipe acima do desempenho individual
- O ponto central é criar, por meio de uma cultura e de sistemas inclusivos, um ambiente em que engenheiros comuns possam crescer e gerar resultados
3 comentários
Numa empresa em que só há engenheiros 100x, os engenheiros 100x são o normal. O normal é importante. Mais importante ainda é elevar o padrão do que se considera normal…
Acho que os engenheiros de software 10x ou 100x de que pessoas como Steve Jobs falavam significam o seguinte.
Em trabalhos como construção civil, entrega e direção, é difícil que até o profissional mais habilidoso seja mais de 2 vezes mais eficiente do que uma pessoa comum. Já em áreas como software e finanças, alguém muito bom às vezes produz entregas que 100 pessoas medianas jamais conseguiriam fazer.
Formação de talentos é importante, mas seleção de talentos também é. Parece haver uma grande diferença entre treinar e selecionar. Não dá para misturar as duas coisas e confundi-las.
Comentários do Hacker News
A ideia de que engenharia de software é algo especial tende a ser tóxica
Não existe engenheiro "normal"; há desenvolvedores em vários níveis
Software é desenvolvido por indivíduos, não por equipes
Há oposição à desumanização e à categorização da classe trabalhadora
Há decepção com a IEEE por tratar de algo que parece clickbait
Engenheiros 10x são criativos e se preocupam com a experiência do usuário e a manutenção do código
O conceito de engenheiro 10x é exagerado, mas existem algumas pessoas que fazem muita coisa
O trabalho de engenharia tem características diferentes de outras profissões
Às vezes bate um sentimento de impotência ao se comparar com os outros
Muitos engenheiros trabalham por dinheiro, e sem paixão é difícil se tornar um engenheiro excepcional