Tornar-se um bom engenheiro é acumular experiência
(addyosmani.com)- Mesmo um projeto pequeno é uma oportunidade de adicionar novas habilidades e ferramentas à sua caixa de ferramentas
- Você pode gerar mais valor quando consegue combinar técnicas aprendidas em um projeto com ferramentas aprendidas em outro para resolver problemas. Tudo se soma
- No começo, você aprende linguagens e bibliotecas, mas, à medida que a carreira evolui, seu campo de interesse precisa se ampliar
- Isso vale não só no aspecto técnico, mas também em termos de abordagem, metodologia e paradigma
- O verdadeiro valor no desenvolvimento como engenheiro não está apenas em acumular habilidades isoladas, mas em tecê-las em uma rede complexa de capacidades maior do que a soma de suas partes
Caixa de ferramentas
- Se você imaginar as habilidades de engenharia como uma caixa de ferramentas, cada vez que aprende algo novo — um algoritmo, linguagem, framework etc. — está basicamente adicionando uma nova ferramenta a essa caixa
- Mas ter uma ferramenta e saber quando e como usá-la de forma eficaz são coisas completamente diferentes
- É aí que está o valor da experiência
- Cada projeto, independentemente do tamanho, oferece desafios únicos que ajudam a entender em que situações uma ferramenta específica deve ser usada
-
"A zona de conforto é confortável, mas raramente traz lições. Procure ativamente projetos que façam você se esticar. Sua caixa de ferramentas vai agradecer."
- Mas a caixa de ferramentas não é algo fixo; ela evolui junto com você
- Com o tempo, você não apenas adicionará mais ferramentas, como também começará a combiná-las de novas maneiras para resolver problemas cada vez mais complexos
- A experiência com APIs RESTful em um projeto pode ajudar a integrar serviços de terceiros com mais habilidade em outro
- A compreensão de multithreading pode otimizar drasticamente o desempenho de aplicações com muitos dados
- O ponto principal é que você não precisa de uma caixa de ferramentas separada para cada projeto
- Com uma única caixa de ferramentas, você pode aproveitar as necessidades e restrições específicas de cada projeto
Pareamento de técnicas e ferramentas
- O que diferencia um grande engenheiro de um engenheiro apenas mediano é a capacidade de combinar técnicas aprendidas em um projeto com ferramentas adquiridas em outro
- Essa polinização cruzada (Pollination) permite resolver problemas com mais eficiência e muitas vezes leva a soluções melhores
- A qualidade da caixa de ferramentas não é determinada pela "quantidade de ferramentas", mas pela "riqueza dos problemas que essas ferramentas conseguem resolver"
- Exemplo prático
- Suponha que você tenha trabalhado em um site de e-commerce com um entendimento profundo de transações de banco de dados para manter o estoque preciso
- Em outro projeto, você se aprofundou em programação com WebSockets para uma aplicação de chat em tempo real
- Agora, você recebe a tarefa de desenvolver um dashboard em tempo real para gerenciamento de estoque
- Assim, é possível integrar técnicas aprendidas em projetos diferentes para criar uma solução poderosa
- Você pode usar seu entendimento profundo de transações de banco de dados para garantir a confiabilidade e consistência dos dados de estoque, ao mesmo tempo em que usa WebSockets para enviar atualizações em tempo real ao dashboard
- Ao combinar essas técnicas, há a clara vantagem de não apenas resolver o problema, mas resolvê-lo de forma eficiente e elegante
- Ir além da zona de segurança: a importância de se desafiar para além da própria zona de conforto
- É fácil se sentir atraído por projetos alinhados ao conjunto de habilidades que você já domina e que exigem menos esforço
- Mas, quanto mais experiências diversas você acumula, maior se torna o alcance das suas ferramentas e melhor fica sua capacidade de gerar esse tipo de resultado
- Procure ativamente projetos que façam você aprender algo novo ou pensar de uma forma que nunca experimentou antes
- Você perceberá que até projetos que, à primeira vista, parecem totalmente sem relação podem trazer muitos benefícios
Manter agilidade e adaptabilidade
- A tecnologia está sempre evoluindo, e a ferramenta que você domina hoje pode não ser tão útil amanhã
- Mas isso não significa que a ferramenta se torne inútil. Em vez disso, ela pode fortalecer sua capacidade de se adaptar à mudança e inovar
- Por exemplo, o surgimento de arquiteturas cloud-native não tornou sem sentido o conhecimento tradicional sobre bancos de dados relacionais
- Entender os fundamentos de SQL e modelagem de banco de dados pode melhorar bastante sua capacidade de trabalhar com soluções modernas de armazenamento de dados
Dicas práticas para acumular experiências valiosas
- Dominar uma ferramenta é apenas um marco na jornada de descobrir quando e como usá-la
- Existem várias opções para ganhar experiência
- Fazer a curadoria de projetos diversos: trabalhe em projetos variados, de diferentes escalas, tecnologias e domínios de problema. Cada projeto pode adicionar algo único à sua caixa de ferramentas
- Refletir e documentar: depois de concluir um projeto, reserve um tempo para rever o que aprendeu. Melhor ainda, documente isso. Um repositório privado com "lições aprendidas" ou um post público em blog pode consolidar seu entendimento e compartilhar conhecimento
- Participar da comunidade: contribuir com open source ou participar de plataformas sociais voltadas para desenvolvedores pode expor você a problemas que talvez não encontrasse de outra forma
- Ter mentores e praticar mentoria: uma das formas mais eficazes de integrar o que você aprendeu é ensinar outras pessoas. Da mesma forma, não hesite em pedir orientação ou aprender com engenheiros especializados em áreas que você ainda não domina
- Não parar de aprender: cursos online, webinars ou aprender uma nova linguagem no fim de semana — o aprendizado contínuo é o lubrificante de uma carreira em constante evolução
Conclusão
- A polinização cruzada de técnicas (Pollination) não é mero acaso, mas a elegância da engenharia
- As melhores soluções frequentemente surgem de combinações inesperadas de técnicas
- Portanto, da próxima vez que você estiver lutando com um novo problema, observe com atenção sua caixa de ferramentas de experiências
- Você pode encontrar a solução não em dominar uma nova ferramenta, mas em usar com sabedoria as ferramentas que acumulou ao longo dos anos
- Essa abordagem multifacetada e cheia de nuances para resolver problemas é o que realmente faz sua carreira avançar e o diferencia como engenheiro
6 comentários
Parece que a IA baixou bastante a barreira de entrada, então essa transição ficou mais rápida.
Me deem uma chance de ganhar experiência -_-
Em empresa de fundo de quintal não dá para acumular isso. Especialmente se ainda tiver fanboy de PHP, pior ainda!
Tenho sentido isso muito ultimamente.
Só estudar não basta.
Será que a única resposta é mudar para uma boa empresa (para ter boas experiências)?
Também é difícil dizer que uma boa empresa é necessariamente um lugar onde se pode vivenciar vários projetos.
Não acho que mudar de emprego seja necessariamente a resposta. Até porque mudar de emprego é realmente muito difícil.
No momento, não seria melhor tocar um projeto paralelo?
Obrigado. Vou começar agora mesmo haha