Conselhos para Iniciantes em Ruby

2007 October 12, 01:38 h

Eu quase passei batido que o Satish Talim, do Ruby Learning publicou as 2 últimas partes da entrevista coletiva que ele fez com representantes de Ruby on Rails de 12 países. Do Brasil, tive a honra de ser escolhido, espero que minhas respostas – juntamente com a dos outros 12 excelentes representantes – ajudem a dar algumas dicas a quem está iniciando com Ruby.

Abaixo vou traduzir o que eu disse – traduzir tudo que os 12 disseram seria um trabalho hercúleo!! :-)

P.S. E galera, não se esqueçam de nossa RejectConf SP’07 !! Ajudem a espalhar o assunto pela blogosfera. Enviem sugestões. Candidatem-se a palestrantes. Ainda não tenho a data certa, mas deve acontecer em meados de Novembro. Vou manter todos informados!

A popularidade de Ruby cresce exponencialmente e com isso, mais e mais pessoas estão aprendendo a linguagem. Recentemente, mais de 400 interessados em se tornar desenvolvedores Ruby registraram para as Lições Grátis de Ruby na RubyLeaning.com e mais continuam a entrar todos os dias. A maioria dos iniciantes em Ruby tem um monte de perguntas relacionadas à linguagem; oportunidades em Ruby; o futuro de Ruby.

Satish Talim da RubyLearning.com conversou com Gurus de Ruby de todo o mundo, para ter suas visões e opiniões.

AkitaOnRails: Meu nome é Fabio Akita, um entusiasta brasileiro de Rails, também conhecido online como AkitaOnRails. Eu regularmente escrevo posts no meu blog e publiquei o primeiro livro feito especialmente para o público brasileiro chamado “Repensando a Web com Rails”. Agora sou um desenvolvedor Ruby on Rails em tempo integral trabalhando como Brazil Rails Practive Manager para a empresa Surgeworks LLC, de Utah.

Satish: De acordo com vocês, por que Ruby é uma boa linguagem para se aprender?

AkitaOnRails: Muito difícil de explicar em poucas palavras mas vou tentar. No meu caso em particular venho de muitos anos desenvolvendo em diferentes tecnologias. Cada uma foi importante em seu tempo. Tecnologias como dBase, Delphi, Perl, PHP, Java/J2EE, .NET e assim por diante.

Ouvi falar de Ruby por volta de 2001 mas apenas voltei a ela em 2005 quando percebi toda a excitação sobre este recém-chegado chamado Rails. Certamente me surpreendeu, como um desenvolvedor Java em tempo integral, comparar ambas as aproximações e ver que Ruby me inspirou como programador. Foi aquela golfada de ar fresco que você percebe a cada década.

Não sou muito de seguir a ‘sabedoria convencional’, gosto muito de experimentar, aprender com meus próprios erros. E Ruby começou desse jeito: como uma experiência que cresceu em mim. Tenho uma sensação que todo programador de longa data pode sentir a mesma coisa. Pela simplicidade de Ruby, sua sintaxe enxuta, sua infinita flexibilidade, a sensação que podemos fazer o que quisermos, quando quisermos, quando precisarmos.

Para programadores inexperientes há o lado positivo que a curva de aprendizado é muito suave. Você pode aprender o básico em poucos dias e crescer ao lado da linguagem como seu ‘professor’. Ela o convida a usá-la. Lhe mostra dicas pelo caminho. Você evolui suavemente à medida que se torna íntima dela. Uma longa distância de linguagens ‘modernas’ que parecem se regozijar de assustar os iniciantes.

Ruby é madura, está sempre em evolução, a comunidade é muito cuidadosa e realmente fica em Ruby porque gosta dela, não porque são obrigados a usá-la por causa de pressões do mercado. Ruby irá surpreendê-lo, de uma boa maneira, e acho que isso é razão suficiente para pelo menos tentar.

Satish: Como alguém deveria aprender a linguagem Ruby?

AkitaOnRails: Felizmente, na Era da Internet, iniciantes já tem uma grande quantidade de material excelente disponível. É difícil recomendar apenas alguns deles. Google é seu amigo, de verdade. Foi como eu aprendi e estou certo que se pode começar de diversas maneiras. Se você sabe inglês, uma grande fonte de material é o vídeo podcast RailsCasts de Ryan Bates e a série PeepCode de Geoffrey Grosenbach. A Amazon lista dúzias de livros de Ruby e Rails já disponíveis e mais ainda chegando. Meu livro favorito de todos os tempos é o “The Ruby Way”, de Hal Fulton. Um grande material não somente para iniciantes mas também para programadores avançados.

