DEV Community

Cover image for Aprendizado baseado em soluções
Guilherme Thomas
Guilherme Thomas

Posted on

Aprendizado baseado em soluções

Eu gosto muito de ler, principalmente livros. As vezes prefiro ler as legendas de um vídeo do que propriamente ficar olhando o mesmo.

Porém para aprender, sinto um pequeno gap apenas com leitura, falta algo. E com programação, esse gap fica muito grande. É preciso "colocar a mão na massa" além da teoria.

O que tem me ajudado muito a aprender Rust e Java, é escolher um problema para resolver, e deixar esse problema me impulsionar para aprender sobre novos conceitos e técnicas.

Isso faz com que eu aprenda essas técnicas novas quando faz sentido aplica-lás. A "hierarquia" da aprendizagem fica um pouco ao contrário da escola, que é como geralmente estudamos. Não é nos apresentado um conteúdo e dito "isso é importante", e sim o contrário, precisamos do material para resolver um determinado problema.

No trabalho atual que desenvolvo com Java, é "fácil" aprender pois tenho tarefas a serem desenvolvidas que os cliente precisam. Então tenho direcionado meu problema para resolver, me baseio em soluções parecidas, busco novas, e resolvo.

Já para aprender Rust, preciso encontrar esses problemas. Comecei pelo clássico aplicativo de To-do. Vi algumas soluções, entendi os motivos de usarem determinadas coisas e tentei fazer o meu. Mas é muito vago, cheguei a usar uma crate de Rust sem ao menos saber exatamente o que ela fazia.

Um caminho que experimentei e deu certo é:

  • Entender e definir o problema;
  • Explorar o que já se sabe sobre e tentativas anteriores de solução;
  • Determinar as necessidade (conhecimento, ferramentas) para solucionar;
  • Explorar diferentes opções de solução;
  • Resolver o problema;
  • Avaliar pontos de melhoria.

E olha só, nada disso é novidade. Vários métodos de aprendizagem falam sobre vários desses mesmos pontos. Explorar, definir, entender, avaliar. Nada é novo ou muito complicado, sempre partimos do básico bem feito.

Agora falta eu achar um problema bacana para resolver com Rust.

Top comments (0)