Conteúdo[Esconder][Mostrar]
O engenheiro 10X é um mito?
A realidade é que algumas pessoas são melhores em programação do que outras.
Em minha posição anterior em uma empresa de tecnologia, fiquei impressionado com a forma como algumas pessoas da minha equipe parecem saber como fazer tudo.
Mesmo durante meu tempo na universidade, participando de hackathons e estágios, pude conhecer alguns desenvolvedores muito talentosos com os quais aprendi muito.
Neste artigo, examinarei alguns equívocos que as pessoas podem ter sobre o engenheiro 10X. Depois de analisarmos o que é um engenheiro 10X não, vamos passar por cima de alguns dos melhores conselhos que posso dar para você se tornar um engenheiro 10X.
O que é um Engenheiro 10X?
Muitos desenvolvedores discutiriam sobre a definição real de um engenheiro 10X. Mas por uma questão de clareza, vamos tentar definir uma definição simples agora.
Um engenheiro 10X é um desenvolvedor de software capaz de ser tão produtivo quanto dez de seus colegas.
A ideia do engenheiro 10X pode ter se originado mais cedo do que você pensa.
A trabalho de pesquisa de 1968, chamado “Estudos exploratórios experimentais comparando o desempenho de programação online e offline”, propôs pela primeira vez a ideia de que alguns dos melhores programadores executam uma ordem de magnitude melhor do que os piores programadores. Embora esta não seja a definição acordada hoje, a ideia do engenheiro 10X logo se espalhou para fora da academia.
Alguns anos depois, o clássico livro The Homem Mítico-Mês ilustrou ainda mais a ideia do engenheiro 10X. O autor Fred Brooks sugere que desenvolvimento de software as equipes poderiam ser estruturadas como equipes cirúrgicas.
Nesta equipe, você teria um programador-chefe ou “cirurgião” com programadores de apoio ou “enfermeiras”.
Embora essa analogia seja fácil de entender, acredito que seja um pouco simplista e desatualizada quando aplicada ao estado atual do desenvolvimento de software.
A dinâmica de equipe em uma equipe de tecnologia é muito diferente da de um cirurgião. Essa ideia de uma única pessoa fazendo a maior parte do trabalho ou apenas o trabalho mais desafiador descaracterizou o que acredito que um engenheiro 10X deveria ser.
Equívocos comuns
À medida que a ideia do engenheiro 10X se espalhou pela esfera da tecnologia, a maioria dos gerentes muitas vezes interpreta mal o que queremos dizer com “10X”.
Um equívoco comum é que os engenheiros da 10X produzem dez vezes mais código do que seus pares. Isto simplesmente não é verdade.
Embora um engenheiro 10X possa produzir mais código do que seus colegas, a quantidade não é a métrica certa. Imagine um programador que gasta mil linhas de código executando o que poderia ser feito em menos de cem. Da mesma forma, um engenheiro 10X não codifica dez vezes mais rápido!
Outro equívoco sobre os engenheiros da 10X é que eles são ótimos simplesmente por causa de seu conhecimento de codificação. Novamente, este é outro caso de olhar para a métrica errada.
O que torna um engenheiro 10X tão valioso é como ele agrega dez vezes o valor à sua equipe e organização. Um engenheiro 10X é indispensável devido à sua capacidade de usar seu conhecimento de codificação e alinhá-lo às necessidades da empresa.
Os gerentes devem procurar engenheiros que possam resolver problemas e trabalhar bem com os outros. Além do conhecimento de codificação, os engenheiros da 10X devem ser capazes de elevar o trabalho de todos ao seu redor.
Cinco maneiras de ser um engenheiro 10x
Esta seção é para você se você é um gerente em busca de sua próxima contratação, ou simplesmente um engenheiro que deseja ser um engenheiro 10X.
Aqui estão alguns dos principais hábitos e características de um engenheiro 10X:
Eles sabem como aproveitar ao máximo sua pilha de tecnologia
Conhecer suas ferramentas talvez seja o conselho mais óbvio que posso lhe dar. No entanto, muitos desenvolvedores ainda podem melhorar seu fluxo de trabalho aprendendo a trabalhar com eficiência.
A maioria dos engenheiros 10x com quem trabalhei conhece o terminal. Embora possa ser uma curva de aprendizado para iniciantes, entender como fazer comandos de shell rapidamente o ajudará a fazer seu trabalho muito mais rápido a longo prazo.
Os engenheiros 10x também podem se beneficiar por serem um pouco preguiçosos. Deixe-me dizer o que quero dizer.
Imagine ter que executar manualmente uma série de comandos todos os dias para enviar novos commits para produção. Um engenheiro 10x deve evitar fazer tarefas repetitivas. Eles fazem um esforço extra para automatizar o máximo possível do dia.
Os melhores engenheiros também devem pensar a longo prazo. Se você está trabalhando para uma startup, pode ser tentador se concentrar em soluções rápidas e fáceis. No entanto, essas soluções podem não escalar para baixo na linha.
Eles nunca param de aprender
Um grande desenvolvedor nunca para de aprender. Os melhores engenheiros encontram tempo fora de seu dia de trabalho ocupado para experimentar novos conceitos, linguagens e estruturas que podem tentar aplicar ao seu trabalho.
Um engenheiro 10x deve manter um senso saudável de curiosidade. Muitas vezes se perguntam: “Isso pode ser feito melhor?” ou "Existe uma maneira mais simples ou mais eficiente de resolver este problema."
Assim, um engenheiro 10x deve dominar a própria arte de aprender. Aprender a aprender é a melhor maneira de se manter à tona em um ambiente de ritmo acelerado.
Eles sabem como melhor gastar seu tempo
Um grande engenheiro de software é ótimo em tomar decisões, principalmente sobre o que fazer com seu tempo.
Os engenheiros 10X raramente precisam trabalhar mais horas do que o engenheiro médio. Os engenheiros devem saber quando recuar e dizer não a determinados pedidos. Eles devem saber quais tarefas realizar e quais tarefas delegar.
Engenheiros eficazes devem dominar como discernir se vale a pena fazer uma tarefa rapidamente. Um modelo mental a ter em mente é o princípio de Pareto.
O princípio afirma que 80% do valor do seu trabalho vem de 20% do seu esforço. Em outras palavras, nem todas as tarefas são iguais.
Eles procuram orientação adequada
Um grande engenheiro pode aprender muito com um veterano experiente da indústria. Os engenheiros da 10X geralmente procuram orientação dentro e fora do trabalho para aprimorar seus conhecimentos.
Da mesma forma, os engenheiros da 10X se beneficiarão ao assumir uma função de mentoria para seus próprios colegas de equipe. A equipe inteira é levantada por estar aberta a seus companheiros mais novatos.
Eles entendem o negócio
Em palavras simples, a engenharia de software é apenas uma maneira de os computadores resolverem um problema do mundo real. Com isso em mente, um engenheiro eficaz deve se tornar um especialista no problema que está tentando resolver.
Como engenheiro, é uma ideia inteligente fazer um esforço para entender o negócio ou o setor do qual você faz parte. Um engenheiro 10x deve ser um participante ativo em reuniões com outros departamentos.
Se o engenheiro se esforçar para entender o que outros departamentos fazem no contexto do negócio, ele se tornará um comunicador eficaz. A comunicação eficaz ajudará a evitar que sua equipe entenda mal os requisitos de negócios e as especificações do projeto.
Conclusão
Espero que agora você tenha uma visão mais clara de como é um engenheiro 10X. Você também deve ter uma compreensão do que um engenheiro 10X não é.
O conselho acima é, obviamente, apenas uma diretriz geral que pode ser aplicada a qualquer função de engenharia de software. Se você quer descobrir como você pode ser o melhor Engenheiro de DevOps, desenvolvedor de pilha completa ou cientista de dados, sua melhor opção é encontrar oportunidades para aprender e construir.
Pense se sua posição atual é um bom ambiente de aprendizado. Talvez você queira passar mais tempo trabalhando em projetos paralelos que permitirão explorar tecnologias fora de sua pilha de tecnologia atual. Estas são apenas algumas das dicas que você pode seguir para ganhar vantagem em tecnologia.
Qual você acha que é o conselho mais útil para aspirantes a engenheiros?
Deixe um comentário