Eu morri dezenas de vezes para o mesmo chefe. Minha vontade era arremessar o controle na parede e simplesmente desinstalar o jogo. Eu jurava que era impossível passar daquela parte. Mas, de alguma forma, eu insisti, aprendi e venci. Hoje, eu vou te mostrar como as lições que tirei de Hollow Knight mudaram a forma como eu encaro problemas difíceis na vida real e na programação.
Se você sente que trava toda vez que um desafio parece grande demais ou quando um código simplesmente não funciona, esse vídeo é para você.
Passo #1: O choque de realidade (e a frustração)
Para quem não conhece, Hollow Knight é um jogo fantástico, com uma arte belíssima e uma dificuldade impiedosa. Ele não pega na sua mão em momento nenhum. Logo nas primeiras horas, você vai apanhar muito e se sentir completamente perdido. Isso não te lembra alguma coisa?
Quando começamos a aprender uma nova linguagem de programação, um novo framework ou pegamos um projeto complexo no trabalho, a sensação é exatamente a mesma. O choque de realidade vem forte. Você tenta compilar o código e a tela enche de erros vermelhos. A frustração é o primeiro estágio natural.
O grande erro que a maioria das pessoas comete é achar que a frustração significa falta de capacidade. "Ah, eu não sou inteligente o suficiente para isso" ou "Acho que programação não é para mim". Em Hollow Knight, morrer não é um erro, é parte do ciclo de aprendizado. Entender isso é o primeiro passo para não desistir no primeiro obstáculo.
Passo #2: Observar os padrões
A mágica de enfrentar um chefe difícil em Hollow Knight é que os movimentos dele não são aleatórios, eles seguem padrões. Na primeira vez, você morre em 10 segundos porque não sabe o que ele vai fazer. Na décima tentativa, você já sabe que, quando ele levanta a espada, ele vai dar uma investida para a frente.
No mundo do desenvolvimento de software, os "chefões" são os bugs cabeludos e as novas tecnologias. Um erro no console pode parecer grego na primeira vez que você lê. Mas se você parar o piloto automático e começar a ler a mensagem de erro de verdade (em vez de só copiar e colar no Google no desespero), você começa a identificar os padrões.
- O erro de sintaxe sempre acusa a linha onde o ponto e vírgula faltou;
- O NullPointerException sempre acontece porque você tentou acessar um dado que ainda não existe;
- Um layout que quebra no CSS geralmente é um flexbox mal configurado.
Você só consegue superar o desafio quando para de atacar às cegas e passa a observar e entender o problema de verdade.
Passo #3: O poder da persistência e do descanso
Apesar de entender os padrões, o cérebro humano tem um limite de absorção. Muitas vezes eu passei duas horas tentando passar de um desafio no jogo, estava exausto e perdendo cada vez mais rápido. Eu desligava o videogame, ia dormir e, no dia seguinte, passava de primeira.
Se você já ficou preso num bug até as 3 da manhã, sabe bem do que eu estou falando. A gente desenvolve a chamada "visão de túnel". Você tenta a mesma solução inútil repetidas vezes esperando um resultado diferente.
Nessas horas, o melhor a fazer é dar um passo para trás. Levantar, beber uma água, ir dar uma caminhada ou simplesmente deixar para o dia seguinte. Seu cérebro continua trabalhando no problema em segundo plano. Quando você volta com a mente fresca, a solução parece tão óbvia que você até ri da própria cara.
Passo #4: A recompensa do esforço
Existe um motivo pelo qual jogos difíceis fazem tanto sucesso. A dose de dopamina que o seu cérebro libera quando você finalmente derrota aquele chefe impossível é gigantesca. A sensação de competência e vitória faz tudo valer a pena.
Quando você finalmente consegue fazer aquele sistema rodar, ou quando o teste de ponta a ponta passa verde depois de dias de luta, a sensação é a mesma. O esforço foi grande, mas a recompensa de saber que você evoluiu e agora domina uma habilidade nova é impagável.
Conclusão
No fim das contas, encarar coisas difíceis, seja num jogo ou na vida real, não é sobre talento nato. É sobre paciência, observação, saber a hora de descansar e ter a teimosia de tentar mais uma vez.