Pó de estrelas

Parece que Thomas Thurman, um programador envolvido no projeto Metacity, andou falando (ou pelo menos sugerindo) que os astros e estrelas da programação não estão interessados em fazer pequenos consertos. Houve uma discussão interessante sobre esse tema em um dos últimos episódios do LugRadio e os caras citam o Metacity como exemplo de aplicação que não deve parecer muito atrativo para os astros. Para quem não sabe, Metacity é um gerenciador de janelas, um programa responsável, entre outras coisas, por organizar as janelas na tela, decidir onde uma janela vai ser aberta e lidar com redimensionamento e movimentação; ou seja, um programa que quanto mais invisível melhor. Este projeto em particular é tão invisível que nem um website tem. Se você tomar o cuidado de verificar o link que coloquei acima, vai ver que fui obrigado a referenciar um site ftp que contém o código fonte, já que é a referência usada por todo mundo. O raciocínio é que programas de infra-estrutura invisíveis como este não são muito bons para massagear a fama, afinal é difícil ser visto dentro de algo invisível.

Porém programadores não costumam ficar famosos por programar. Então não faz muita diferença se alguém está programando um novo jogo revolucionário ou se dedica seu tempo a escovar bits em um driver para um dispositivo usado por um total de duas pessoas no mundo todo. Eu sei que dizer isso deve ser algum tipo de clichê, mas não posso evitar: programadores famosos não ficaram assim por se preocupar com código, mas por se preocupar com as pessoas.

Isso obviamente não significa que programadores famosos não cuidam do seu código. A maioria deles se preocupa bastante, mas esta não é a razão que os torna admirados por seus pares. Eles conseguem chegar aos pedestais porque tomam o cuidado de compartilhar idéias com os colegas e tornar a indústria toda um lugar melhor para se trabalhar.

Tomemos o Linus Torvalds como exemplo. O cara dispensa qualquer tipo de apresentação, ninguém consegue esquecer o que ele inventou. O que ele escreveu é um núcleo de sistema operacional, algo que, simplificando grosseiramente, só faz se comunicar com o hardware e distribuir tempo de processador e memória para os vários programas que as pessoas querem realmente usar. Ninguém usa o kernel em si, este é só um mal necessário para quem quer rodar programas úteis e é provavelmente o mais longe do usuário final e perto da máquina que se pode chegar. Ninguém nota o kernel trabalhando, assim como ninguém nota o Metacity. As pessoas só notam esses programas quando eles dão pau, se um driver não funciona direito ou se as janelas não querem sair do lugar, por exemplo. O programa do Linus é talvez ainda mais invisível do que o Metacity e mesmo assim ele é um dos programadores mais conhecidos atualmente.

Ele não chegou a este ponto simplesmente por ter escrito um kernel fantástico, mas porque tomou o cuidado de envolver as outras pessoas nisso. Pediu e ofereceu ajuda em listas de discussão, publicou seu código para ser estudado e criticado pelos outros, fez palestras sobre seu modelo de desenvolvimento e até escreveu um livro para contar a história. Ele divulgou uma mensagem e isso fez muita gente crescer junto com ele.

Para alguns exemplos aqui da terrinha vamos considerar primeiro alguns caras que publicam código, como Vitor Pamplona ou o Marcos Tapajós. Da última vez que olhei, o Vitor tinha quatrocentos e vinte e cinco mil, duzentos e noventa e dois projetos publicados como software livre (e o número já deve ter aumentado enquanto eu digitava esta frase). Mas ninguém ia saber quem ele é se não tivesse feito coisas como montar um fórum para reunir a comunidade Java, organizar um blog para escrever textos que ajudassem os outros a se desenvolver e publicar o código dos seus programas para os outros verem. Do mesmo modo, o Tapajós ainda estaria escondido em um buraco em algum lugar se não contribuísse com os outros através de comentários construtivos e se não compartilhasse sua experiência. Eles poderiam gabar-se de como seus programas são maravilhosos em quantas listas de discussão quisessem, se não fizessem nada pelos outros, ninguém iria dar muita atenção.

Não é necessário ter programas famosos para um programador ser respeitado. Um bom exemplo, também brasileiro, é o Vinicius Teles. Ele até andou divulgando um sistema de busca de imóveis misterioso no blog dele, mas acho que ninguém viu ainda o tal sistema até hoje. Também não sei se ele tem algum projeto com o código publicado em algum lugar da Internet. A questão é que eu nem preciso saber. Ele tem o meu respeito — e o de vários outros programadores — porque ajuda seus colegas de alguns outros zilhões de maneiras diferentes como ao publicar entrevistas e até pequenos desabafos em formato de podcast, ao participar em listas de discussão sempre com mensagens detalhadas e esclarecedoras ou até ao organizar conferências das quais não vou poder participar.

