Além do .NET

quarta-feira, abril 15, 2009

Developers! developers! developers!

Uma das piores coisas que alguém já fez para a TI foi comparar o desenvolvimento de software com a construção de um prédio, ou qualquer coisa relacionada a engenharia civil. Dentre muitos dos problemas que essa comparação nos trouxe, eu gostaria de destacar dois.

1) O "Efeito Cascata" - A idéia de que todos os cálculos e plantas devem estar prontos, revisados e homologados faz sentido para a construção civil. Quebrar paredes depois de prontas para adaptar uma porta não é nada muito sensato e nem barato. Por isso, dentro de um processo de edificação existe uma extensa e delicada fase de cálculos e confecção de plantas dos mais variados tipos, para que o início da obra aconteça de uma forma bem previsível e controlada. A tentativa excessiva de controle e previsibilidade em projetos de software quase sempre terminam por “Cascatear” o processo. E isso não é legal.

2) Programador = Peão (Desvalorização dos Programadores/Desenvolvedores) - Como estamos comparando o processo de desenvolvimento de um software à construção civil, é normal que tentemos relacionar os papéis entre essas duas atividades. Logo, temos arquitetos e engenheiros dos dois lados, e também temos o famoso peão, ou pedreiro de obras. Na construção civil o peão é um profissional importantíssimo, porém, como todo o trabalho já foi pensado e calculado por engenheiros e arquitetos, resta para ele literalmente colocar a mão na massa e fazer o trabalho pesado. "Ele não precisa pensar". Esse profissional é normalmente mal remunerado e tratado como apenas mais um na multidão, não tendo o seu merecido reconhecimento na maioria das vezes. Sua escolarida é baixa, ou nenhuma. Sua produtividade é medida e cobrada bem de perto, por que a obra tem prazo para terminar...  enfim, "ele não precisa pensar", ele precisa apenas executar. Reconhecem esse cenário?

Se existe algum peão no contexto do Desenvolvimento de Software esse peão é o compilador. É ele quem "levanta as paredes do software". O Código Fonte, escrito pelo programador, é apenas um modelo que o compilador lê, entende e executa exatamente como epecificado.

Os Desenvolvedores são a engrenagem pensante do processo, ou pelo menos deveriam ser. São os resposáveis pela parte mais importante de um software que é o código fonte. No código fonte é que podemos criar um produto de qualidade, com boas práticas para garantir a manutenabilidade do produto e demais requisitos não funcionais como performance, entre outros. As tecnologias e linguagens mudam todos os dias, e os Desenvolvedores precisam estar atentos aos novos conceitos, novas IDEs, novas liguagens, padrões, etc.

É claro que existem outros papéis dentro do ciclo de vida do desenvolvimento de um software, mas não há a menor dúvida de que os Desenvolvedores são os que realmente deveriam ter uma maior remuneração e um treinamento constante (inclusive com a empresa bancando em muitos casos). Eles são o pelotão de frente, a frente de batalha, os criadores, os caras que encontram e arrumam os erros dos outros (outros = Analistas)... precisam ser competentes e muito bem valorizados. Com um ou dois programadores você constrói um software, agora, nem colocando 10 Analistas de Sistemas e mais 20 Analistas de Requisitos o seu software irá sair, exceto que algum desses saibam ou estejam dispostos a realizar a nobre arte de "sujar as mãos" ESCREVENDO CÓDIGOS.

Vejo que grande parte do insucesso dos projetos está relacionado com essa tendência de achar que, colocando um Analista e um Arquiteto chicoteando um bando de programadores jr as coisas acontecem. Essa é uma receita fracassada, mas ainda muito utilizada.

Espero que mais Gerentes e Coordenadores sigam o exemplo de Balmer, e enalteçam os seus desenvolvedores, ou você acha que um dos grandões da Microsoft grita Developers! Developers! Developers! com tanto entusiamo em vão? Claro que não.. ele sabe que os Desenvolvedores são a alma da sua empresa, um valioso ATIVO da organização. Ah, sim, mas não basta só gritar tá? Tem que VALORIZAR!

quarta-feira, abril 01, 2009

A Guerra dos Browsers

Enfim, eu me rendo. Sou um entusiasta declarado dos produtos da Microsoft. Gosto de quase tudo que a empresa do tio Bill faz. Eu disse quase tudo.

Browser é uma coisa que definitivamente a MS não nasceu com o dom de construir. Ou melhor… todo mundo sabe fazer browser melhor do que a MS, pronto, assim melhorou.

Eu tenho 3 browsers no meu note. IE8, Firefox e Chrome. Eu gostava do IE, até usar o Firefox. Não tem o que discutir. O Firefox é infinitamente superior ao IE 7, e até agora, na minha opinião, continua melhor do que o seu sucessor.

Gostei do que vi no novo navegador da MS, mas a performance do IE é nitidamente inferior tanto ao Chorme quanto ao do Firefox. E eu não estou referindo-me a testes sofisticados, estou falando da simples navegação e inicialização dos 3 programas.

Sinceramente eu não espero mais nada da MS com relação a navegadores, porque pra o IE chegar ao nível do Firefox e do Chrome, só se a Fundação Mozila e o Google parar de vez de inovar nos seus browers, e certamente isso está bem longe de acontecer.

A verdade é que a Guerra dos Browsers está longe de acabar, mas mesmo sem terminar já tem um perdedor declarado, o IE.

Ah, e a propósito, isso não é Primeiro de Abril…