Aprenda com Ignorância Consciente

O segredo para não travar nos estudos

A inspiração desse texto veio de uma publicação clássica de outubro de 2000, feita por Phillip Armour, especialista em engenharia de software: The Five Orders of Ignorance.

A tese central de Armour é que o software é na verdade um “meio de armazenamento de conhecimento”. A ação de programar nada mais é do que o esforço de transformar o que não sabemos que não sabemos em conhecimento codificado.

Bugou? Calma! Pois eu também “buguei” quando li pela primeira vez, mas logo tudo começou a fazer sentido. E se você está começando agora, entender isso vai te salvar de muita frustração.

O Ciclo da Frustração do Iniciante

Quando você começa a aprender programação, é bombardeado por termos técnicos. A reação natural é o desespero: Eu nunca vou aprender tudo isso.

A boa notícia? Você não precisa saber tudo. Você só precisa saber que aquelas coisas existem.

É aqui que entra a Ignorância Consciente. No artigo original, Armour argumenta que a maior parte do trabalho em software envolve descobrir o que não sabemos. Ele categoriza a ignorância em cinco níveis. Entender onde você está em cada um deles é libertador:

  • Ordem Zero (0OI) - Falta de Ignorância: É o conhecimento em si. Você sabe algo e consegue demonstrar e ensinar, por exemplo escrever um if/else.
  • 1ª Ordem (1OI) - Falta de Conhecimento: Este é o estado mais saudável para um programador. É a Ignorância Consciente. Você sabe que não sabe algo. Exemplo: “Eu sei que existe uma linguagem chamada Rust, mas não sei a sintaxe.” Tudo bem, basta estudar para resolver.
  • 2ª Ordem (2OI) - Falta de Consciência: Você não sabe que não sabe. É aqui que moram os bugs e os erros de projeto. Você acha que o código está bom porque funcionou no “caminho feliz”, sem saber que existe um cenário de borda que vai quebrar.
  • 3ª Ordem (3OI) - Falta de Processo: A barreira mais frustrante para o iniciante. Você tem um erro, mas não sabe como interpretar. Você quer aprender, mas não sabe por onde começar. Você trava e não sabe se o problema é lógica, sintaxe ou configuração. Se identificou? Calma.
  • 4ª Ordem (4OI) - Meta-Ignorância: Você não conhece os níveis de ignorância. Mas agora que leu isso, você já superou essa fase! Aqui é zoeira, pois você sabe que não saber faz parte de um processo, então use isso e Aprenda com Ignorância Consciente.

Como aplicar a Ignorância Consciente nos estudos

Você sabe que não sabe e sabe quando precisa saber

O estudante iniciante costuma achar que programar é decorar sintaxe. Ele se frustra a cada obstáculo, achando que é “burro” ou que “não leva jeito”.

Se você está aprendendo, encare seu ciclo de trabalho assim:

  1. Aceite a Ordem 4: Entenda que programar é gerenciar o que você não sabe ainda.
  2. Ataque a Ordem 3: Crie métodos para descobrir as coisas. Aprenda a ler a documentação, aprenda a formular perguntas no ChatGPT.
  3. Converta a Ordem 2 em 1: Exponha seu código a críticas. Peça feedback. Descubra o que você nem sabia que existia.
  4. Converta a Ordem 1 em 0: Estude e pratique até que aquilo se torne natural.

A Técnica do Mapa Mental

Uma forma prática de resolver a ansiedade é anotar tudo o que você não sabe, como se estivesse aprendendo um novo idioma.

Ao fazer isso, você tira do cérebro o peso de “ter que saber tudo agora”. Você cria um mapa do seu aprendizado. Digamos que você está estudando e vê o termo PubSub repetidas vezes:

  1. Não se desespere.
  2. Faça uma pesquisa rápida.
  3. Anote um resumo breve (sem profundidade ainda).
  4. Siga em frente.

Lá na frente, quando você precisar fazer um processamento assíncrono de dados, seu cérebro vai conectar os pontos: Espere, eu anotei algo sobre isso!”. É nessa hora que você aprofunda, estuda exemplos e coloca a mão na massa.

Eu usava essa técnica de forma amadora no início dos anos 2000 quando estava aprendendo programação.

A grande tecnologia do momento era o bom e velho Notepad do Windows. Eu mal sabia HTML, então comecei anotando tags de formatação, tabelas, links e cores. Aquele arquivo de texto virou minha fonte de consulta. De tanto consultar, acabei decorando, até chegar o momento em que não precisava mais abrir o arquivo. Eu tinha transformado a ignorância em conhecimento (Ordem 0).

A Evolução do Processo

Hoje, claro, não uso mais o Notepad. A Inteligência Artificial nos deu uma alavanca enorme para aprofundar em contextos específicos. Quando preciso entender um tema novo, recorro à IA e, se fizer sentido, documento o que aprendi.

Minha organização atual envolve softwares que trabalham com tags (como Obsidian ou Joplin), categorizando tudo por contexto de aprendizado.

A lição final é não se sinta mal por estar na 1ª Ordem (saber que não sabe). O problema real é estar na 3ª Ordem (não ter um jeito de descobrir a resposta).

Uma boa maneira de ter um processo e sair da Ordem 3 é assinar esta newsletter. Aqui, vou compartilhar mais sobre esse processo de organização e como aprender programação.