Eu não consigo aprender frontend. Eu resolvo problemas de frontend no trabalho, mas não consigo reter o conhecimento. Como você faz?

Essa é a pergunta de um mentorado meu. Você, certamente, já teve essa sensação. É normal, eu também já tive e tenho. Isso pode ser frustrante, mas é possível ajustar isso.

Tópicos

1. Você precisa PENSAR, não buscar por respostas

O fluxo comum da resolução de problemas é:

  1. você tem um problema (seja uma dúvida, um bug ou uma tarefa qualquer);
  2. você busca uma solução;
  3. você encontra uma resposta;
  4. você aplica a resposta e resolve o problema.

Seja uma busca no Google, ChatGPT, Gemini ou qualquer outra LLM, quando fazemos isso estamos apenas buscando uma resposta.

Mas é isso que te trouxe até aqui. Vamos ver como resolver isso.

O que é pensar?

Segundo o dicionário, pensar é:

submeter (algo) ao processo de raciocínio lógico; exercer a capacidade de julgamento, dedução ou concepção.

Nada é mais fatal ao pensamento do que as respostas. O que mais importa no processo de aprendizado são as perguntas, não as respostas. Então, com o objetivo de realmente aprender, você deve mudar o fluxo para algo como:

  1. você tem um problema (seja uma dúvida, um bug ou uma tarefa qualquer);
  2. você pensa sobre o que pode ser a causa do problema (pergunte-se: mas o que está havendo de fato? Que caminho posso tomar?);
  3. você desenvolve uma hipótese;
  4. você valida a hipótese (com sorte, seu problema será resolvido aqui);

Procure seguir esse fluxo até resolver o problema, buscando mais referências e informações. Só aí, quado tiver esgotado as possibilidades, você pode buscar uma resposta pronta.

Ao pensar ativamente, você busca entender os mecanismos por trás do problema, logo você aprende. Claro, é preciso repetir esse processo várias vezes para realmente aprender, mas é assim que se aprende.

Importante: atiçar o pensamento, como um processo ativo, requer atenção. É aqui que a maioria de nós falha.

2. Isso significa que nunca devo buscar respostas?

Não, não é isso. Não é preciso deduzir toda e qualquer solução por conta própria. As respostas prontas são o alicerce do conhecimento. Pessoas já pensaram por você e chegaram a conclusões. Isso é essencial para a evolução do conhecimento humano.

Além disso, há cenários em que você não tem interesse em aprender conceitos daquele problema em específico, só quer resolver e seguir em frente.

Muitas das más práticas da área de programação são fruto da falta de pensamento. Programação por coincidência é um exemplo que ilustra bem isso.

3. Rubem Alves e Schopenhauer

Para encerrar, deixo a definição de pensar segundo Rubem Alves:

O pensamento é como a águia que só alça voo nos espaços vazios do desconhecido. Pensar é voar sobre o que não se sabe. Não existe nada mais fatal para o pensamento do que o ensino das respostas certas.

As respostas nos permitem andar sobre a terra firme. Mas somente as perguntas nos permitem entrar pelo mar desconhecido.

Schopenhauer também escreveu sobre isso:

[…] uma grande quantidade de conhecimentos, quando não foi elaborada por um pensamento próprio, tem muito menos valor do que uma quantidade bem mais limitada, que, no entanto, foi devidamente assimilada.

Pois é apenas por meio da combinação ampla do que se sabe, por meio da comparação de cada verdade com todas as outras, que uma pessoa se apropria do seu próprio saber e o domina.

[…] só se sabe aquilo sobre o que se pensou com profundidade.