A diferença entre programar e brincar de programar
Quanto mais estudo e evoluo na área, mais percebo um problema: grande parte dos cursos, canais e influencers de programação acaba tratando o aprendizado de forma superficial.
Muitos desses conteúdos ajudam pessoas a dar os primeiros passos. O problema é quando isso cria a impressão de que programar é apenas seguir tutoriais e fazer algo funcionar.
Demorei bastante tempo para entender o que realmente significa ser programador. Durante muito tempo, percebo hoje, eu apenas brincava de programar.
Programar de verdade é diferente.
Hoje, sistemas de software são parte essencial da sociedade. Eles mantêm empresas funcionando, movimentam dinheiro, controlam equipamentos, armazenam informações e sustentam serviços usados por milhares ou milhões de pessoas.
Um erro pode significar:
- perda de dinheiro
- perda de dados
- falha em um serviço essencial
- prejuízo para empresas ou clientes
- Em alguns contextos, falhas podem até colocar pessoas em risco.
Por isso, programar não é apenas fazer algo funcionar. É construir algo que funcione com segurança, confiabilidade e manutenção possível ao longo do tempo. Quando olho para trás, percebo vários hábitos que eu tinha e que hoje considero irresponsáveis:
- “Se funciona, não mexe.”
- “Vou ver um tutorial no YouTube.”
- “Vou copiar e colar esse código. Se funcionar, está ótimo.”
- “Pra que testar? O cliente testa.”
- “O importante é funcionar.”
- “Consigo fazer tudo em JavaScript, não preciso aprender outras coisas.”
- “Em uma semana fica pronto.”
- “Pra que usar GitHub?”
- “Esse código está cheio de comentários porque nem eu sei mais o que ele faz.”
A lista poderia continuar.
O problema é que eu pensava assim porque não sabia melhor. Nenhum curso tinha realmente me mostrado as consequências desse tipo de mentalidade. Com o tempo, alguns problemas começaram a aparecer. Bugs difíceis de rastrear, decisões técnicas ruins e sistemas difíceis de manter. Em algum momento fui cobrado por essas escolhas. Isso mudou minha forma de trabalhar.
Hoje desconfio de praticamente tudo. Inclusive das minhas próprias soluções. Sempre me pergunto:
- Existe uma forma melhor de fazer isso?
- Essa ferramenta realmente é adequada?
- Quais são as limitações dessa biblioteca?
- Isso vai continuar funcionando daqui a alguns anos?
Na prática, isso significa muito mais trabalho do que simplesmente seguir um tutorial. Muitas vezes não existe vídeo ou curso explicando exatamente o que você precisa.
É comum precisar:
- testar várias bibliotecas diferentes
- entender os prós e contras de cada abordagem
- acompanhar atualizações de linguagem e ferramentas
- avaliar se uma dependência ainda é mantida
Isso é cansativo, mas faz parte do processo. Uma experiência marcou bastante essa mudança de perspectiva.
Uma vez estava desenvolvendo um sistema com atualização em tempo real e gerenciamento de estado relativamente complexo. Usei uma função nativa da linguagem que sempre utilizei antes. Para mim, ela simplesmente funcionava.
Mas eu nunca tinha estudado profundamente suas limitações.
Quando o sistema começou a falhar, fiquei dias tentando entender o problema. Tudo parecia correto. O comportamento não fazia sentido. Depois de testar cada parte isoladamente, finalmente entendi: a função tinha limitações específicas naquele tipo de cenário. A solução foi refratora grande parte do sistema.
Essa “brincadeira” custou cerca de 15 dias de trabalho.
A lição que ficou é simples:
Existe uma grande diferença entre fazer algo funcionar e construir algo confiável. E essa diferença raramente aparece em tutoriais.
Aprender programação de verdade muitas vezes significa sair do conforto dos cursos, questionar ferramentas, testar alternativas e entender profundamente aquilo que você está usando. É um processo mais lento, mais difícil e, muitas vezes, frustrante.
Mas é assim que deixamos de brincar de programar e começamos a agir como profissionais.