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:
- Aceite a Ordem 4: Entenda que programar é gerenciar o que você não sabe ainda.
- Ataque a Ordem 3: Crie métodos para descobrir as coisas. Aprenda a ler a documentação, aprenda a formular perguntas no ChatGPT.
- Converta a Ordem 2 em 1: Exponha seu código a críticas. Peça feedback. Descubra o que você nem sabia que existia.
- 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:
- Não se desespere.
- Faça uma pesquisa rápida.
- Anote um resumo breve (sem profundidade ainda).
- 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.






