10x desenvolvedores são as criaturas míticas do nosso tempo.
O que são eles? O que eles fazem para serem tão especiais?
O que significa 10x sequer? Um programador 10x é alguém que é (pensa-se que seja) tão produtivo como 10 outros. Ele/ela seria, portanto, capaz de produzir 10 vezes o resultado dos seus colegas.
Do que estamos realmente a falar?
Se um Engenheiro Sênior fosse 10 vezes mais produtivo que um estagiário, mas seria realmente possível entre colegas com os mesmos anos de experiência e pelo menos no papel o mesmo nível de habilidades?
Muitas vezes ao ler sobre Desempenho e Produtividade em Equipes você encontrará coisas como a Lei de Pareto e a Curva Gaussiana. (também referido como Power Law e Bell Curve).
A lei de Pareto é a famosa regra 80-20, válida para quase tudo: da distribuição de riqueza e desigualdade global à gestão do tempo e produtividade.
Quando se fala em Desempenho de Equipas, resulta em :
80% dos programadores fazem apenas 20% do trabalho. Isto significa que os 20% restantes, os Melhores Performers, são capazes de completar 80% de todas as tarefas.
A curva Bell é frequentemente utilizada para descrever a distribuição da capacidade de desempenho dos colaboradores, afirmando que cerca de 80% dos colaboradores estão posicionados em torno da média, enquanto os restantes são os melhores ou os maus desempenhos.
No entanto, podemos olhar para esses gráficos e números, a diferença entre o melhor e o pior executante de uma equipe pode ser enorme. Talvez estejamos apenas nos referindo a isso quando falamos de um dev 10x? Ou devemos apenas considerar a diferença em relação à média do outro dev. Se tal coisa seria estatisticamente possível ou não, não podemos negar que alguns desenvolvedores são na verdade muito mais eficientes do que outros.
Então de onde vem esta incrívelza?
É por causa de anos de experiência? Nem por isso.
10 anos de experiência pode significar simplesmente um ano de experiência repetido 10 vezes.
Se você está preso no mesmo trabalho fazendo a mesma tarefa todos os dias, todos os anos e se você não sente a necessidade de se intensificar e aprender coisas novas, você pode se surpreender quando um dev regular com apenas 3 anos em seu currículo está brilhando rápido e sabe mais do que você (não apenas na mais recente pilha de tecnologia mais legal).
É porque eles trabalham até tarde e não têm uma vida? Nem por isso.
A 10x dev não é moer longas horas. Não significa trabalhar até mais tarde. Definitivamente significa trabalhar mais, mas principalmente de uma forma mais inteligente.
Eu estou longe de ser um dev 10x, mas na minha carreira, eu tive a sorte de conhecer e trabalhar com pelo menos um par de indivíduos tão incríveis, e posso dizer que estes são alguns dos traços/qualidades que eles tinham em comum:
Trabalhar nas coisas certas da forma certa
Eficácia e eficiência:
Ser eficaz é fazer as coisas certas enquanto ser eficaz é fazer as coisas certas.
Bem, 10x devs normalmente fazem as duas coisas. Eles não perdem tempo fazendo coisas desnecessárias da maneira mais perfeita. Eles fazem as coisas certas, da maneira (suficiente) certa.
Isso pode ser alcançado por:
Perguntas
Porquê
Por vezes, requisitos ruins, especificações pouco claras e suposições erradas podem fazer você perder horas de tempo de desenvolvimento. Não só terá de reajustar as suas estimativas ou apertar o retrabalho, como também pode ser muito frustrante ter de deitar fora todo o código incrível que acabou de criar.
como
Se estiver preso, se precisar de ajuda, peça ajuda. não peça uma solução, peça uma dica, uma orientação, uma dica que pode levá-lo a descobrir a solução por si mesmo. não tenha medo. você não deve saber tudo e é bom que você mostre que está ansioso para aprender.
Esteja concentrado, evite distracções
Quanto tempo passamos realmente a ver o youtube, a verificar o nosso telefone, a responder aos amigos no WhatsApp ou Snapchat, ou simplesmente a percorrer a parede do Facebook?
Se eu lhe disser, passa 1 a 2 horas por dia neles? verifique a utilização dessas aplicações no seu telefone. vai ficar assustado. (você pode usar aplicativos como esse para provar isso).
Não necessariamente temos que desistir de tudo isso. Apenas reconhecer quanto tempo é desperdiçado nestas coisas, quando é suposto sermos produtivos é o primeiro passo e depois podemos usar ferramentas como a técnica Pomodoro para nos ajudar a ficar longe das redes sociais e smartphone e manter o FLOW durante pelo menos toda a duração de um temporizador Pomodoro.
Eu nem sequer estou a dizer que não devemos fazer uma pausa, é mais estar realmente ciente de onde o nosso precioso tempo está a ser drenado. (embora definitivamente seja melhor ficar de pé, dar um passeio, conversar com um colega, ir jogar kicker ou tênis de mesa por 10 minutos, em vez de verificar o Facebook. Dê aos seus olhos e cérebro algum descanso fora de qualquer tela!).
Descansar um pouco, relaxar um pouco pode realmente aumentar a sua produtividade
Utilizar ferramentas que o aceleram, aprender atalhos
O que nós fazemos principalmente é digitar e clicar, parece loucura, mas você pode realmente se tornar super rápido se você começar a usar atalhos na sua IDE e se você usar o Terminal / CommandLine extensivamente. Rodando grep version package.json
é muito mais rápido do que ir para o Finder, clique em package.json open e depois leia o parâmetro da versão.
Typing
git stash git pull git checkout -b my_new_feature git stash pop
é muito mais rápido do que fazer a mesma coisa com qualquer ferramenta visual.
Pode pensar que isso é apenas raspar segundos, mas tornar-se um dev 10X a cada segundo importa (e de qualquer forma ficar longe do rato é bom para prevenir a Síndrome do Túnel Cárpico)
Aqui você pode ler sobre algumas ferramentas e dicas que me ajudam a escrever e depurar código melhor e mais rápido.
Estar ansioso para aprender
A quantidade de informação lá fora é enorme. Às vezes você tem que pagar por ela, a maior parte do tempo é grátis. Não há desculpas para não passar algum tempo em desenvolvimento pessoal. Leia artigos, ouça podcasts, assista a tutoriais e siga cursos online. Não tem que ser sempre sobre codificação – caso contrário, pode-se argumentar que de fato um 10x deves passar o dia inteiro “trabalhando” – (por exemplo, eu acho Getting Smarter Every Day and You are not so smart very mind tickling).
É mais uma atitude, um estado de espírito. A curiosidade, a sede de conhecimento estabelece a diferença em relação à média.
Cercar-se dos melhores artistas / Encontre um mentor
Ser o mais rápido, mais inteligente, mais hábil desenvolvedor em sua equipe pode ser bom para o seu ego, mas não é para o seu crescimento. Por mais confortável e realizador que seja, tente nunca ser a pessoa mais inteligente na sala, e procure sempre pessoas que sejam muito boas no que fazem, que sejam melhores do que você e se apeguem a elas.
Devolva. Partilhe os seus conhecimentos
Assim que aprender alguma coisa, tente ajudar outra pessoa, ensine outros colegas, partilhe os seus conhecimentos.
Pode ser dar alguns conselhos depois do seu standup diário, fazer uma pequena apresentação à sua equipa, escrever um post no blog ou tornar-se um mentor numa plataforma de codificação online.
Nunca seja arrogante ou irritado com alguém que sabe menos do que você.
Se considerarmos tudo isso, é claro que um bom desenvolvedor tem sólidas e fortes habilidades de programação, mas o que realmente pode fazer a diferença são a paixão, a atitude e algumas habilidades suaves.
Os colegas para quem eu olhava com admiração e me inspirava mais para me aperfeiçoar eram altamente motivados e habilidosos, e claro, super rápidos em suas tarefas: nada parecia pará-los ou assustá-los, se eles não sabiam de nada, pesquisaram por algumas horas e depois se sentiram confiantes o suficiente para se apropriar da correção ou funcionalidade do bug. E além disso, eles escreveram documentação, organizaram workshops ou mini apresentações assim que encontraram ou aprenderam algo que poderia ser benéfico para qualquer outro membro da equipe. Eles adoraram compartilhar.
E, no final, acredito que este poderia ser o verdadeiro fator multiplicador. Compartilhar conhecimento, fomentar o crescimento, ser um exemplo de paixão e trabalho duro, é o que realmente pode ter um impacto incrivelmente positivo sobre outras pessoas e elevar a fasquia no desempenho de uma equipe (mesmo que feita apenas de desenvolvedores “médios”).