Esta técnica vai te ajudar a aprender qualquer coisa (Principalmente programação)

Wes Guirra
React Brasil

--

Fala galera Blza?

Hoje vou abordar um assunto que acredito ser de extrema importância, principalmente para quem está começando agora na área de tecnologia, independente se o cargo que almeja seja designer, desenvolvedor, gerente de produtos, etc.

Heurísticas de aprendizado.

No último vídeo onde falei das 3 razões pelas quais as pessoas desistem de aprender a programar eu cito que uma das principais habilidades para se programar é o pensamento analítico, e eu não quero que se sintam orfãos desse conteúdo, afinal, eu mesmo disse que era uma habilidade necessária para um desenvolvedor então nada mais justo do que voltar aqui e ajudar vocês a desenvolver tal habilidade.

Antes de começar a falar sobre o assunto em questão, pra quem não me conhece bem, uma das coisas que sempre tento fazer é simplificar ao máximo o conteúdo que tenho a transmitir, eu acredito que mais do que ser acessível em termos de disponibilidade o conteúdo precisa ser claro e direto, mesmo para as pessoas mais simples que nunca estudaram sobre o assunto antes.

O que é o Aprendizado Heurístico?

Vamos começar pelo básico e definir o que é uma heurística.

A Heurística é qualquer abordagem que utilize de métodos práticos para a auto-descoberta e solução de problemas.

E para exemplificar e diferenciar o aprendizado heurístico do aprendizado tradicional vamos dividir o trabalho em dois tipos.

Primeiro imagine dois trabalhadores.

Um é operador de produção em uma fábrica de componentes eletrónicos, suas tarefas se resumem em: ficar à frente de uma esteira; posicionar um componente eletrônico em uma placa de circuitos; aplicar solda e assim sucessivamente para cada item.

O outro é um gerente de marketing de uma multinacional que vende aparelhos de celular, suas tarefas se resumem em: criar e planejar campanhas que atraiam a atenção do seu público usando qualquer ferramenta ou canal disponível.

No primeiro caso podemos categorizar como um trabalho algoritmico, pois é necessário seguir uma ordem de execução ou um passo-a-passo.

Para o segundo podemos categorizar como um trabalho heurístico, pois envolve o pensamento criativo/analítico e não é necessário seguir uma ordem de passos, mas é necessário compreender o seu público, suas dores, seus problemas e angústias, e tomar decisões que não serão perfeitas mas que irão atender às expectativas e necessidades da empresa.

E o processo heurístico não possui um conjunto de passos a serem obedecidos, já o processo algorítmico depende de um passo-a-passo.

Um fato curioso é que para que o processo algoritmico exista o processo de trabalho heurístico foi usado primeiramente para criar o algoritmo.

Não existe exemplo mais claro e direto para se referir ao aprendizado heurístico como a entrevista de Thomas Edison quando um jovem repórter o perguntou por que ele insistia em inventar a lâmpada uma vez que falhou diversas vezes, Edison respondeu que não havia falhado 1000 vezes, mas sim descoberto 1000 maneiras de como não inventar a lâmpada.

Fica claro na frase de Edison que o aprendizado heurístico é uma mistura de tentativa e erro, processo de eliminição etc.

E como desenvolver o pensamento analítico?

Diferente do método comum de aprendizado que envolve fatos e teorias, o aprendizado heurístico envolve fazer, testar e praticar.

Entrando no contexto de programação, você irá potencializar o seu aprendizado praticando, errando, testando e descobrindo. O aprendizado heurístico é um processo de auto-descoberta que depende da prática.

E para aplicar isso no dia-a-dia, basta que começe a olhar para os problemas de todos os tipos como se fossem desafios, começe a se desafiar a não utilizar coisas prontas, por mínimas que sejam, se você não é bom em construir HTML por exemplo, tente não utilizar layouts prontos. Um dos pilares da heurística é o aproveitamento de experiências passadas como atalhos para solução de problemas, mas uma vez que você não desenvolver bem essas experiências como irá construir uma base para o aprendizado heurístico?

Bom acho que falei demais, vamos aos exemplos práticos.

No github da Digital Heroes deixei dois repositórios contendo desafios e para que você pratique o aprendizado heurístico você deve, entender o que deve ser feito (compreender o problema), pesquisar sozinho por ferramentas, termos e metódos, mas sem utilizar de uma solução pronta, ou seja você não poderá utilizar projetos prontos ou templates, mas poderá utilizar bibliotecas desde que entenda como deve aplicar elas ao seu projeto e até para isso precisará do métodos de tentativa e erro, eliminição ou qualquer outro que achar viável para usar as bibliotecas em questão.

Até mesmo o fato de precisar pesquisar e descobrir bibliotecas que podem ser usadas para um determinado fim se torna uma abordagem do aprendizado heurístico.

Dá uma olhada nos links a seguir com os desafios:

Eu deixei um repositório de exemplo de desafio, onde eu exponho o passo-a-passo que utilizei para construir uma solução diferente, não quero que você utilize deste passo, pois essa não é a ideia do aprendizado heuristico, o processo de aprendizado heuristico é diferente em cada pessoa e cada um deve desenvolver o seu próprio caminho.

O mais importante é que você aplique o processo de tentativa e erro, pois mesmo quando você faz algo errado você tem nas mãos a chance de progredir analisando que aquela forma não dá certo e com certeza não irá utilizar novamente naquele contexto ou para aquela finalidade.

Sabemos que a definição de insanidade não é fazer a mesma coisa repetidamente e esperar resultados diferentes, mas com certeza esse método é oposto ao aprendizado heurístico, não faça isso.

É isso galera eu sinceramente espero ter ajudado com este conteúdo, se você gostou do que leu aqui, clique algumas vezes no botão de aplausos, isso me ajuda a entender que o meu trabalho está se tornando relevante para todos, e me dá energia para produzir mais conteúdos de qualidade para você.

Muito obrigado pela sua leitura e até a próxima.

Esse conteúdo está disponível em formato de vídeo no canal da Digital Heroes no youtube, se inscreve lá vai me ajudar muito a continuar produzindo o conteúdo em vídeo:

--

--

Wes Guirra
React Brasil

Desde que me entendo por gente, procuro maneiras de inovar para melhorar o mundo em que vivemos.