Como faço para aprender coisas novas

11/12/2020 17:12

André Gomes

André Gomes

  • #Planejamento
  • #Produtividade

Aprender algo novo é uma arte individual. Cada um funciona de um jeito. Para mim às vezes um simples hello world não basta, outras é o suficiente.

A ideia nesse post é descrever algumas técnicas que funcionam para mim e como eu me organizo para estudar algo novo e aprender novas tecnologias.

Organização

Para me organizar, ou tentar… Uso um board pessoal no Trello.

 

Image for post

A ideia, que serve para mim, é estruturar listas de desejos e atividades voltadas aos meus estudos.

Essas listas vão desde livros que desejo ler até cursos que quero fazer. E quando descubro uma ferramenta nova, um framework novo ou uma linguagem, procuro deixar estruturado e organizado com links de vídeos, cursos, livros ou blogs sobre o tema.

 

Image for post

Semanalmente estou visitando esse board para atualizá-lo.

Métodos

Abaixo vou comentar alguns métodos que utilizo no meu processo de aprendizado.

Hello World!

Possuo diversos “hello worlds” no meu Github, diversos mesmo.

 

Image for post

Essa é a forma que tenho quando quero estudar alguma linguagem ou framework novo.

Nesses repositórios, tento explorar algumas coisas básicas e procuro estruturar um guia no README. Isso me força a escrever mais Markdown e treinar como documentar projetos.

Esporadicamente faço testes unitários que não possuem nenhum valor ou regra de negócio, apenas a exploração de algumas possibilidades das plataformas.

@Test    
public void shouldCreateAHobbitByName(){         
    Hobbit frodo = factory.getHobbit("frodo");            assertThat(frodo).isExactlyInstanceOf(Frodo.class);          
}

Projetos Open Source

Algumas vezes eu consigo contribuir para alguns projetos Open Source que me permitem aprender algo novo também.

Um projeto Open Source permite que você consiga se comunicar com diferentes programadores e praticar como expor a sua opinião e aceitar opiniões contrárias, que são skills importantes além da programação.

O GitHub é a ferramenta para isso. Lá você pode encontrar diversos repositórios, desde frameworks importantes como spring-framework e o laravel, até besteiras como eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ou AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Abaixo vou listar alguns que contribui recentemente:

Ex.: Você deseja estudar um novo sistema de mensageria, digamos RabbitMQ, logo é possível que você aproveite para estudar uma nova linguagem de programação, um novo framework de uma linguagem que você já domina, ou até mesmo melhorar o conhecimento de um framework que já é de seu conhecimento.

PoCs são ótimas para fazer deep dives, que para mim, funcionam muito bem quando quero me aprofundar em algum conceito.

Ex.: Queria estudar Spring Webflux, então em minha PoC spring-boot-webflux-kotlin explorei bastante a API e os conceitos com testes e exemplos, passando por banco de dados com suporte reativo. De quebra entendi como o spring-webflux faz para tratar todo o workflow reativo a cada request em relação ao spring-web:

 

Image for post

Plataformas de Cursos On Line

Por muito tempo fui assinante da Alura, mas hoje eu não sou mais membro, nada a reclamar da plataforma, fui perdendo o engajamento em fazer os cursos depois de um tempo.

Deixo aqui uma recomendação da DIO, Digital Innovation One, que possui diversos cursos gratuitos e que tive a oportunidade de gravar algum conteúdo sobre Java e Spring, nos quais tive que estudar novamente alguns conceitos que não visitava há alguns anos.

Nesse momento tenho dado preferência para cursos mais específicos e nesse caso a Udemy poder ser uma excelente opção com preços acessíveis e às vezes por R$ 19,90.

Pensei que seria bom rever alguns fundamentos e reforçar alguns conceitos que tenho. Segui a recomendação de um amigo e comprei esse curso de Estrutura de Dados e Algoritmos.

Comecei assistindo às aulas, mas depois de 3 ou 4 estruturas de dados resolvi voltar e fazer os exercícios que são apresentados em Java. Pensando mais um pouco, tomei a decisão de implementar os exercícios em diversas linguagens diferentes: Java, Kotlin, PHP, Ruby e Go.

Por quê? Pelo simples fato de estudar.

O que estou ganhando com isso? Além de rever os fundamentos das estruturas de dados, estou revendo conceitos e detalhes de características específicas em diferentes plataformas, além de rever como organizar projetos nessas plataformas. Ex: Projetos em Ruby usando Bundler… Trabalhar com Benchmarks em Go… Testes unitários em PHP… e por aí vai.

Bom! É isso aí! Espero ter contribuído e estou a disposição para receber quaisquer feedbacks 👍

Faça parte da nossa comunidade!

Domine as tecnologias utilizadas pelas empresas mais inovadoras do mundo e encare seu novo desafio profissional, evoluindo em comunidade com os melhores experts.

19

Certificado

Comentários

    Nenhum comentário