Se você for do Brasil, Ruby ainda não é uma realidade, ainda existem muito poucos recursos em português. Mas felizmente temos uma comunidade muito empolgada acontecendo. Eu recomendaria rubyonrails.com.br e rubyonbr.org como pontos de início. Você encontrará muitas ótimas pessoas e material que poderá ajudá-lo.

Satish: Que tipo de mini-projetos se deveria trabalhar, para ter uma boa idéia de Ruby?

AkitaOnRails: Na comunidade open source existe esta grande idéia: “coçar sua própria coceira”. Eu sugeriria a mesma coisa. Apenas porque você viu o famoso screencast de blog do David Hansson, não precisa começar com um blog.

Não vou lhe dizer o que fazer. Você não pode aprender a pintar, se não souber o que quer expressar. Não pode ser um bom chefe-cozinheiro se não souber o que quer comer. Faça algo para si mesmo. Ainda não tem um blog? Grande, em vez de assinar no Wordpress, crie seu próprio blog. Gostaria de um portfolio online para suas fotografias? Ótimo, em vez de assinar o Flickr, crie seu próprio álbum online. Não precisa ter todos os recursos. Você precisa do básico: faça o básico.

Se não puder ser feito em uma semana de tempo livre, é muita coisa. Você aprenderá mais rápido se tiver algo de que precisa e desenvolver isso você mesmo. Esse é o espírito do artesão: uma vez que começar seu próprio projeto, vai ter que representar todos os diferentes papéis: não somente de programação, mas também design, administração de sistemas e assim por diante. Isso o torna um profissional mais completo e competente. Tudo novo que aprender se soma à sua arte.

Satish: Qual o cenário de Ruby / Rails em seu país?

AkitaOnRails: O Brasil não é um lugar conhecido por grandes desenvolvimentos tecnológicos. Existem alguns, mas limitados. Estamos sempre brincando de pega-pega com o resto do mundo. É algo não muito bom. Eu avalio nosso ambiente Ruby on Rails local como sendo similar ao cenário americano do fim de 2004 e 2005. Estamos cerca de 2 anos atrás deles.

Existem somente 2 ou 3 livros escritos e publicados aqui. Existem dúzias nos EUA. Temos talvez meia dúzia de pequenas empresas apostando em Rails, enquanto existem centenas nos EUA. As conferências deles juntam centenas de pessoas por todo o ano. Ainda estamos brigando para ter uma pequena aqui. Portanto, este não é um ambiente muito amigável e qualquer um que quiser entrar em Rails aqui encontrará uma tela em branco. Isso é ruim para quem quer a tradicional ‘carreira’ corporativa mas talvez seja uma boa janela de oportunidade para empreendedores. Algumas pessoas começaram seus próprios negócios em torno de Ruby e Rails e estão indo razoavelmente bem. Algumas pessoas estão ensinando, o que também é bom porque eles estão graduando a próxima geração. Este é um solo muito fértil que precisa de mais sementes.

Nós fazemos o que gostamos de fazer, não o que nos é dito, e isso é importante. Não é somente pela ideologia de ir contra o status quo, é sobre ser pragmático e fazer o que interessa a você mesmo. É sobre se juntar próximo a pessoas inteligentes, sobre melhorar seus próprios talentos.

A comunidade Ruby aqui tem essas condições. A Evan Data recentemente fez uma pesquisa mundial e mediu que o interesse sobre Ruby/Rails no Brasil está crescendo rápido, então os programadores já sabem do que se trata a palavra ‘Ruby’ e muitos estão interessados em ver o que está por trás disso. Eles predizem que até o ano que vem o Brasil estará atrás apenas da China dentre os países emergentes, em termos de interesse.

Grandes empresas não tem interesse em Ruby ou Rails aqui. Sempre existem exceções, mas a maioria não se interessa. Eles querem proteger seus velhos investimentos em tecnologias ultrapassadas, os velhos contratos e negociações, e eles não vão simplesmente mudar. Eles estão à venda a quem oferecer mais e Rails não tem uma grande empresa por trás. Portanto não há grandes campanhas, não há marketing agressivo. Essa é a maneira como o mercado aqui sempre funcionou e Rails não é razão suficiente para mudar isso. Ainda não.

