Você pode ter visto um tópico circulando no Twitter recentemente sobre “10x engineers”. Se você não viu, você pode lê-lo em toda a sua glória:
Shekhar Kirani @Accel@skirani10x engenheiros
Fundadores se alguma vez se depararem com esta rara raça de engenheiros, agarrem-nos. Se você tem um engenheiro 10x como parte de seus primeiros engenheiros, você aumenta significativamente as chances de seu sucesso inicial.
OK, aqui está uma pergunta difícil.
Como você identifica um engenheiro 10x?13:02 PM – 11 Jul 2019
O resumo disto é, a menos que você se encaixe em alguma visão super estreita e estereotipada de ser um desenvolvedor, você não é um “engenheiro 10x”.
Muito dirá que um “10x engenheiro” não existe como sendo 10x melhor em algo do que alguém/mais pessoas seria muito difícil. Mesmo que a pessoa não signifique literalmente “10x”, ela ainda está tentando dizer que existe alguém significativamente melhor em tudo.
Pessoalmente eu odeio o termo “10x engineer”. Como “desenvolvedor rockstar”, eles são más descrições e definições do que são grandes desenvolvedores.
Seria desonesto dizer que todos os desenvolvedores são iguais. Apenas alguns minutos de olhar para desenvolvedores diferentes no Twitter, eu já posso ver muitos desenvolvedores que sabem muito mais do que eu. Dito isso, falar sobre esse “10x engineer” como se eles pudessem aumentar significativamente as chances do seu negócio ser bem sucedido é bastante ridículo.
Bastante sobre derrotar esse terrível estereótipo do “10x engineer”, vamos falar sobre as coisas que realmente fazem grandes desenvolvedores (aka o verdadeiro “10x engineer”).
- 1. Eles são inteligentes mas conhecem os seus limites
- 2. Forte independentemente, mas ainda faz uma equipa de pontapés
- 3. Eles ajudam outros com problemas
- 4. Eles são gentis e compreensivos
- 5. Eles o desafiam (da maneira correta)
- 6. Eles entendem que “novo brilho” não é a solução para tudo
- 7. Eles sabem que não importa quando você programa e que tema de editor você usa
- 8. Eles não se esforçam para fazer algo mais complexo
- 9. Eles não pensam no “eu” em “team”
- 10. Você realmente quer trabalhar com eles
1. Eles são inteligentes mas conhecem os seus limites
A menos que seja uma base de código trivialmente pequena, eles não conhecem todas as linhas de código que entraram em produção. Claro que eles podem resolver muitos problemas sozinhos mas eles sabem quando estão presos e sabem quando pedir ajuda.
Nada está errada em pedir ajuda, não importa o seu nível de habilidade!
2. Forte independentemente, mas ainda faz uma equipa de pontapés
Existem tempos para programar independentemente e existem tempos para programar em equipa. Estes desenvolvedores não se limitam a pegar uma tarefa e correr para um canto para trabalhar nela em silo para todos os outros. O desenvolvimento além da menor escala requer colaboração constante com uma equipe – seja programação emparelhada, revisões de código, idéias saltitantes, ajuda na depuração etc.
Não quer dizer que um grande desenvolvedor não se sinta mais confortável trabalhando sozinho em certas tarefas, mas o desenvolvimento em grande escala é praticamente impossível sem uma forte colaboração.
3. Eles ajudam outros com problemas
Você já pediu ajuda a um colega e eles pediram? Parabéns, eles podem ser um grande desenvolvedor. Podemos olhar a documentação ou mesmo o Stack Overflow para obter ajuda, mas às vezes precisamos da ajuda de alguém que conhece nossa base de código. Se você é um desenvolvedor que sabe algo que poderia ajudar um colega, ajude-o!
4. Eles são gentis e compreensivos
Ser um grande desenvolvedor não é ser um asno inteligente, mostrando seu intelecto, desconsiderando as reuniões porque você é melhor do que essas pessoas. Ser um grande desenvolvedor também é ser bom com as coisas não técnicas. Se você está “ajudando” um colega gritando com eles e criticando seu código, basta parar.
5. Eles o desafiam (da maneira correta)
Isso pode parecer controverso, mas um grande desenvolvedor não vai lhe dar as respostas o tempo todo. Isso pode soar em contradição com #2 e #3, no entanto, não é suposto que isso tenha algo a ver com você. Um grande desenvolvedor é alguém que pode lhe dar o suficiente para que você mesmo possa resolvê-lo. Esses pequenos desafios ajudam a fazer de você um desenvolvedor melhor e permitem que você entenda o que você pode precisar aprender mais sobre.
6. Eles entendem que “novo brilho” não é a solução para tudo
Não quero dizer que esses desenvolvedores não estão verificando novas ferramentas e linguagens (eles podem fazer o que quiserem nesse sentido), mas eles entendem que novas ferramentas não vão por magia resolver todos os problemas.
James Hickey 🇨🇦👨💻@jamesmh_devEstamos obcecados em aprender mais ferramentas e línguas!
Se a sua arquitectura é má, está a resolver os problemas errados, o seu cliente não compreende quando tenta explicar as coisas… então as ferramentas brilhantes não ajudam.
E estas são fundamentais para o sucesso do seu negócio!18:54 PM – 27 Jun 2019
7. Eles sabem que não importa quando você programa e que tema de editor você usa
Sereótipos de programadores à parte, por que o tempo em que você programa realmente faria a diferença? Programe no meio da noite se você quiser/são permitidos pela empresa e não o faça se você não quiser. A única razão pela qual o tempo deveria estar entrando em jogo é quando você tem programado por muito tempo e não tem dormido! A hora real do dia não importa a menos que afete sua equipe (por exemplo, você trabalha à meia-noite programando para evitar intencionalmente todos).
O mesmo com os temas do editor, por que um tema sombrio realmente faria você melhorar? Vou te dar uma dica, não faz. Temas escuros têm seu propósito, mas com certeza não é isso.
8. Eles não se esforçam para fazer algo mais complexo
Isso pode ser óbvio, mas houve outro tópico no Twitter na semana anterior falando sobre programar algo complexamente como isso é uma coisa boa de se fazer. Quando estava tornando nosso trabalho e os trabalhos de nossos colegas mais difíceis uma coisa boa?
Há definitivamente momentos em que podemos acabar programando uma solução complexa como talvez (ainda) não entendemos completamente o problema. Isto pode acontecer na nossa primeira tentativa de programar a solução, que é quando você normalmente ouve pessoas falando sobre refactoring code ou não estar “orgulhoso” do código que escreveram na semana/mês/ano anterior.
9. Eles não pensam no “eu” em “team”
A menos que eles tenham realmente escrito cada linha de código fonte do compilador para cima através de toda a lógica de negócio, eles sabem que foi um esforço de equipe. Eles não tentam tirar os holofotes de ninguém mais da equipe – eles destacam todas as contribuições que fizeram de um projeto um sucesso.
Quando um projeto vai mal, eles não vão em frente e culpam a todos. Projetos de equipe falham como uma equipe, não como um indivíduo (a menos que com intenção maliciosa). Eles ajudam a equipe inteira a aprender com os erros e ajudam a evitar que eles aconteçam novamente.
10. Você realmente quer trabalhar com eles
No final do dia, estes grandes desenvolvedores são pessoas com quem você realmente gosta de trabalhar. Você se agita no trabalho (ou remotamente dentro) e está feliz por trabalhar com uma equipe tão incrível.
Se você conhece algum desenvolvedor que soa assim, diga-lhe como eles são incríveis e como você está feliz em trabalhar com eles. 🙂