Dev (Back & Front)ARTIGO

Moving to Python/Ruby On Rails

Estava com saudades de escrever coisas por aqui, mas estava às avessas com a Giran, com eventos e tudo mais. É claro que que a desculpa “falta de tempo” não
existe quando você está motivado e focado em algo.

Continuo motivado
com muita coisa, principalmente com o crescimento natural e meio que
imposto pela velocidade que as coisas estão acontecendo e que pedem cada
vez mais uma postura e abordagem – o que exige MUITA disciplina.

Mas uma coisa que não me motiva há tempos é o PHP, não pela
linguagem em si, mas por todo um entorno que acabava impactando diretamente
na melhoria contínua disso.

Frameworks

Larguei o CakePHP pelo CodeIgniter
em busca de uma framework mais light e customizável. O CodeIgniter
serviu muito bem, mas peca em duas coisas muito importantes: o
suporte mais integrado a testes e um ORM bacana.

Nem o SimpleTest nem o
PHPUnit se mostraram muito bem integrados, e o melhor ORM que achei foi o Overzealous DataMapper. São duas boas ferramentas, mas que não atingiram totalmente (e juntas) o objetivo proposto: ter coisas estáveis pra desenvolver.

Há pouco tempo palestrei sobre frameworks, mas acho que é preciso melhorar muito até chegar em um nível de maturidade legal. Ou seja, isso
acaba atrapalhando e muito a questão de trabalhar com todas as
ferramentas e técnicas possíveis para o desenvolvimento de aplicações
com alto nível de qualidade. Para quem não demanda toda a qualidade que
estou/estamos buscando, essas ferramentas são bacanas demais.

Existe uma certa carência de um set de ferramentas que possam
trabalhar em conjunto para oferecer a sustentabilidade desejada para um
projeto de, digamos, qualidade máxima.

Não estou dizendo que as ferramentas são ruins, mas cheguei num ponto
em que queria me focar mais no negócio e, por isso, espero ferramentas
que já estejam maduras o suficiente para que eu possa confiar nelas.
Num certo ponto, estava me preocupando com questões de estabilidade e de funcionamento que eu esperava já terem sido resolvidas pelos projetos.

Desafio

Por conhecer e programar em PHP há MUITO tempo, cheguei em um nível em que
ou me dedicava ao desenvolvimento de uma ferramenta ou algo mais complexo
para manter isso aceso, ou até mesmo partiria para a evangelização da linguagem – atividade que já faço em partes como um dos coordenadores do PHP-ES.

Desenvolver um
projeto novo é legal, mas prefiro contribuir com os que existem com
patchs e o que puder. Desenvolver algo novo deve primar pela ideia
em si e não pela tecnologia. E se a idéia é nova, por que não brincar
com justamente com a novidade?

Mas lá no fundo entrei em loop no que tange aprender mais PHP. E
isso, dentro do meu universo pessoal onde mudo e toda hora procuro algo
pra fazer, chegou a um ponto que ficou insustentável. Como diria o
poeta, “já deu?”.

Comunidade

Acredito que faça dois anos que começamos de fato com os eventos com o PHP-ES e estava tudo indo bem exceto por dois pontos:

  • a falta de mobilização da comunidade em prol de algo que não seja
    discutir salários e questões banais como sindicalização no fórum;
  • a falta de interesse do próprio time de coordenação em querer fazer
    as coisas da melhor maneira, ajudando no dia-a-dia e não apenas
    não-presencialmente.

Não julgo ninguém, mas no fundo fui me sentindo meio que lutando e
tentando fazer crescer um mercado onde as pessoas, de certa forma, ou não
se interessam tanto, enquanto comunidade, ou não estão preocupadas com
evolução, isso tanto pessoal quanto, novamente, em comunidade.

Me amarro em fazer eventos e ensinar o pouco que sei sempre, seja
por blog, por MSN, em eventos ou o que for. No caso de eventos, existe um
sentimento meio chato de não ver as pessoas se movendo em prol de um
objetivo mútuo. Deve ser a idade chegando, mas já havia passado por
algo em outras áreas de atuação.

Se não existe comunidade, você luta
pra fazer crescer uma. Quando já existe e você vê o desinteresse das
pessoas, você precisa tomar decisões, e a minha postura é de que “estou aqui
pra ajudar. Mas tomar a frente, não tão cedo”.

Por que Python/Ruby on Rails?

A escolha de Python e de Rails foi a mais natural, pois ambas são
linguagens de script. Além disso, um conjunto de coisas me levaram a
escolher essas duas também:

  • comunidade irada;
  • frameworks maduras;
  • ferramental para testes e tudo mais maduros;
  • orientadas a objeto de verdade;
  • preparadas para o que der e vier.

O Python/Django foi uma escolha ideal no sentido
de que se pode desenvolver tanto para web, quanto para um tanto de outras
coisas, até pra iPhone. 

O Ruby/Rails foi outra escolha bacana por ser,
atualmente, sem modismo, uma das melhores (se não a melhor) frameworks para
desenvolvimento web, e que segue “por default” uma filosofia voltada à
qualidade e agilidade.

Vi várias coisas embasbacantes na QCONSP (e ainda vou
escrever um texto completo sobre essas novidades) e é motivante ver tanta
gente correndo atrás da melhoria, não apenas da ferramenta, mas da
comunidade toda em si.

Muitas oportunidades sempre rolaram em relação a desenvolver com elas, e acho que chegou a hora de me dedicar a isso com força.

Então, PHP nunca mais?

Deixar de estudar uma linguagem não é um “nunca mais trabalho com ela
nem coisa do tipo. Tive ótimos feedbacks em relação aos artigos de TDD
com o Simpletest
e pretendo continuar (mas com PHPUnit talvez) com mais
algo de Selenium. Enfim, coisas mais voltadas à qualidade de código
final do PHP do que o desenvolvimento dele em si.

Além de continuar falando sobre PHP em relação a isso, pretendo continuar ajudando a comunidade, seja através de palestras, seja ajudando os amigos da
coordenação com os eventos e todos que ainda puder ajudar ensinando
algo e por que afinal? Simples, eu gosto!

Enquanto isso, vamos seguindo nossas vidas e seja o que Alah quiser!

IT Manager de um time de pessoas inoxidáveis na Wine.com.br e de inovação no WineLabs. Co-fundou a Giran E-commerce Solutions e liderou o desenvolvimento da plataforma de e-commerce Adena. Depois de 20+ anos construindo aplicações web para empresas de todo porte, liderando times com grande diversidade e tamanhos e inventando moda utilizando Scrum/XP/Lean, agora tenta ajudar as pessoas a serem as melhores que podem a cada dia utilizando uma penca de mindsets ágeis, inspirações, aspirações e (paix|tes)ão pelo que faz. Specialties: Internet, E-commerce platforms and Web Application Building, Agile Methodologies, Technical Team Lead/Coaching, Innovation, Creativity Current Interests: Visual Thinking, Recommendation Systems, Machine Learning, Lean, Isaac Asimov and Pentatonic Scales.

Ver perfil