Hackers Não Frequentam a SDN
Tuesday, April 24th, 2007Ainda durante o STD2007 tive a chance de participar de um bate-papo
entre alguns convidados e Rich Green, VP de Desenvolvimento de
Software da Sun Microsystems. A Sun tem um zilhão de problemas na
maneira como lida com o desenvolvimento de software mas se tem algo
que deveria ser copiado é este contato entre as pessoas que mandam e a
comunidade.
Durante este bate-papo foram debatidos diversos assuntos sobre o
futuro da plataforma, seu posicionamento no mercado nacional, o papel
dos JUGs e etc. Acabou que não tive a chance de falar sobre um assunto
que considero importante, por isso enviei um e-mail ao Rich comentando
este fato.
O problema é que o mercado de desenvolvimento de software é dividido
historicamente em uma grande massa de programadores de medianos para
não-funcionais e uma pequena minoria de bons programadores. As
ferramentas da Sun (netbeans, Glassfish, java, etc) focam na grande
massa de programadores, uma opção economicamente interessante. As
ferramentas são todas gráficas, com drag-and-drop para até o que não
deve (mais sobre isso em outro post), mas demoraram anos para colocar
funcionalidades básicas no editor de código (prometidas para a versão
7, creio).
Deste modo os programadores da minoria (exceto os que trabalham para a
Sun ou outra empresa que te jogue uma IDE pela guela) não vêem
proveito na IDE a criam um estigma com ela. Todos tivemos péssimas
experiências com geração de código na vida e s mais experientes vão
sempre olhar torto para ferramentas mágicas. O Matisse, por exemplo, é
algo interessante porque depende de uma infra-estrutura de software
flexível, com geração de código mínima (EJB3 segue esta linha). Gerar
uma interface em matisse é cool, mas gerar 15 toneladas de um
XML para Java EE não é, pelo menos não para este
público.
Mas quem liga? Estamos falando de menos de 10% dos programadores do
mundo! O problema é que são estas pessoas que inovam.
Quando você não está integrado com a comunidade de inovação de
software você tem um problema muito grande. Pense se você já não viu
isso acontecer com a Microsoft (outra que sofre com estigmas, não desmerecidos) algumas vezes:
- Fulano lança algo cool fora da plataforma (como
Hibernate, Spring, AOP, JGoodies, Rails…) - A empresa dona da plataforma diz que essa inovação é
desnecessária, é ruim, não é padrão, dá cárie nos dentes ou qualquer
outro argumento desesperado - Um tempo depois a nova versão da plataforma suporta essa
funcionalidade
.
A inovação ocorre fora da plataforma e a empresa teme que correr atrás
do prejuízo a cada versão. Quando as coisas são inventadas elas não
podem ser utilizadas na plataforma sem um enoooooorme trabalho de
adaptação, configuração, criação de adaptador, etc.
Para mim, a solução é algo que a MSFT está fazendo, como comentamos
aqui outro dia, que é criar dividir as coisas em Camadas. Dê todo o
poder de trabalhar com o core da plataforma aos desenvolvedores da
minoria e crie uma camada de abstração para a maioria dos
programadores, que vão adorar lidar com ferramentas gráficas e não se
preocupar com a qualidade do que é gerado.
Não basta haver um editor de código melhorzinho, um profiler e um
debugger. É preciso criar uma plataforma que trate a minoria e a
maioria como público-alvo. No Sun Tech Days deste ano não houve uma
única sessão que eu considere que foi para um programador de verdade.
tecnicamente este evento só vale pela interação com o staff da Sun e
os outros desenvolvedores. As sessões focavam a grande maioria,
exatamente como os produtos da Sun. A empresa tem que se livrar deste
estigma de ‘fazedora de ferramenta pra newbie’, existe gente de muita
competência nesta plataforma e eu realmente gostaria de ver este
talento em ação.