A comparação da produtividade de desenvolvedores e times é tema constante de estudos e controvérsias na área de desenvolvimento de sistemas. Desde a década de 60, diversos estudos comparam a relação entre a produtividade de programadores e seu nível de experiência. Esta diferença pode ser analisada sob diversos prismas tais como: tempo de codificação, tempo gasto com debug e velocidade de execução do programa implementado. Segundo estes critérios, estes estudos apontaram que programadores mais produtivos apresentam uma produtividade 25 vezes superior a um profissional de qualidade inferior.
Ao longo do tempo, diversos estudos referentes a este tema foram realizados e os resultados, de maneira geral, apresentaram uma diferença sempre em torno de 10:1, ou seja, os melhores desenvolvedores eram 10 vezes mais produtivos do que os piores desenvolvedores. Estes resultados inspiraram a criação do termo "Desenvolvedor 10X".
Esta denominação tem ganhado força e destaque recente, como por exemplo, em diversos artigos, posts e palestras que abordam temas referentes a formação de desenvolvedores 10x.
Vivek Haldar, desenvolvedor indiano e PhD na Universidade da Califórnia, traz uma visão diferenciada em um post no seu blog. Para Vivek, é um mito e uma falácia a visão de que um desenvolvedor pode ser 10 vezes mais produtivo que a média.
As pessoas costumam pensar que os desenvolvedores 10x podem produzir toneladas de código em um curto período de tempo ou construir sistemas robustos do zero. Isso pode até ser verdade, mas é somente um efeito colateral e não a causa raiz de sua produtividade.
Para contrapor o mito do 10x, o autor do post cunha o termo desenvolvedor 0.1x, afirmando inclusive, que é este o perfil que deve ser valorizado pelos profissionais responsáveis pela contratação de talentos. Segundo Haldar, o grande segredo dos profissionais altamente produtivos baseia-se no fato de serem capazes concentrar seus esforços em 0.1% da solução que apresenta o maior impacto no resultado final.
Mais do que isso, o autor defende que o grande diferencial deste tipo de profissional está em sua capacidade de identificar pontos especiais do projeto, onde o profissional 0.1x deva atuar:
O que os torna especiais é sua habilidade em identificar o que seria esse décimo. (...) Isto costuma exigir além de profundo conhecimento técnico, um alto nível de conhecimento nas entranhas dos problemas relacionados ao negócio.
O post gerou algumas discussões interessantes em seus comentários. Foram levantados pontos como por exemplo a opinião de que empresas não buscam desenvolvedores 10x pois não são capazes de oferecer uma remuneração 10 vezes superior a média. Em um outro comentário, o leitor diz que este perfil de profissional só é encontrado em pequenas empresas, caracterizadas por uma menor burocracia e desafios ambiciosos.
Independentemente da denominação, é consenso que um desenvolvedor altamente produtivo (10x ou 0.1x) é um profissional altamente eficiente e cuja habilidade extrapola o conhecimento técnico ou a resolução técnica de um problema específico.
Você concorda com essas classificações 10x e 0.1x? Em qual delas você se enquadraria? Quais seriam os grandes diferenciais, em sua opinião, de desenvolvedores altamente produtivos?