2009, ano do Ruby on Rails no Brasil
Durante as aulas que ministro, tradicionalmente arrumo um espaço para falar um pouco sobre a linguagem Ruby, seja qual for o treinamento.
Muitas pessoas perguntam qual será o "próximo Java", ou o "próximo C#", se é que tal linguagem vai mesmo existir. Qual será a linguagem que devo apostar hoje, para me dar bem daqui a alguns anos?
Não sou nenhum tipo de vidente para tentar prever o futuro, mas tenho uma opinião a respeito. Não acredito (e nem quero acreditar) que haverá mais polarização de linguagens. Prefiro acreditar em uma polarização de plataformas; por exemplo, Java e .Net. Neste caso, cada um escolhe a melhor linguagem para escrever código que roda sobre estas plataformas. Não sou o único a acreditar nisto.
![http://openjdk.java.net/projects/mlvm/](assets/2009-ano-do-ruby-on-rails-no-brasil/leonardo_vm-300x295.png "Da Vinci Machine - MLVM")
Em muitos casos, criamos até mesmo nossas próprias linguagens, específicas para resolver cada caso.
Como um aficionado por linguagens, VMs e compiladores, eu sempre recomendo a quem posso, para que aprenda todas as linguagens que conseguir. Os Pragmatic Programmers também concordam comigo:
Invest Regularly in Your Knowledge Portfolio : Learn at least one new language every year, (...).
It doesn't matter whether you ever use any of these technologies on a project, or even whether you put them on your resume. The process of learning will expand your thinking, opening you to new possibilities and new ways of doing things.
Aprender novas linguagens te torna um melhor programador. Seja lá qual for a linguagem que estiver usando no dia-a-dia. Eu acredito que isso vale até para linguagens faladas, mas isso fica para uma outra conversa.
Mesmo em uma realidade como essa, ainda precisamos fazer algumas apostas pessoais. Existe uma imensidão de linguagens e aprender algumas delas pode sim ser um investimento para daqui a algum tempo.
Felizmente, por motivos diversos, algumas linguagens têm começado a despontar e aparecer como boas opções a Java e C#, em muitos casos. Qual delas devo aprender? Qual caminho deveria seguir?
Como já disse, não sou ninguém para tentar prever o futuro, mas já fiz algumas de minhas apostas. Ruby tem sido vista com bons olhos, até por grandes empresas como a gigante ThoughtWorks, que já usa Ruby e Ruby on Rails há muitos anos. No seu portfólio, vemos o Mingle, que é o produto de apoio para gerenciamento de equipes ágeis, feito com JRuby on Rails.
A Oracle tem mostrado grande interesse. Sua comunidade de desenvolvedores, Oracle Mix, é desenvolvida com JRuby on Rails. Podemos também ver tal interesse na CodeGear (ainda na época da Borland), que tem IDEs para Ruby e Ruby on Rails: 3rdRail e TurboRuby. No seu portal para desenvolvedores (developerWorks), a IBM também já publicou diversos artigos sobre o assunto, além de manter o adapter oficial para o DB2.
Não ficando para trás, a Sun declaradamente é uma das empresas que mais aposta na tecnologia. Um grande esforço tem sido feito por Tor Norbye e companhia para tornar o NetBeans a melhor IDE para Ruby e Ruby on Rails. Três dos principais desenvolvedores do projeto JRuby (Charles Nutter, Thomas Enebo e Nick Sieger) foram contratados pela Sun para trabalhar exclusivamente no projeto. Não parando por aí, seu portal MediaCast é feito com JRuby on Rails. Não é exagero dizer que a Sun patrocina o projeto JRuby.
Caso todas essas pequenas empresas ainda não fossem suficientes, poderíamos também lembrar que a Microsoft também apóia a tecnologia. Um de seus principais projetos de código aberto é o IronRuby, uma implementação da linguagem Ruby sobre a plataforma .Net, liderada por John Lam.
Duas das principais concorrentes, Sun e Microsoft, apostando na mesma coisa? Algo está errado...
Brincadeiras a parte, já podemos perceber alguns sinais na comunidade. Nos EUA, Ruby on Rails já estourou há um bom tempo. Sobram vagas com bons salários por lá. Dá para ter uma idéia melhor em diversos outros sites de emprego. A demanda na Europa é grande e parece estar em crescimento, com muitas vagas ainda não preenchidas.
Diversas aplicações têm sido desenvolvidas com Rails nos últimos tempos. Casos de sucesso sempre ajudam no convencimento de outros e a Rails100 é ótima para este fim, sendo uma lista de grandes sites que usam Ruby on Rails. Obie Fernandez também tem um artigo que agrupa algumas grandes empresas que usam a tecnologia.
No Brasil, as coisas ainda engatinhavam até pouco tempo. Agora não mais. O primeiro evento que tivemos por aqui foi o RejectConf SP'07, que contou com algo em torno de 70 pessoas. Um ano depois o Rails Summit Latin America 2008 teve mais de 500 participantes!
Existem diversas iniciativas brasileiras como o BlogBlogs, Brasigo, Pagestacker e Be on the Net. Todos feitos com Ruby on Rails. Também já começamos a ver algumas vagas sendo anunciadas na lista rails-br. Outro grande caso é o novo webmail do UOL.
O maior sinal que eu tenho percebido na nossa comunidade é o enorme crescimento na demanda do curso de Ruby on Rails aqui na Caelum, o RR-11. No último mês, a quantidade de pessoas matriculadas em turmas regulares mais do que triplicou!.
FIco muito feliz por poder ter acompanhado o crescimento da nossa comunidade desde o começo e poder estar fazendo parte de tudo isso. Várias empresas importantes já tiveram suas equipes treinadas em Rails aqui na Caelum.
Já estive no Rio de Janeiro, para dar treinamento a diversas equipes da Globo.com, em duas turmas lotadas. Uma inclusive, apenas com DBAs! Um enorme orgulho, já que a Globo.com é muito conhecida aqui no Brasil pelo que tem feito em desenvolvimento Ágil. Além disso, ensinar mapeamento objeto relacional (ORM, ActiveRecord, neste caso) para uma turma de DBAs, é um enorme desafio. ;-)
A Locaweb também teve algumas de suas equipes treinadas pela Caelum, num treinamento customizado com conteúdo mais abrangente e aprofundado. Meus agradecimentos ao Fabio Akita pelo contato e oportunidade!
Tive também o orgulho de ter muitos dos desenvolvedores da WebCo, empresa por trás do Brasigo e BlogBlogs em algumas das turmas abertas do RR-11. Ótimos desenvolvedores (e Product Owners)!
Já até atravessei o país para ensinar Ruby on Rails. No fim de 2008 fui a Manaus, em um curso para o pessoal do Instituto Nokia de Tecnologia - INdT. Bonito ver um centro de tecnologia tão competente e avançado no meio da Amazônia. Inclusive, grande parte da turma tem excelente formação acadêmica (mestrados, programação funcional durante a graduação, ...). Isso tudo sem contar a lousa automática, que nem aqui em São Paulo temos! Será que alguém me consegue o vídeo que fizemos da lousa?
Além disso tudo, temos alguns projetos em Rails sendo desenvolvidos aqui dentro da Caelum. Tem sido muito divertido desenvolver aplicações Rails usando boas práticas, BDD e ferramentas sensacionais como o RSpec e Cucumber. Posto mais detalhes em breve.
É sempre empolgante e um imenso prazer falar de Ruby e de Ruby on Rails! Não deixe de entrar em contato se quiser saber mais sobre os cursos, ou se precisar de algum treinamento customizado.
É minha gente... esse ano a coisa pega!