Aprenda Com Seus Erros... mesmo que sejam BOBOS 🤦‍♂️👀🤡

Com certeza, em algum monte muito alto por aí um sábio que habitava alí deu um conselho para um jovem que escalou a montanha para contemplar sua sabedoria: "Os erros nos ensinam mais do que os acertos!" (Voz trêmula e com uma leve roquidão).

Sábio da montanha

Realmente, quando erramos, admitimos o erro, pensamos em quais os fatores que nos levaram a errar e, por fim, pensamos em como não cometer aquele erro novamente, os erros podem nos ensinar muito, já que sentimos na pele o resultado daquele erro e agora sabemos como não repetir aquele proceder.

No caso de devs aprender com os erros é de ainda mais importante. Mas, e se os erros forem daqueles bem toscos, que depois que você percebe dá vontade de enfiar a cabeça debaixo da terra?

Bom, esses também podem ensinar aspectos valiosos!

Vamos ao meu caso recente: Iniciei os estudos em React a alguns dias e estava estudando sobre usar CSS Modules com React nessa semana. Eis que estava acompanhando a explicação do vídeo e fazendo anotações. Após isso fui praticar no meu VS Code o que tinha acabado de aprender. Fui seguindo o código conforme eu entendi, criando um arquivo para com o modules.css e importando ele no componente que iria usá-lo, porém, quando dei o npm start o css não funcionou.

A primeira ação foi revisar minhas anotações, em seguida, revisar o vídeo que estava estudando, mas ainda assim não encontrei o porquê do não funcionamento. Em seguida, parti para as pesquisas no Google e Youtube, passando de pesquisas em português para inglês, mas mesmo assim nada feito.

Em uma das minhas pesquisas vi que essa função só estava disponível a partir de determinada versão do node. Como já tinha instalado o node a algum tempo parti para a atualização. Mesmo assim nada, não consegui resvolver o erro. Passados cerca de 2 horas pesquisando, lendo informações sobre o assunto e instalando pacotes de css-loader e style-loader me dei conta de meu grande(pequeno) erro:

Um simples S! 🤡🤡🤡🤦‍♂️🤦‍♂️🤦‍♂️

Sim, um simples S. A extensão era modules.css e eu havia escrito module.css. Nesse momento uma pontinha de raiva, junto com cara de tacho veio a tona. Fiquei incrédulo que aquele erro tão pequeno me fez perder tanto tempo, porém, ele não foi inútil.

Vamos aos aprendizados:

  1. Apesar de me considerar uma pessoa atenta esse acontecimento me ajudou a ver que atenção é algo muito importante na programação. Então, dividir a atenção e tentar fazer um multitarefa pode custar caro. Com um pouco mais de atenção esse acontecimento seria evitado.
  2. Comece pelo óbvio. Na maioria das vezes o erro está bem abaixo de nosso nariz. Se eu houvesse começado a procurar o erro pelo mais simpses, logo acharia. Mas, ao invés disso comecei a pesquisar por erros no css modules, instalação de pacotes para css modules, erros no vs code e assim por diante.
  3. Vi a importância de pesquisar. Confesso que quando estava pesquisando e não estava conseguindo resolver o erro passou pela minha mente jogar aqui no tabnews e aguardar uma resposta. Com certeza, seria mais cômodo, mas impediria que eu desenvolvesse habilidades de pesquisa e chegasse a conclusão sozinho. Nesse ponto cabe uma frase que, por coincidência, vi num vídeo no dia seguinte. A frase está nesse vídeo aqui. Ela é:

Sempre tem uma forma de resolver problemas, você só não pesquisou o suficiente ainda. Pesquise mais e você vai encontrar!

Bem, esse foi meu grande pequeno erro cometido essa semana. Espero que eu não tenha sido o único a cometer alguns erros bobos.

Me conte aí algum erro bobo que aconteceu com você na progamação!

Eu cometo erros o tempo todo, bobos e graves. O tempo vai fazendo errar menos, mas se não errar estamos fazendo algo errado. Não erra que só repete o que sempre fez. Quem se arrisca, faz coisas novas, faz o'que ninguém fez antes, vai errar. Ninguém é gênio no sentido de acertar sempre. Na verdade os gênios são os que mais erram, só assim conseguem ser gênios, porque eles colhem os frutos de muitas tentativas e erros.

Eu não falhei. Apenas descobri 10 mil maneiras que não funcionam.

