nome

Pare de aprender frameworks

Publicado em 18 de dezembro de 2018
Autor: Mateus Ávila Isidoro

Este artigo é uma tradução para o português brasileiro do texto do Eduards Sizovs. Seguindo os ensinamentos do grande mestre Mauricio Samy Souza, o Maujor, ter conteúdos em língua portuguesa são condição de acessibilidade para os desenvolvedores que ainda não sabem inglês.

Eu gostei da forma que ele trata o conhecimento em programação, mesmo que eu não utilize (e até rejeite) o Java, a questão que ele lida com o conhecimento é fundamental para que todos os desenvolvedores foquem em ter boas bases das linguagens que trabalhamos.

Coloquei em conchetes algumas notas de tradução, pois tomei um caminho de algumas interpretações de algumas palavras que julguei problemáticas do inglês para o português. Creio que tenhamos pouco prejuízo da ideia central do texto.

Abaixo traduzo todo o artigo dele, com a autorização que ele me concedeu :). (If you reading this, thank so much to allow me to translate, Eduards 🙂 )


Nós somos desenvolvedores. Nós previsamos nos estar em dia com a tecnologia. Todo dia, nós aprendemos linguagens de programação, frameworks e bibliotecas. Quanto mais moderna é a ferramenta – melhor.

Estar em dia com Angular, React, Vue, Riot, Ember, Knockout é divertido.

Mas estamos perdendo nosso tempo.

Tempo é o nosso recurso mais precioso que temos. Tempo é limitado, não renovável e você não pode comprar mais.

Tecnologia, como moda, muda na velocidade da luz. Para recuperar o atraso, precisamos correr muito rápido. Esta corrida não tem vencedores por não ter fim.

© O Lobo de Wall Street (2013) por Martin Scorsese

Certa vez, meu mentou me ensinou uma lição:

Mentor: “Ed, o que você está fazendo?”

Eu (orgulhoso): “Eu estou lendo um livro sobre como construir Aplicativos de Java modernos com GWT”

Mentor: “Pra que?”

Eu: “Como desenvolvedor Java, eu preciso estar atento as tendências. GWT é o futuro [Nota da Tradução: o autor usa o termo thing – coisa, que ele quer representar uma ideia nova neste contexto. Fiz a alteração, pois imagino que na realidade brasileira, muitos colegas falam usando o termo futuro.]”

Mentor: “Qual livro de tecnologia tu leu antes de GWT?”

Eu: “Eu li um livro sobre Apache Tapestry de 500 páginas. Tapestry era o futuro. (NT: thing de novo)”

Mentor: “Tapestry deixou de ser o futuro?”

Eu: “Não mais. GWT é o futuro.”

Mentor: “Você pode reutilizar o seu conhecimento em Tapestry para resolver nossos problemas atuais?”

Eu: “Não, ninguem usa mais isto hoje em dia.”

Mentor: “O seu conhecimento de Tapestry te auxilia a entender melhor o GWT?”

Eu: “Não, não ajuda. Mas eu vejo alguma sobreposição de padrões.”

Mentor: “Isto é Design Pattern. Ele te ajuda a resolver teus problemas atuais.”

Eu: “Sim. Muitos deles.”

Mentor: “Tecnologia vai e vem, mas ela tem muito em comum. Defina as prioridades corretamente. Invista 80% do seu tempo aprendendo os fundamentos. Deixe 20% para frameworks, bibliotecas e ferramentas.”

Eu: “Hum… Só 20% para frameworks, bibliotecas e ferramentas?”

Mentor: “Sim, Você irá aprendê-las no trabalho de qualquer forma enquanto resolve problemas”.

Eu: “Obrigado”

Mentor: “Tu irá me agradecer depois.”

Este conselho mudou minha vida. Removi todos os livros de frameworks da minha estante. A pilha da culpa encolheu de 50 para nenhum livro. Que alívio!

Comprei um conjunto de livros de referência [NT: considerei o termo evergreen como referência]. Estes livros tomam 80% do meu tempo de aprendizado:

[NT: deixei os links dos livros que ele citou]

Eu também comprei um único livro da tecnologia que utilizo. O efeito Lindy sugeriu que o Framework Spring deve ser um bom investimento:

A expectativa de vida futura da tecnologia é proporcional à sua idade atual. Cada período extra da sobrevivência implica uma maior expectativa de vida restante.

Quanto mais tempo a tecnologia está no mercado, mais seguro é seu investimento.

Não corra pra aprender uma nova tecnologia – há uma alta probabilidade dela não vingar [NT: o autor usou o termo dying – morrer].

O tempo irá mostrar o quanto compensa investir em determinada tecnologia. Tempo é o melhor conselheiro. Aprenda a esperar.

Dez anos se passaram desde então. Ajudei 50 diferentes projetos de software. Obrigado pelo conselho, tudo que eu aprendo é portátil entre empresas, equipes e domínios. Meu conhecimento ainda é relevante hoje. Não perdi meu tempo.

Todos os projetos parecem diferentes, a menos que você olhe abaixo da superfície:

  • As linguagens de programação são diferentes, mas o design é parecido.
  • Frameworks são diferentes, mas o mesmos padrões de design brilham.
  • Desenvolvedores são diferentes, mas as regras de lidar com as pessoas são uniformes.

Lembre-se – frameworks, bibliotecas e ferramentas vão e vem. Tempo é precioso.

© Em tempo (2011) by Andrew Niccol

Invista seu precioso tempo em transferir conhecimentos. Conhecimento sempre serão relevantes.

  • Frameworks de Microservices Arquitetura Evolutiva
  • Nova linguagem de programação Código Limpo, Padrão de design, DDD
  • LeSS, SAFe Princípios de desenvolvimento enxuto.
  • Hystrix Padrões de tolerância a falhas
  • Docker  Entrega contínua
  • Angular Web, HTTP e Rest