Características de um bom Desenvolvedor Web

PHP
Hoje em dia, há muita gente aprendendo PHP para tentar criar websites dinâmicos. Porém, muitos destes apredem mais a utilizar um Dreaweaver, ou outro, do que a realmente escrever bom código. Será que serão bons Desenvolvedores Web mesmo?

A seguir, alguns tópicos que são características de bons desenvolvedores web:


1. Habilidade de escrever Código

Ao invés de utilizar uma IDE que simplesmente gera um monte de linhas "sujas", porque não utilizar um editor de texto (VI, Gedit, Notepad++) e começar a criar os scripts? Há várias vantagens em códigos HTML escritos a mão:


  • O código é limpo
  • É possível entender o que está acontecedo
  • Manutenção e Depuração mais fáceis

Eu, por exemplo, utilizo o Eclipse PDT como IDE.

2. Habilidade de produzir HTML válido

O W3C possui uma ferramenta online que verifica qunado o código HTML escrito é válido ou não, e existe um debate sobre quando o código deve ser válido ou não.
Alguns motivos para um código válido são:

  • Garantias futuras
  • Compatibilidade entre browsers
  • Manutenção facilitada
  • Exibição em dispositivos móveis

3. Usar Linux

Todo Desenvolvedor Web deveria usar linux. É gratuito/livre, possui vários programas "de fábrica", permite a criação de um servidor sandbox rapidamente, permite fazer várias experiências de configuração e, o mais importante: lhe torna mais produtivo.

Uma boa workstation para um desenvolvedor web possui um servidor localhost para a criação rápida dos scripts. No linux é bastante fácil configurá-lo, e o consumo de memória é baixissimo.

Ubuntu Banner

Eu utilizo o Ubuntu 8.04 LTS.

4. Camada de Abstração de Banco de Dados

Esta também é uma recomendação dos melhores livros de PHP.

Os scripts devem ser independentes da base de dados, por exemplo: se for decidido amanhã que todos os dados passarão de MySQL para PostgreSQL, não será necessário reescrever todas as funções que utilizam MySQL para usarem as funções do PostgreSQL. Para isso, basta aprender uma simples API.

Eu utilizo a PEAR MDB2 como camada de abstração do BD.

5. JS Frameworks

O Javascript está em todo lugar hoje em dia, junto com a moda do AJAX. Bons Desenvolvedores Web devem possuir uma visão geral dos principais frameworks js disponíveis e escolher o melhor para determinada tarefa. Alguns frameworks populares seriam o YUI library, Prototype, jQuery, MooTools, Dojo Toolkit e Ext JS, por exemplo.   

jQuery Logo

6. Extensões do Firefox

Algumas extensões do Firefox ajudam, e muito, na hora de depurar páginas, problemas de CSS, funções em javascript, e até mesmo na performance do site. Essas seriam algumas "obrigatórias" para desenvolvedores web:


7. Ler, Ler e Ler

Esteja sempre lendo. Procure posts sobre programação no Digg, del.icio.us, Infoblogs e leia revistas como Smashing Magazine, blogs como YUI blog e NETTUTS. Se você não sabe inglês, é bom aprender porque as melhores fontes em desenvolvimento são em inglês.

Os livros da O'Reilly e Apress também são uma ótima fonte de aprendizado e atualização.


8. Conhecer a sua volta

Não fique focado apenas em PHP. Claro, conheça mais sobre ele, mas olhe à sua volta que há coisas fantásticas acontecendo, como RoR, Python, e outros.

Um Desenvolvedor Web que não ouviu falar de Ruby On Rails não é um bom desenvolvedor web.




9. Controle de Versão

Quando não se utiliza controle de código, começa a aprecer um stress quando se tenta colocar programadores para trabalhar juntos. Os desenvolvedores não terão como saber quem fez o quê e erros não poderão ser desfeitos facilmente. Um dos pontos forte de controle de versão é que o código é copiado para cada desenvolvedor, e isso dificulta a perda de código.

O Subversion é uma ótima escolha para controle de código, e até de imagens.

10. Utilizar Frameworks

Por que ficar reiventando a roda? A cada projeto novo, criar todos os CRUD's e funções?

A maioria dos frameworks já trazem a parte "repetida" dos projetos toda pronta. Nada de fazer formulários de login e páginas de cadastro. Alguns trazem uma automação tão boa que o desenvolvedor só precisa se preocupar com o modelo de negócios do projeto. E essa é a parte boa dos projetos.

CakePHP Logo

Eu recomendo e uso o CakePHP.