O Programador Pragmático

Escrito por Andrew Hunt e David Thomas, dois dos fundadores do Manifesto Ágil, o livro The Pragmatic Programmer se tornou uma referência para programadores que buscam aprimorar suas habilidades. Através de análises de casos reais e aprendizados de anos de experiência no mercado, os autores estabeleceram uma série de princípios e conceitos que compreendem as características e responsabilidades de um programador pragmático.

Este artigo é uma tentativa de, em poucas palavras, introduzir o conceito de pragmatismo no contexto da programação segundo os autores e servir como um breve resumo do livro.

O que torna um programador, pragmático?

Apesar de todo programador ser único e possuir pontos fortes e fracos, algumas características são inerentes à todo programador que se diz ser dedicado e responsável em seu trabalho, sendo elas:

  • Adaptação rápida: Instinto por técnicas e tecnologias. Capacidade e interesse em se aprender novas tecnologias e associar o aprendizado ao conhecimento já obtido.
  • Inquisição: Interesse em se obter clareza. Questionar e analisar toda situação intrínseca à dado problema.
  • Pensamento crítico: Atitude de procurar entender e se assegurar da razão e dos motivos antes de fazer qualquer suposição.
  • Realismo: Capacidade de compreender a real natureza de dado problema de forma a não idealizar possíveis soluções, mas sim entender o que pode ser feito de fato.
  • Versatilidade: Disposição em se relacionar com várias áreas. Mesmo enquanto especialista, estar disposto a aprender e adquirir um leque genérico de conhecimento.

Para se tornar um programador pragmático é necessário pensar sobre o que você está fazendo, enquanto você está fazendo. Não basta fazer uma auditoria isolada para se obter resultados positivos, mas sim criar o hábito de efetuar uma constante avaliação crítica de cada decisão que você tomou ou que pretende tomar. Em outras palavras, é necessário desligar o piloto automático e se fazer presente e consciente de toda ação tomada, estar constantemente pensando e criticando seu trabalho com base nos princípios do pragmatismo.

Princípios a serem seguidos

Ao longo dos capítulos o livro trata sobre vários princípios de como aprimorar sua atitude enquanto programador. Existem muitos livros dedicados inteiramente à alguns destes princípios, tamanha a importância e recorrência dos problemas que eles se propõem a resolver.

1. Não se repita (DRY - Don’t Repeat Yourself)

Evite ambiguidade e duplicação. Toda parte do conhecimento deve possuir somente uma representação em todo o sistema.

2. Reflita sobre seu trabalho

Desligue o piloto automático. Critique e avalie constantemente seu trabalho.

3. Seja um catalisador de mudança

Você não pode impor mudanças às pessoas. Ao invés disso, mostre a elas como o futuro pode ser e ajude-as a participar de sua criação.

4. Invista regularmente em seu portfólio de conhecimento

Faça da aprendizagem um hábito. Procure apender algo novo relacionado ao seu trabalho todo dia.

5. A maneira como você diz é tão importante quanto o que você diz

Não adianta ter ótimas idéias se você não as comunica eficientemente.

6. Facilite a reutilização

Se for fácil de reutilizar, as pessoas reutilizarão. Crie as circunstâncias que favoreçam a reutilização.

7. Não suponha, prove

Prove suas suposições no cenário real, com dados reais e limites reais. Desta forma não haverá dúvidas sobre a eficácia da solução proposta.

8. Refatore cedo, refatore sempre

Assim como você deve regar e cuidar de um jardim, reescreva, reorganize e reconstrua o código quando necessário. Ataque a raiz do problema.

9. Projete para testar

Comece a pensar em teste antes mesmo de programar uma linha sequer. Evite código que não possa ser testado.

10. O código não está pronto até todos os testes estarem passando

Palavras para se viver.

Essas foram somente algumas das dicas e dos princípios apresentados pelo livro, inclusive, em sua versão original, o livro vem acompanhado de uma folha que pode ser destacada servindo como um guia de referência rápido com mais de 70 dicas além de resenhas sobre os pontos mais importantes de cada capítulo. De fato um ótimo item para se ter sempre à disposição.

Em suma, se está interessado em saber mais sobre como aprimorar seu trabalho enquanto desenvolvedor, não pense duas vezes antes de adquirir este livro. A versão original em inglês pode ser obtida através da Amazon e já existem versões em português em lojas no Brasil como a Saraiva.

Boa leitura.