Publicado por Rafael Rosa em 09 de September de 2009
José Valim – Entrevista, screencast e tutorial
Se você acompanha a comunidade de perto, nos últimos meses deve ter notado o surgimento de um novo nome no mundo Ruby: José Valim.
Ele contribui para o Rails 3 através do Google Summer of Code (como já noticiamos), reescrevendo todo o sistema de geradores. Ele é sócio da Plataforma, consultoria Rails em parceria com outros nomes de peso da comunidade, no caso George Guimarães, Hugo Baraúna e Marcelo Park, e vai palestrar no Rails Summit, falando sobre sua contribuição para o Rails 3.
Ele também participa de vários projetos open-source:
- Easy HTTP Cache
- InheritedResources
- Formtastic (com Justin French)
- Rails Footnotes
- Remarkable (com Carlos Brando)
- Simple Form
- Thor (com Yehuda Katz)
Para ver outros projetos dele dê uma olhada no seu repositório do Github clicando aqui.
Chega de papo, vejam o que ele nos contou numa rápida entrevista por e-mail:
Fale um pouco sobre você
Olá Rafael, eu tenho 22 anos e sou estudante de Engenharia pela Escola Politécnica da USP. Hoje eu estou finalizando meu mestrado em Turim pelo programa de Diploma Duplo entre a Universidade de São Paulo e a Politecnico di Torino (Itália). A minha tese é sobre algoritmos para classificação de textos, um assunto que eu espero postar em breve no blog da Plataforma Tecnologia, empresa da qual sou sócio.
Bem, o meu primeiro contato com desenvolvimento foi no início do meu curso de graduação onde tive uma disciplina de introdução à ciência da computação com a linguagem C. No mesmo ano, fiz meu primeiro website em flash para a minha banda, onde aprendi os conceitos básicos de orientação a objetos. No segundo ano fiz um estágio no Laboratório da Microsoft na USP, onde aprendi a programar em C#, desenvolvi meu primeiro web service e entrei em contato com teorias de Engenheria de Software.
Como conheceu e se envolveu com o Ruby e o Rails?
Eu conheci Ruby e Rails ao mesmo tempo, em dezembro de 2006, quando fui convidado por um grupo de amigos para iniciar uma startup, que depois, daria origem ao Pagestacker. Nesse período, eu aprendi muito sobre Ruby, Rails, Javascript e até mesmo Java, já que a engine de busca do Pagestacker era feita usando Solr. Além do mais, li bastante sobre banco de dados e usabilidade, sempre visando melhorar as características essencias para se tornar um desenvolvedor web completo.
Em quais projetos você está envolvido?
Os principais projetos que estou envolvido são aqueles listados no meu twitter, que podem ser encontrados no GitHub. Alguns como o Inherited Resources e o Formtastic estão ganhando muita visibilidade, sendo inclusive adotados como padrão em empresas como a Thoughtbot. Mas com certeza o melhor de ter toda essa atenção são as contribuições (vários são brasileiros) e até o primeiro screencast, feito pelo Fábio Akita sobre o Inherited Resources!
Como foi o GSoC? Quem foi seu mentor? Até onde sei foi o Yehuda, e ele te elogiou muito no Oxente Rails. Foi legal?
A idéia do Google Summer of Code (GSoC) veio naturalmente. Como nós usamos Inherited Resources, Formtastic e Remarkable diariamente na Plataforma Tecnologia, a gente sentia falta dos geradores de código. Porém, criar um gerador de código para cada uma das ferramentas não seria o suficiente, já que eles não poderiam ser usados juntos. A minha proposta para o GSoC foi simplesmente criar geradores de código mais flexíveis, que, além de resolver o problema acima, possibilitaria agnosticismo para ORM, ferramenta de testes e qualquer outra parte do framework.
O meu orientador, a priori, foi o Jeremy McAnally. Porém, um dia antes de começar o projeto, eu acidentalmente reli um post do Yehuda sobre o Thor, onde eu conclui que uma ferramenta de scripting como rake e thor não é nada diferente de um gerador de código. A partir de então, eu estava bastante decidido que eu usaria o Thor como base para o meu projeto e foi aí que comecei a trabalhar com o Yehuda Katz. Além dele, outras pessoas que me ajudaram e guiaram no projeto foram o Jonas Nicklas, que desenvolveu os geradores de código do Merb, e o Jeremy Kemper do Rails Core.
Eu estava acompanhando o Oxente Rails pela internet, mas eu estava ausente quando o Yehuda fez sua apresentação. Fiquei sabendo depois dos elogios, foi muito legal!
Como é seu envolvimento com o core team? O que está fazendo para o Rails 3 além do GSOC?
Hoje, após o trabalho no Google Summer of Code, eu tenho uma relação muito boa com a maioria do pessoal do Rails core team. Estamos conversando e discutindo sobre melhorias que podem ser feitas no Rails frequentemente. Fui até convidado para escrever no blog oficial, mas não sou um membro do core já que não tenho acesso de commit ao repositório.
A minha primeira feature após os geradores de código foi o ActionController::Responder e atualmente estou trabalhando na otimização de callbacks e observers do ActiveRecord (assim como o Yehuda otimizou os callbacks dos controllers, estou fazendo o mesmo para o ActiveRecord).
Na próxima semana vou começar a trabalhar em outro projeto dentro do Rails 3. Fiquem antenados!
O que é a Plataforma? Como surgiu a idéia?
A Plataforma Tecnologia é uma de empresa de engenharia de software que presta consultoria nas áreas de arquitetura de software, infra-estrutura e deployment.
A idéia surgiu meio ao acaso. No começo de 2009, um grande portal de internet nos convidou para fazer uma demonstração em Rails e desenvolver um determinado aplicativo em poucos dias. A partir daí, não demorou muito para a Plataforma Tecnologia ser criada. As nossas principais atividades de consultoria podem ser resumidas em coaching, code-review e resolução de desafios técnicos bem definidos (como problemas de infra-estrutura e escalabilidade, por exemplo), além, também desenvolvemos aplicativos web.
Que conselho daria para quem está começando agora com desenvolvimento?
O meu conselho para quem está desenvolvendo (iniciante ou não) é: saia da sua zona de conforto. Se você está escrevendo algo pela segunda vez, se pergunte: como eu posso melhorar isso? Como eu posso mudar o meu modo de desenvolvimento de forma a melhor usar as ferramentas que possuo?
A maioria dos plugins que eu desenvolvi não adicionam nenhuma feature em especial ao Rails, eles simplesmente possibilitam que você tenha o mesmo resultado com menos linhas de código. Um ótimo exemplo é o SimpleForm. Quando eu olhei na to-do list de um projeto e tinha uma tarefa para fazer um formulário de contato, eu pensei: "lá vou eu criar um novo formulário, um novo modelo, um novo ActionMailer...". Então eu resolvi esse problema.
Quando você fizer isso diversas vezes, você finalmente pode ter o luxo de ser preguiçoso (obviamente, o tipo bom de preguiçoso). O desenvolvimento na Plataforma Tecnologia acontece de forma muito simples e fluída, simplesmente porque já nos colocamos várias vezes fora da zona de conforto no passado.
Além do mais, um outro grande conselho que posso dar é: vão ao Rails Summit
E espero ver vocês lá.
Se vocês usam seus plugins e gostam deles, aproveitem para indicá-lo no Working With Rails, basta clicar aqui.
Screencast e tutorial
Recentemente, Fabio Akita fez um screencast explicando como funciona o InheritedResources, que pode ser utilizado para implementar controllers RESTful com o mínimo de código e o máximo de flexibilidade. Como sempre, o resultado é excelente, clique aqui para assistir a versão em português (e indique a versão em inglês para seus amigos gringos).
Jésus Lopes escreveu um tutorial bem detalhado explicando como utilizar o Formtastic, projeto mantido pelo Valim e Justin French, que cria uma DSL muito simples e expressiva para criar forms com o mínimo de esforço. Clique aqui para dar uma olhada e não se esqueça de indicar para seus amigos.
Esperamos que tenham gostado, estamos planejando novas entrevistas com outros palestrantes do Rails Summit. Querem alguém em especial? Deixe seu pedido nos comentários e continuem ligados!

Clique aqui para adicionar ao del.icio.us


09 de September de 2009 às 10:40
[...] This post was mentioned on Twitter by Tino Gomes, Hugo Barauna, Sérgio Maia, Carlos A. da Silva and others. Tino Gomes said: RT @rubyinside_br: José Valim - Entrevista, screencast e tutorial http://bit.ly/gfyUC [...]
09 de September de 2009 às 10:59
O "de Deus" manda muito bem! Eu vou! =]
09 de September de 2009 às 12:08
Opa Rafael,
Queria agradecer novamente pela entrevista! E por todos os comentários e elogios!
Abraços!
12 de September de 2009 às 12:56
Tenho acompanhado a trajetoria do Jose, e como CIO da JBS, quero dizer q estou ansioso p desenvolver algum projeto juntos.
11 de October de 2009 às 10:14
[...] do tradutor: nós já haviamos falado do Formtastic aqui no Ruby Inside Brasil quando publicamos a entrevista com o José Valim, e vale relembrar que o Jésus Lopes escreveu um tutorial explicando como utilizar o Formtastic, [...]