Para conseguir reconhecimento e respeito, um programador não precisa só programar muito bem: precisa divulgar seu trabalho. O segredo é que não adianta simplesmente bater no peito e gritar seus feitos aos quatro ventos. Se quiser que alguém o respeite, é preciso ajudar os demais. Ninguém gosta de um sabe-tudo. O crédito que um programador tem dentro de sua comunidade é muito mais uma função do tempo que ele dedica a seus colegas do que do tempo que investe em escrever código.

4 Responses to “Pó de estrelas”


  1. 1 Carlos Brando 08/dez/2007 às 04\0408

    É assim mesmo e faz sentido. Para a comunidade como um todo você é muito mais “útil” escrevendo em um blog ou livro do que escrevendo código…

  2. 2 Eduardo Fiorezi 08/dez/2007 às 17\0509

    Muito bom Thiago…. É isso que acontece mesmo….

    Alguém paga a mais por um programador a apagar um trecho de código ou refatorar? E são coisas essenciais em projetos.

    Abraços…

  3. 3 Vinícius Manhães Teles 10/dez/2007 às 18\0600

    Oi, Thiago.

    Muito obrigado pelos seus comentários a meu respeito. Sinceramente, fico lisonjeado, especialmente por virem de você, cujo trabalho eu admiro muito.

    De fato, eu não tenho muito código publicado. Além de boa parte do código que está por trás do site da Improve It e da maior parte do código da classe Dinheiro, no brazilian-rails, não há muito código meu pela web.

    Isso tem a ver com um problema que cada vez mais me incomoda: eu não consigo dedicar tanto tempo assim à programação. Normalmente estou envolvido em inúmeras coisas ao mesmo tempo, e a maior parte delas não é programação. :-( Mas, programar é uma das coisas que mais gosto de fazer.

    Estou me empenhando bastante para mudar isso. Desde novembro, tenho passado bastante tempo programando, mas por enquanto não são coisas para serem publicadas. Talvez dêem origem a alguns plugins em um futuro próximo. Mas, ainda não é o momento.

    No final do ano passado eu estava bastante envolvido no site que estávamos fazendo para a área de imóveis. Acabei deixando-o de lado devido, em grande parte, ao Projeto Lucidus e outras 347 mil coisas que aconteceram ao longo do ano. O engraçado é que olho para os lados e vejo que o produto continua tão válido quanto era antes. Mas, vai continuar esperando, porque no momento tem outra coisa que está me interessando mais. Quem sabe eu volto a ele em um futuro próximo. :-)

    Grande abraço, Vinícius.

  4. 4 Marcos Tapajós 11/dez/2007 às 18\0626

    Thiago muito feliz de ser lembrado e colocado ao lado de grandes pessoas como você fez.

    Acho que o Thomas foi infeliz com sua colocação ou “sugestão”. Tenho a intuição que os grandes programadores são justamente os que tem coragem de mostrar seus códigos, de por a cara a tapa para ser massacrado pelos outros. Não me considero um ótimo programador, sou apenas alguém que gosta de programar e que tem coragem de publicar.

    Você citou o Vitor e veja só, quando o Vinícius postou um artigo sobre ele todo mundo criticou os dois. Na minha opinião o Vitor fez, e faz, muito para a comunidade e ainda que nenhum dos softwares dele servisse para nada (eles servem!) só a intensão dele já é válida. Aposto que muita gente aprendeu e tirou ideias dos códigos dele.

    Achei interessante você citar o Metacity que realmente é um software esquecido por todos. Eu mesmo só descobri que ele existia quando uma vez meu sistema resolveu sumir com a barra de título das janelas e depois de uma surra o google me fez descobrir que ele era o culpado e entender como as coisas funcionam.

    Lá na UFRJ vejo várias pessoas que odeiam programar (eu não entendo como podem fazer uma faculdade de informática) e que tem o pensamento que o programador é um ser inferior e que o importante é o analista. Lá as pessoas são formadas para ocuparem esses cargos e não para programar.

    Eu sou um dos “deformados” de lá que adora programar. Não é atoa que no meu tempo vago eu fico programando novas coisas, estudando e mais de 90% do que eu faço ninguém nem conhece, não é publicado e nem vira software livre. É feito por puro prazer !

    Desde que comecei com Ruby e descobri como é simples escrever GEMS, e no caso do Rails, plugins venho querendo tornar algum dos meu códigos públicos e o primeiro deles foi o Brazilian Rails que contou com a colaboração de várias pessoas.

    Eu trabalho junto com o Vinícius, na Improve It, e ultimamente tenho sofrido do mesmo problema de falta de tempo e por isso mesmo quase não tenho postado nada, nem tenho criado muitos códigos públicos. Mas espero que após esse final de ano eu volte a ativa. Esse sistema de imóveis que nós falamos tanto ficou muito maneiro mas está na gaveta.

    Você fez falta no RioOnRails !!

    Um abração


Comments are currently closed.




%d blogueiros gostam disto: