sábado, 17 de novembro de 2012

Divagações sobre programação

Depois de mais de um mês sem nenhum post devido à varias atividades que estavam me sugando até o osso, eu apresento um post light com algumas divagações sobre a atividade da programação de computadores.

Eu acho que programar é uma das atividades mais gratificantes. Quando programamos, nos sentimos poderosos, podemos criar qualquer coisa, o limite é a nossa imaginação. Isso me lembra do anel do Lanterna Verde, que é considerado no seu mundo dos quadrinhos a arma mais poderosa do universo (sim, eu curto quadrinhos). O resultado da nossa criação nos faz sentir felizes e normalmente cuidamos como se fosse nosso próprio bebê.

Mas, apesar disso, a programação também é frustrante. Quando alguma coisa começa a dar errado, uma avalanche de erros inunda o seu programa. No momento em que você conserta um erro, outro aparece.

Muitas pessoas compartilham da paixão pela programação, outras nem tanto. Mesmo sendo profissionais da área, alguns só consideram como parte do seu trabalho, não tirando dali nenhum prazer ou satisfação. A esses, mesmo compartilhando que muitas vezes não há outra alternativa de trabalho, eu aconselho que procurem o seu rumo em algo que os satisfaça melhor, pois é na insatisfação do dia a dia que adoecemos, às vezes de forma grave.

Claro que, admito, mesmo para aqueles que amam programar, há certos sistemas, como sistemas de controle de estoque, ERP, CRM, entre outros que envolvem cadastros à banco de dados, onde várias das atividades são excessivamente repetitivas, o que frustra bastante porque nesse momento nos sentimos simples operários, levantando blocos e consertando buracos na parede.

Inclusive, como há uma tendência cada vez maior em separar as atividades de projeto e implementação, muitos programadores se frustram pelo fato das atividades criativas estarem sendo feitas pelos arquitetos e analistas. Bom, isso é algo discutível porque muitos consideram (inclusive eu) que a atividade da programação, mesmo recebendo as diretrizes de um analista, é também criativa, pois as especificações passadas não detalham toda a implementação, ficando assim ao cargo dos programadores escolherem a melhor estratégia para resolver as situações.

Há muito o que se divagar ainda, mas por enquanto é só. Espero não ter falado alguma besteira. Se identificarem algo errado no texto, deixem nos comentários. Até outro dia.