sexta-feira, 19 de março de 2010

Você!

Todos somos culpados, mas a corrente sempre rompe no seu elo mais fraco. E os demais elos culpam o elo rompido, como se eles mesmos não fizessem parte da mesma corrente. No mundo da informática, no qual me insiro, não existe culpado maior pelos problemas de um sistema do que o programador. Quem trabalha nesse meio sabe que o programador é um peão de fábrica, que trabalha com prazos irreais, e com clientes sempre insatisfeitos. Se alguma coisa não funciona a culpa é sempre do programador.

Será que as pessoas gostam de hipocrisia? Gerentes, arquitetos, coordenadores, clientes, analistas de negócio, vendedores, testadores, todos podem errar, mas a culpa adivinha de quem é? Se tudo dá certo, parabéns aos gerentes, arquitetos, coordenadores, clientes, analistas de negócio, vendedores e testadores. Não temos parabéns para o programador, afinal, não fez mais que a sua obrigação, não é verdade? Não! Não é verdade. O programador trabalha em ambiente insalubre. Normalmente trabalha este com uma máquina muito ultrapassada, com recursos limitadíssimos, com servidores de teste entulhados de problemas, com banco de dados que não tem informação válida sem falar nos prazos para ontem. Por que será que ainda hoje, após anos de programação e métodos de trabalho, após diversos PMIs e metodologias pomposas com gráficos em Power Point, ainda temos que passar por situações em que não é humanamente possível entregar um projeto decente? Não observa isso os gerentes, clientes e quem mais define liderança em uma empresa? Será que é mais bonito entregar primeiro e correr atrás do erro depois? Claro que a pergunta é retórica. Primeiro vende-se o produto. Depois alguém vai ver se dá pra fazer o prometido. E se não der? Ah, aí culpa-se alguém, né?

No mundo capitalista, vivemos uma situação em que o dinheiro vem em primeiro plano. O que gera renda imediata, a curto prazo, é o principal da situação. Não se tem planejamento se este impeça a venda de alguma coisa naquele momento. Até isso acontecer, é uma consequência do capitalismo. O que não deveria acontecer é um bando de hipócritas querendo jogar a culpa nas pessoas que realmente produziram o software.

As ferramentas de programação e linguagens estão ficando mais amigáveis. Com interfaces mais simples, como o Code Bubbles para Java (veja o vídeo), e o Spring Framework, que facilitam muito tarefas comuns em todos os projetos, isso tudo para agilizar o desenvolvimento e a entrega do produto. É algo como “se não podemos vencê-los juntemo-nos a eles”. A comunidade se esforça para tornar a parte de codificação mais rápida. Apesar da resistência das empresas adotarem as ferramentas e frameworks mais novas, ainda existe uma luz no fim do túnel, e um dia teremos ferramentas modernas o suficiente em que o desenvolvimento em si se torne apenas uma montagem de regras de negócio específicas de cada projeto, e a codificação seja implícita, ou pelo menos bem menor. Aí, talvez teremos um outro culpado: O Analista de Negócio. A culpa é minha e coloco ela em quem eu quiser.

2 comentários:

Unknown disse...

Calma! Calma! (risos).
Eu dizendo para alguém ter calma é engraçado, não? (risos).
Mas eu mudei um pouco nesses últimos anos. Não esquento mais com essas coisas. É verdade que desenvolvedor é muitas vezes tido como "pedreiro", como se desenvolver software fosse uma atividade que não requer esforço intelectual, como se fosse uma mera aplicação de técnicas... Infelizmente, a Engenharia de Software ainda não atingiu a maturidade da Engenharia Civil. A maioria dos analistas de negócio que eu encontrei até esse momento tem uma visão bastante superficial dos sistemas (superficial à um ponto muitas vezes alarmante). Eles definem o resultado final, o objetivo que estão tentando atingir, mas não tem a menor idéia de como chegar lá e muito menos ainda do custo (infelizmente muita gente ainda assume que desenvolver software não tem custo). Geralmente o desenvolvedor tem que preencher as lacunas e fazer as perguntas difíceis (talvez daí venha uma certa antipatia em geral que existe pelos desenvolvedores, dessas perguntas que ninguém gosta de escutar, que para muitas pessoas soa como pura reclamação, negativismo)... Uma coisa que eu acabei aprendendo é que o desenvolvedor não deve se preocupar em fazer o trabalho de analistas de negócios, ou seja, hoje em dia eu entrego *exatamente* o que foi pedido e tento fazer a minha parte da melhor maneira possível. Eu (e acredito que a maioria dos desenvolvedores sérios) tem essa "compulsão" de fazer tudo pelo sucesso do projeto, de assumir a responsabilidade de que tudo dê certo. Esse tipo de postura não funciona. É sempre um esforço coletivo, e o melhor que você pode fazer pelo projeto é garantir que a sua fatia desse esforço coletivo vai ser bem sucedida. Já a questão do mérito é outra longa estória...

Abraços,
Marcio.

Rodrigo Camargo disse...

Opa, presença inusitada aqui no blog! Valeu Marcio! Realmente concordo com o que você falou de não esquentar com essas coisas. Mas é difícil. Todo dia a mesma ladainha não tem cristão que aguente. Estou me policiando mais também. Desde que mudei de emprego, costumo não reclamar mais das coisas. Estou aprendendo a aceitar mais a vida como ela é, embora não concorde.
Também estou nessa de entregar exatamente o que foi pedido. Não concordo com essa metodologia, mas num mundo de hipócritas, é o que funciona. Mudei de área recentemente e essa nova é bem mais organizada que a anterior. Claro que tem suas falhas como todas as outras, mas pelo menos vejo que existe uma visão melhor da coisa. Pelo menos da parte Brasil. Abração!