Satish: Que oportunidades existem em seu país para iniciantes em Ruby; pessoas que conheçam a Núcleo do Ruby muito bem?

AkitaOnRails: Como disse antes, grandes empresas não entrarão no mercado de Ruby on Rails por enquanto. Fui consultor para esse tipo de corporação pelos últimos 5 anos e por isso reconheço seus vícios. Nós também não estamos acostumados a ter centenas de startups, porque não temos tantos investidores como nos EUA. Por isso é muito difícil iniciar uma pequena empresa aqui. Mas existem milhares de negócios de tamanho médio que não se preocupam tanto com marcas: eles se importam em ter o trabalho feito com qualidade e custos razoáveis. Este é o mercado que os programadores Rails irão servir. Como a 37signals disse: nós não precisamos mirar apenas of Fortune 500, temos que olhar para os Fortune 5.000.

Mas não há almoço de graça: a maioria dos jovens programadores se preocupa em ter empregos estáveis, não em lidar com suas tecnologias favoritas. Eles não estudam porque gostam, mas sim porque precisam das credenciais para entrar em grandes empresas. O tipo de profissional que tentará Rails, serão necessariamente fora do status quo. Pelo menos por enquanto. Todo desenvolvedor Ruby/Rails tem espírito empreendedor. Eles não são simplesmente imprudentes, mas gostam de tomar certos riscos.

Estas são as pessoas que conseguem enxergar o que tem o potencial de eventualmente se tornar ‘a próxima grande coisa’. Gostamos de ser independentes, não gostamos de empregos tediosos, tarefas chatas e colegas de trabalho pentelhos. Queremos estar à frente da competição. Não temos medo de novas coisas, não temos medo de nos tornar obsoletos, não estamos preocupados com as certificações do ano passado ficando velhas. Não damos a mínima em ter bonitos cartões de visita e usar gravatas novas. Os desenvolvedores atuais de Ruby/Rails são do tipo que puxam o mercado para frente. Nós Pensamos Diferente™. Este ainda não é um mercado de massa, então se você quiser o caminho fácil, não posso recomendá-lo, do contrário seja bem vindo.

O ponto é: não há um mercado estabelecido pronto para receber novos desenvolvedores Ruby on Rails, ainda. Você terá que cavar fundo por conta própria. Se quiser começar sua própria empresa, esta é uma grande ferramenta para ter o trabalho feito. E estamos num mundo globalizado, não podemos estar limitados por nossas próprias fronteiras territoriais. Há muitos empregos disponíveis em outros países e muitos estão dispostos a ter recursos terceirizados do exterior (offshore outsourcing). O Brasil é muito interessante a eles como um local de terceirização. Somos mais baratos por causa da atual taxa de câmbio. Uma boa oportunidade para começar a trabalhar para países de fora.

Satish: Alguma outra sugestão para estes participantes (aspirantes a desenvolvedores Ruby)?

AkitaOnRails: Minhas recomendações normalmente vão além de uma tecnologia em particular. Claro, a Grande Coisa da hora é definitivamente Ruby on Rails. Está crescendo muito depressa, está amadurecendo, a comunidade cresce exponencialmente, as ferramentas estão sendo refinadas.

O mercado está só começando a prestar atenção. Precisamos nos manter atualizados a todo minuto. Aprender mais. Aprender além de uma ferramenta ou uma linguagem. Houve Guerras de Linguagens, Guerra de Frameworks no passado, houve algumas recentes. Isso acontece não porque as pessoas realmente ‘gostam’ da tecnologia velha, mas porque eles não conseguem ver além de seus próprios narizes. Eles têm ‘medo’ de estar errados, de mudança. Pessoas carreiristas não gostam de mudanças. Elas querem ficar em uma rota sólida e previsível, uma caminhada suave pela encosta da montanha. Esta não é a realidade: as coisas eventualmente mudam.

A tecnologia muda ainda mais depressa. Está mudando agora mesmo e apenas fechar os olhos não irá mudar esse fato. Outras pessoas acham que aprender coisas que não podem usar imediatamente é perda de tempo, o que não é verdade. Educação é um investimento. Você só pode reconhecer seu valor quando precisar dele, não antes.

Satish: Foi muito legal interagir com todos vocês e obrigado por compartilhar suas visões com os membros do RubyLearning.com.

tags: obsolete interview

Comments

comentários deste blog disponibilizados por Disqus