O Helio (ou @hlegius) é um dos que conheci mais pelo amor à uma banda – no caso, ao Helloween – do que pelo aspecto peofissional. Fui saber só tempos depois que ele trabalhava com web, ligado ao desenvolvimento PHP. Já trocamos muito boas idéias, ele sempre dando seu ponto de vista nas implementações backend, enquanto eu falo a respeito do frontend. Quase que ” cada um no seu quadrado”, mesmo com eu de vez em quando me interessando e colocando a mão no backend.
Seguem as perguntas e respostas, para mais, visitem o blog dele.
1- Como você entrou no mundo da web, e como veio a se tornar um profissional da área?
Entrei por ter sido desafiado =P – Na época, em 2003, comentei com um amigo que faria o site da banda (sim, banda) e o “infeliz” disse-me rindo:
“Ahá, você *nunca* conseguirá ser um webdesigner”. O que na ideia dele era o máximo do desenvolvimento. Tentei ! Aprendi HTML e as ferramentas gráficas, porém, sempre ficava mais “empolgado” quando o site estava fatiado e começava a mexer com o HTML e Javascript.
Por falta de criatividade – era péssimo como designer :S – fui procurar saber de uma linguagem e recomendaram-me o PHP. Assim comecei a estudar PHP em Julho de 2004, assim, “do nada”
2 – Qual a importância dos webstandards?
A mesma que a importância dos Padrões de projeto (design patterns). Deixando todo aquele blablablá de lado, o ponto principal ao meu ver é a comunicação. Com os webstandards podemos falar dar nomes a conceitos facilitando a conversa tanto entre developers quanto para os clientes.
3 – Quais as ferramentas que você utiliza no dia-a-dia (editores de texto, imagens, até mesmo o Sistema Operacional, etc…)?
Uma listinha:
- Sistema Operacional: Arch Linux.
- Linguagem de programação: PHP. Sempre.
- IDE de desenvolvimento: Zend Studio
- Editor de texto: kwrite (esse que estou a usar para responder-te)
- Imagems: Gimp
- Cliente de banco de dados: Zend Studio (database manager); PHPmyAdmin; PgAdmin
- Bug tracker: http://www.twbsd.org
- Debugger: Zend debugger integrado no Zend Studio; xdebug (como complemento no browser)
- WebMail: Yahoo! Mail, Gmail.
4 – Como foi o processo de certificação para o Zend Certified Engineer?
Um processo que enrolei bastante
O preparatório foi baseado na experiência (em #fail) com a linguagem durante os 5 anos que trabalho com PHP.
Realizei alguns simulados, mas sempre com resultados digamos “empolgantes”, pois eu já era há tempos “PHP #fail Certified” o que é normal para quem quer aprender =P
A prova não é difícil para quem tem vivência com a linguagem.
O pessoal da Zend quer saber se você tem vivência. Se já errou; Se passou argumentos inválidos; Se sabe o que acontece quando algo dá errado;
Se conhece o poder do PHP (conhecendo seus métodos e as libs da SPL). Querem saber se você tem noções simples de segurança; De orientação à objetos, padrões e design OO.
O processo de check-in na prova é bem rigoroso, com ambiente filmado e etc. A tela final, mais cruel ainda. Umas três janelas de confirmação: “Tem certeza que quer finalizar ?”
5- Como você vê a diferença entre trabalhar em uma agência de web e como freelancer? Como é lidar com a liberdade de ser um freelancer mas não ter a “certeza” que um emprego fixo proporciona?
Ah essa é uma das perguntas que mais fazem-me atualmente
A diferença é gritante. Meu estômago quem o diga !
Antes eu acordava às 7~8hs da manhã, sem pressa. Hoje acordo mais cedo, pois trabalho a pelo menos 50km de distância – resido em Guarulhos, trabalho no Morumbi – e para voltar é a mesma (perda de tempo) coisa. ** Aliás se alguém tiver uma sugestão de como evitar perda de tempo (na ida e volta) fico grato =D
Onde estou atualmente é bem tranquilo. O pessoal é bem flexível, tem preocupações com design OO, padrões (mesmo a maioria do pessoal estar engatinhando nisso) e não tem neuras com prazos “impossíveis” nem exaustivas horas extras de trabalho. Aliás, faço hora extra quando eu quero – pelo menos por enquanto 
Em uma agência a correria seria maior talvez. Mas como é meu “primeiro emprego” non-freela, não sou o mais indicado para responder.
6- Você vê o PHP perdendo, em termos práticos, espaço para outras linguagens como Ruby e Python, ou acha que PHP ainda vai se manter por um bom tempo na frente das aplicações web do seu nicho?
Tenho confiança que o PHP ficará por um bom tempo à frente nas aplicações web-based.
Motivo ? Poderoso, leve, multi-plataforma (:D), está ficando com sua SPL bacana e OO de menino crescido. O que vejo de críticas do PHP em sua grande maioria referem-se ao simples fato da linguagem dar-te todo um leque de possibilidades, porém, o pseudo-programador não saber dominar a ferramenta.
Rails é apenas um framework. O Ruby on Rails é rápido de codificar (pelo menos é o que dizem) mas muito ruim para atualizar/ler. Vi dias atrás um trecho de código que argh ! Até Visual Basic é mais legível do que aquilo !
Python é um tantão mais promissor que Ruby, mas (ainda) sofre com seu OO fraco/quase inexistente. Além de não ser originalmente feito para a realidade web.
Ao meu ver, quem poderia tomar o lugar do PHP seria o JSP. Aliás, só não o fez pelo alto custo da implementação e dos (bons) programadores e arquitetos Java.
Com este grande movimento “anti-sobrinhos” do PHP, talvez a adoção do PHP até aumente no mundo coorporativo
#iwish
7- Sempre quando converso com você, falamos da minha preferência pelo frontend e a sua, pelo backend. O que faz você ter tal preferência? Qual a “graça”?
Não vejo “graça” em programar interfaces. Acho incrível que faz isto bem. Sei do imenso trabalho que é criar uma interface com eventos e etc, porém, acho muito “programação por coindidência” (vide o livro “The Pragmatic Programmer” para saber mais do termo). Não há tantos desafios quanto no backend.
Você precisa ver o quão fascinado fico ao ver as classes do sistema trocando informações; Quando monto algo e vejo que a mudança daquilo é algo simples graças a arquitetura implementada; Puts, realmente sem palavras.
Certa vez você disse-me: “quando preciso de algo do backend, simplesmente solicito ao desenvolvedor e ele que se vire para montar a busca dos dados. Apenas os exibo.”
Já parou para pensar em “como ele trás isto” ? Montar de tal forma que o sistema continue integro, falando “a mesma linguagem” (no caso o ‘Objetonês’); Permitir que você faça
em seu frontend algo como:
$repositorioCliente->pesquisarPorNomeSemelhante($nome)->pesquisarEntreIdades($idadeMinima, $idadeMaxima)->ordenarCrescente()->findAll();
Retornando um ArrayList (ArrayObject) com os “Cliente”s certinho. A magia do Lazy Loading; Criteria com seu QueryObject; Specification; Observer; As camadas… fascinante !
Recomendo dar uma olhada nisto, vai que você curte
8- Quais os seus objetivos em termos profissionais, para o futuro (trabalhar só como freela, ir para uma área ou gerencial ou de análise, etc…)
Tornar-me um Arquiteto de Software. Não tenho o mínimo objetivo de tornar-me ‘coordenador’/líder de projeto/gestor/diretor. Não domino (tão pouco tenho interesse) a área gerencial.
Quanto a voltar a ser freela. Bem, talvez. Depende da oportunidade. Ser freelancer foi algo muito gratificante. Talvez não fosse metade do que sou hoje (em nível técnico)
caso fosse uma “cria de agência”.
Caso tudo corra bem, estarei cursando Pós graduação em Engenharia de Software em 2010. Pretendo ir até o mestrado e parar (em termos acadêmicos, claro).
Quero conseguir uma certificação SCEA (Sun Certified Enterprise Architect) mas antes disto, irei correr atrás dos estudos em Java.
E sempre que possível estar presente nas conferências que a vida nos proporciona (PgConf, PHPConf, DevelopersConf ?)
Plus- Para onde você acha que a web vai, de uma forma bem ampla (tanto no que diz respeito a tecnologia, como formas de comunicação e aplicações)?
Huum. Complexo !
Antevejo um mundo mais conectado (leia-se dependente) da rede mundial (intermundial, alguém ?). Essa conversa de computação em núvem é só o começo. Sistemas distribuídos
parece ser algo do futuro próximo. Nada impede de em breve termos um OpenId totalmente presente online, fornecendo login para qualquer tipo de aplicação (e a adoção disto ocorrer em massa).
Vejo isto como o começo de uma sociedade mais sozinha também. Na rede todos falam com todos, mas o convívio social pode ser prejudicado, graças à núvem !
Quanto à aplicações, bem, você pode falar melhor do que eu. Essa área evoluiu MUITO. As aplicações em rede (principalmente as Web-based) tem (e terão) muita influência
e estará a cada dia tornando-se mais necessárias para o dia-a-dia. Tenho até medo do que virá pela frente (..)
Palavrinhas finais, rola ?
Antes de mais nada: queria agradecer o convite. E dizer que você (diferente de mim) é um bom blogueiro ! Está aí a frente de três (ou quatro ?) blogs, mandando super bem !
Gostei de ver 
Como pouco provavelmente iremos trabalhar juntos – tu é do Java, né ? – deixo aqui o convite para colar em alguma conference ou mesmo uma unconference em qualquer lugar
para conversamos mais. Certeza que renderia bastante