Todo mundo tem problemas, mas sejamos sinceros, os programadores vivem praticamente de resolver problemas. Observando esta peculiaridade da minha profissão escrevo este post com o objetivo de apresentar quatro pontos de vista dos problemas, no cotidiano de um programador.
A coisa toda é resolver problemas
Se não houver problemas para serem resolvidos, não precisaríamos de tecnologia. Os carros foram inventados para resolver o problema da locomoção, a internet para permitir a conexão e cada programa de computador, por menor que seja, resolve algum problema.
Mas, no desembolar do desenvolvimento de qualquer programa, o programador passa por vários problemas lógicos, de cálculo, estrutura ou engenharia, que precisam ser resolvidos.
Leia também meu post “Porque programadores gostam de programar?“!
Problemas sem solução? Deixa que eu resolvo
Alguns problemas são recorrentes, acontecem com vários programadores em situações diferentes. Para estes problemas existem soluções padrão, como se fossem fórmulas (design patterns), mas nem todos os problemas são atendidos por estes padrões, eu diria que menos de 1% dos “problemas de programação” têm uma solução pronta. O que torna essa profissão completamente diferente das demais. O programador se depara constantemente com problemas jamais vistos e precisa criar soluções para estes problemas.
Uma forma simples de entender isso é lembrando a matemática, onde dependendo do problema apresentado você utiliza uma fórmula para resolver. Durante todo o estudo no primeiro e segundo graus, bem como nas demais graduações, utilizamos sempre as mesmas fórmulas. Precisamos apenas lembrar que existem e utilizar uma aqui, outra ali, duas ou três em um só problema… Mas não precisamos criar novas fórmulas.
Na programação precisamos ter um pouco de Gauss, Galileu e Einstein todos os dias, pois os problemas são sempre novos.
De todas as soluções, a minha é a melhor
Não basta ser programador, tem que duvidar da melhor solução existente para um problema e criar sua própria solução. Em 99% dos casos o programador não levantará uma bandeira para mostrar ao mundo como resolveu um problema mais complexo, de sua maneira.
Tentar prever e resolver problemas que não existem
Não bastasse resolver problemas novos a todo o tempo, é preciso imaginar problemas que ainda não existem. Complicou?
Quando se faz algo novo, você tem certeza que aquilo dará alguns problemas quando for colocado em funcionamento, então é preciso imaginar os possíveis problemas que poderão acontecer, e já soluciona-los. Encontrar, imaginar e resolver problemas que ainda não aconteceram, e possivelmente nunca aconteceram!
Enfim, a profissão de programador está diretamente ligada a resolver problemas.