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!
artigo publicado originalmente no iMasters, por Léo Hackin