52 pontos por xguru 2023-11-06 | 6 comentários | Compartilhar no WhatsApp
  • 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

 
kan02134 2023-11-12

Parece que a IA baixou bastante a barreira de entrada, então essa transição ficou mais rápida.

 
[Este comentário foi ocultado.]
 
zzzz2222 2023-11-06

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!

 
hero512 2023-11-06

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)?

 
xguru 2023-11-06

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?

 
hero512 2023-11-06

Obrigado. Vou começar agora mesmo haha