Não há um código meu que eu ache ruim pouco depois de eu ter feito. Claro que boa parte das vezes são detalhes bobos que eu não gosto. E o melhor ou pelo menos não faço igual na próxima vez.

O segredo é justamente se responsabilizar pelos seus erros. Jamais ache que o que acontece de ruim com você é culpa de alguém. Mesmo que alguém tenha feito algo, só você pode lidar e resolver isso. Quando você admite o erro entra no caminho da solução e pode chegar nela se fizer outras coisas adequadamente. Se achar que não errou não vai corrigir. Por isso eu falo muito que se você treina o erro é ele que fará para sempre.

E sei disso não porque alguém me contou, é porque eu fiz muito isso, e qualquer bobeada ainda faço. Se você perder um pouco o comprometimento com a melhoria contínua ela falhará. E não é fácil, tenha certeza disso. Por isso é importante estar bastante consciente, e textos como esse ajudam a todos.

Quero reforçar que saber que erramos não é suficiente. A solução não é automática só porque admitimos.

Tem erros que não ensinam muito que são os provocados pela circunstância. Todo mundo acorda em um dia ruim e comete erros que não são normais para ela, são deslizes de operação, não da estrutura do que a pessoa é capaz. Esses não costumam ser evitáveis e raramente servem de aprendizado. Existe uma diferença entre você esquecer um ; e decidir não usar porque tem preguiça de digitar e a linguagem aceita isso sob certas circunstâncias. O primeiro é uma falha pontual, o segundo é teimosia ou desconhecimento das consequências, mas é erro estrutural que você precisa admitir e passar a não fazer mais.

Então esse erro relatado na postagem original pode servir de aprendizado para ter mais atenção, mas ele não vai ensinar que você precisa colocar o S. Isso é erro de digitação ou descuido que todos estão sujeitos. O aprendizado aí é não perder muito tempo, é olhar para o que importa.

Outro aprendizado é olhar com atenção e conhecer oque quer dizer o erro apresentado pelo compilador. Muitas vezes  ele está sendo entregue, mas falta a pessoa entendê-lo bem para achar a solução mais facilmente. Tem erro que você acha fácil depois de experiência. Ou de pesquisa, conforme relatado.

Uma das cosias que mais me incomoda é quando a pessoa posta: "o compilador está bugado"

Eu não concordo com a frase citada porque existem problemas insolúveis. E alguns pode ser que precise de algo inusitado e você não achará se pesquisar, por isso é importante saber conseguir soluções e não só achar o que existe, ainda que usar o'que já existe costume poupar trabalho, quando isso é possível. Mas a frase serve de incentivo porque em geral a solução existe e pode ter o relato de alguém mesmo.

Esse tipo de erro ocorre tantas vezes por dia que nem faria sentido eu relatar. Em alguns casos dá bem menos trabalho pedir para alguém ver para você. Mas talvez seja o erro que mais acontece.

Esse tipo não ajuda tanto porque é tudo ou nada. Os erros mais difíceis são os que funcionam mas não está certo. Porque não tem nada reclamando e deixa até dar o resultado. Só que o resultado não é bom. E a pessoa pode não saber disso. E não está impedindo o progresso do trabalho. Então a pessoa não pode corrigir porque ela "nega" o erro. Nega passivamente, nega porque nem sabe que é um erro. Aí é questão de atitude de estar comprometido com a melhoria ou só com o funcionamento.

Os erros pontuais eu esqueço e vou fazer de novo, porque não é por falta de aprendizado. Eu vou resolver mais facilmente se eu aprender como lidar com eles. E os 3 itens postados acima realmente ajudam muito.

Eu dei uma resposta que ilustra o que precisa ser feito para usar o erro a seu favor: https://www.tabnews.com.br/maniero/8bb6d329-44e1-4674-9e15-72c48964de70

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Excelente ponderação! Gostei da citação da frase do Thomas Edison. Realmente, só sabe se errou se tentou e sabe melhorar o código se pesquisar e não ficar sempre repetindo código. Seu comentário no final de que "os erros mais difíceis são os que funcionam mas não está certo" reforça bastante a ideia de que nem sempre algo que funcione é porque não tem algo de errado ou uma forma melhor de fazer. Por isso, a importância de estar sempre evoluindo e se desafiando. Agradeço pelas dicas, não só nesse post mas em muitos outros aqui do tabnews que sempre acompanho.