O Inicio

Durante a carreira do Dev médio, ja é tido como uma certeza de que o estudo é algo crucial para a própria evolução, sendo sua pratica independente da sua atuação profissional ou não na area.
Porém uma outra grande certeza que temos e que nem sempre temos a criatividade e motivação para ir atrás de novos projetos, linguagens e conceitos.
Eu, como uma pessoa extremamente ansiosa, vivia martelando essa ideia em minha cabeça, de que deveria ter "projetos pessoais" como todos dizem. Aquelas ideias super bem estruturadas, com milhões de conceitos e regras, enfim, ja e de se esperar que nada saia do papel, e pra piorar, isso so me deixava mais desmotivado ainda.

Realidade

Este texto e uma reflexão de como eu consegui destravar esse processo pra mim, e talvez, você leitor consiga fazer o mesmo.
Então acho importante compartilhar algumas realidades que podem ser libertadoras.

1 - Você não ira produzir nada grandioso, e isso é bom.

Com grande poderes, vem grandes responsabilidades, e o que buscamos aqui é apenas estudar, não lançar a próxima startup milionária ou SaaS com faturamento recorde.
Se você e ansioso como eu, sabe bem que somente de contemplar a ideia de um projeto pessoal dessa magnitude ja vai fazer a sua cabeça ferver, e o processo para desenvolver sera mais doloroso do que benéfico.

2 - Foque em conceitos isolados, não em estruturas completas

Um dos grandes impeditivos que eu tinha era sobre estudar tentando implementar estruturas e projetos do começo ao fim, e isso acabava por minar minha motivação logo de cara, pois no primeiro obstaculo, todo o processo ja era desfalcado e eu não sentia que estava fazendo a coisa certa.
A ideia aqui e focar em conceitos, você não precisa fazer um projeto fullstack de ponta a ponta, comece aos poucos.
Estude tudo de forma isolada, quer aprender sobre Oauth? Crie um projeto cuja única ideia é voce conseguir fazer login utilizando Google por exemplo, esqueça css, esqueça rotas, esqueça todo o resto, e por ai vai, isso pode se aplicar a qualquer conceito ou tecnologia que voce esteja querendo aprender.
Inúmeras vezes ja criei um projeto para estudar sobre autenticação e vi que gastei um bom tempo pensando no banco de dados que iria utilizar, na estrutura de pastas, quando vi o foco ja tinha se perdido.

3 - Ser realista

Atrelado ao conceito anterior, vem a ideia também de entender a sua realidade, e o que realmente significa o estudo para você.
Tenha sempre essa ideia na cabeça, seu "projetinho" não precisa ir pra produção, e se for, não terá mais que 3 usuários (que você mesmo criou para teste).
Entender bem isso vai aliviar, e muito, a tensão na hora de pensar em fazer qualquer projeto para estudo.
Você não precisa implementar o melhor banco de dados, a melhor estrutura de serviços e arquitetura de projetos, a não ser que seu estudo seja focado exclusivamente nisso, e novamente, se for, todo o resto deve ser o mais simplório possível.

A primeira aplicação

Ultimamente venho estudando muito NestJS, assim como autenticação, sempre foi um assunto extremamente complicado para mim, portanto desenvolvi, tentando ao maximo utilizar os conceitos acima, um pequeno template que consiste em uma aplicação NestJS que possui apenas duas rotas, login, e logout, e uma rota protegida que funciona apenas para usuários logados.

Um projeto totalmente básico, sem nenhuma intenção ou regra complexa, direto ao ponto.

O projeto se encontra aqui caso você queira dar uma olhada.

Somente nesse pequeno tempo estudando (pouco mais de uma hora)
consegui exercitar conceitos que não tinha dominio antes como:

  • O conceito de guards no nestjs
  • Criação de decorators customizados
  • Implementação da biblioteca Passport para autenticação

Proximos desafios

Agora o maior desafio não é mais a pratica, e sim a consistencia da mesma.
Tentarei ao maximo trazer pequenas partes deste estudo para ca, e compor explicações de conceitos que ja tenho bastante pratica para devs menos experientes.