[ad_1]

Lembro-me vividamente dos meus primeiros 6 meses tentando aprender a programar. Eu estava acompanhando algum tipo de tutorial, sem entender nada do que estava fazendo.

Eu era basicamente um gato copiador.

O vídeo na minha frente frequentemente ficava rápido demais para minha digitação. E muitas vezes eu tive que parar o vídeo, retroceder e assistir novamente ou pausar em um local específico, apenas para que eu pudesse copiar exatamente o mesmo código que o instrutor.

E mesmo assim eu sempre entendi errado.

Lembro-me da frustração de tentar depurar um tutorial específico por dois dias seguidos, só porque o instrutor havia se esquecido de mostrar algo que ele achava que eu sabia.

Não era culpa deles em si, mas com certeza era frustrante. É fácil esquecer que o conhecimento adquirido para nós é magia negra para outra pessoa.

Eu também sou culpado disso.

Muitos anos se passaram desde aqueles primeiros dias, e minha jornada de aprendizado e trabalho árduo valeu a pena. Mas ainda me pergunto: eu poderia ter aprendido de maneira mais eficaz?

Como aprender de forma eficaz

Neste artigo, há três pontos que gostaria de abordar e que acho que retardaram meu aprendizado: falta de foco, a armadilha do tutorial e abstrações.

Falta de foco

Meus primeiros dias de programação foram atormentados por uma grave falta de foco. Eu era como um cordeiro perdido. Em busca de conhecimento, mas não nos lugares certos e nunca o suficiente. A falta de foco não era inteiramente minha culpa, mas era um produto do motivo pelo qual eu estava aprendendo.

Comecei a aprender a programar como resultado de trabalhar em uma startup onde precisávamos de um desenvolvedor web. Nossa estratégia de terceirização estava falhando, e precisávamos de alguém para aprender a fim de ajudar a lançar o produto no mercado.

Eu ia ajudar nossos desenvolvedores no exterior, então comecei a aprender a linguagem de programação na qual eles estavam escrevendo nossa plataforma: PHP.

Com o passar do tempo, mudamos de desenvolvedor três vezes. E linguagens de programação. Isso resultou em aprender um pouco de PHP, um pouco de Python e um pouco de Ruby.

Isso foi um erro.

Aprender um pouco sobre isso e um pouco daquilo significa que você não está realmente se dando tempo para entender os conceitos completamente. Programar é difícil, não há como evitar isso. Portanto, precisamos nos dar tempo para compreender totalmente esses conceitos.

Somente depois que assumi o compromisso de aprender JavaScript por completo, comecei a ver mudanças significativas em meu entendimento ao longo do tempo.

Não se agite. Domine uma linguagem de programação. Domine até o núcleo. Domine-o totalmente.

Isso não significa que você está se casando com um único idioma. Você pode ramificar mais tarde. Isso significa que você está usando uma linguagem de programação como seu veículo para entender a programação.

A armadilha do tutorial

Tutoriais são ótimos. Honestamente, perdi a conta de quantos tutoriais fiz. É uma sensação ótima criar algo que funcione. Além disso, assistir vídeos de alguém que sabe o que está fazendo faz com que você sinta que também sabe disso.

Mas é muito fácil cair na armadilha de apenas assistir a tutoriais. Colocar em um vídeo é simples. Fazer o trabalho duro não é. E fazer o trabalho duro é o que fará de você um desenvolvedor.

O problema que eu costumava ter com os tutoriais era que todo o pensamento já era feito com antecedência, pelo instrutor. E o instrutor fazendo aquele trabalho significava que eu não precisava.

Isso não foi bom, porque significava que eu estava me enganando e pensando que estava aprendendo ao mesmo tempo.

Problema em dobro.

Não estou dizendo que você não deve fazer tutoriais. Especialmente se você está aprendendo sozinho, às vezes você só precisa entender o que exatamente você precisa fazer para seguir em frente. Ou você precisa tentar juntar peças aqui e ali para preencher o quadro geral.

Mas sempre que terminar de assistir a um tutorial, você deve praticar.

Eu sei. É difícil. Estou sendo deliberadamente duro com você agora. Ainda hoje sou culpado de apenas colocar um vídeo tutorial quando minha energia está gasta. Eu continuo pensando que é melhor do que nada. E com certeza é.

Mas se você não praticar, estará perdendo tempo e esforço valiosos.

Uma das melhores coisas que já aconteceram para o meu aprendizado foi a decisão que tomei de fazer os projetos do freeCodeCamp. Eles são projetos definidos que não seguram sua mão. Eu precisava descobrir como implementar tudo.

E adivinha? Fazer isso é exatamente o trabalho de um desenvolvedor. É assim que nos sentimos todos os dias. Recebemos uma tarefa que geralmente não temos ideia de como resolver, e então aplicamos uma caixa de ferramentas de habilidades aprendidas a esse problema.

Ser desenvolvedor não é ter resposta para tudo. Trata-se de encontrar a resposta para tudo.

E você não chega lá apenas assistindo aos tutoriais.

Prática. Prática. Prática.

Não confie em abstrações

Ser desenvolvedor em 2020 é difícil. A tecnologia está se movendo rapidamente e avanços estão sendo feitos o tempo todo. Um dos conceitos que nos permite mover rapidamente são as abstrações.

Abstrações são ótimas. Alguém pegou algo difícil e tornou mais fácil abstraindo a parte difícil.

Você pode pensar nisso como um fogão. Você não precisa saber como funciona o fogão, só precisa saber que ao apertar um botão o fogão acende e aquece o prato. É tudo que você precisa para fazer o jantar.

No código, isso também é ótimo. Não precisamos escrever código de máquina, porque ele é abstraído. Não precisamos escrever servidores HTTP, porque eles foram feitos e estão disponíveis para uso, e podemos construir coisas novas e incríveis em cima deles.

Infelizmente, esta também é uma faca de dois gumes.

Embora as abstrações nos permitam fazer coisas incríveis, também perdemos coisas importantes que nos permitem crescer como desenvolvedores. Coisas que nos permitem entender em um nível mais profundo o que está acontecendo. Coisas que podem ser importantes para a criação de grandes soluções.

Sentimos falta dessas coisas porque não precisamos aprendê-las, embora, ao aprendê-las, muitas vezes nos tornemos melhores desenvolvedores do outro lado.

Essas coisas costumam ser incômodas, difíceis e enfadonhas de aprender. O que os torna mais fáceis de ignorar em nosso processo de aprendizagem.

Mas eu gostaria de desafiá-lo a ser curioso.

Não fique satisfeito apenas construindo com frameworks como React. Crie um aplicativo de página única em JavaScript vanilla.

Não fique satisfeito apenas com o Express. Tente construir seu próprio servidor web usando Nodejs e TCP. Aprenda HTTP.

Aprenda as coisas difíceis, chatas e banais que o tornam um desenvolvedor melhor. Ou pelo menos tente. Na minha opinião, você ficará melhor.

Conclusão

Neste artigo, exploramos três áreas que acho que retardaram meu caminho para me tornar um desenvolvedor: falta de foco, a armadilha do tutorial e abstrações.

Dei alguns conselhos concretos com base em minha própria experiência sobre como você pode evitar esses erros e, espero, aprender com mais eficácia.

Se você está interessado no meu conteúdo, você pode encontrar meu canal do youtube aqui, onde abordo coisas como React, fundamentos da web, chatbots e muito mais.

Você também pode me seguir no twitter @foseberg.

Obrigado por ler este artigo e compartilhe-o com quem você acha que pode ser útil. Boa sorte em sua jornada.



[ad_2]

Fonte