The Pragmatic Programmer

The Pragmatic Programmer é livro obrigatório, servindo de introdução geral para refatoração, TDD, técnicas DRY e outras boas práticas.

Background Image

Embora não tenha terminado de ler, tenho gostado muito do The Pragmatic Programmer. É um livro obrigatório, servindo de introdução geral sobre refatoração, versionamento de código, TDD, técnicas DRY, e vários outros recursos que estão de uma forma ou de outra, englobados dentro dos processos ágeis de desenvolvimento.

Além de não ter uma linguagem chata e usar várias analogias interessantes, o livro é realmente prático, traz muitas situações que facilmente encontramos no dia-a-dia.

Sinopse oficial do Livro The Pragmatic Programmer (em Inglês)

Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process–taking a requirement and producing working, maintainable code that delights its users.

It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and youll learn how to

  • Fight software rot;
  • Avoid the trap of duplicating knowledge;
  • Write flexible, dynamic, and adaptable code;
  • Avoid programming by coincidence;
  • Bullet-proof your code with contracts, assertions, and exceptions;
  • Capture real requirements;
  • Test ruthlessly and effectively;
  • Delight your users;
  • Build teams of pragmatic programmers; and
  • Make your developments more precise with automation.


Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development.

Fonte: Amazon

Pontos Positivos

O livro tem um foco grande no aspecto humano que existe na jornada de virar um bom programador. Eu SUPER recomendo esse livro para os iniciantes na carreira de programação, não somente devido as dicas técnicas, mas principalmente as dicas comportamentais.

Pontos Negativos

O primeiro é o fato de estar em inglês, o que criar uma forte barreira para muitos iniciantes. Outro ponto é devido a alguns exemplos já mostrarem o peso do tempo. Algumas recomendações já não se mostram tão atualizadas assim — nada que uma pequena revisão não resolva.

Se interessou no livro?

O que significa ser um programador pragmático?

Ser um programador pragmático significa ter uma abordagem prática para a programação. Isso significa que, em vez de seguir cegamente teorias ou padrões, o programador pragmático se concentra em encontrar a melhor solução para o problema à mão, independentemente da linguagem ou framework utilizado.

Alguns dos traços comuns de um programador pragmático incluem por exemplo:

  • Focado em resolver problemas de maneira eficiente e eficaz, em vez de seguir cegamente teorias ou padrões;
  • Abrangente e curioso, sempre procurando aprender coisas novas e experimentar coisas diferentes;
  • Flexível e adaptável, capaz de se ajustar rapidamente às mudanças e aproveitar novas oportunidades;
  • Prático e realista, compreendendo as limitações do tempo e dos recursos e trabalhando de maneira a maximizar o retorno sobre o investimento;
  • Focado em resultados, entendendo que o objetivo final é entregar valor para os usuários ou clientes.

Como construir uma carreira como programador, segundo o The Pragmatic Programmer

Existem algumas coisas que você pode fazer para construir uma carreira como programador:

Aprenda as habilidades técnicas necessárias:

É importante ter uma boa compreensão das linguagens de programação e das ferramentas que são usadas no mercado de trabalho. Você pode aprender isso por meio de cursos online, livros ou aulas presenciais.

Crie projetos pessoais

Um bom modo de praticar e mostrar suas habilidades é criando projetos pessoais. Por exemplo, isso pode ser um app, um site ou qualquer outra coisa que você goste. Compartilhe seus projetos online, em redes sociais ou em seu próprio portfólio para mostrar o que é capaz de fazer.

Faça estágios ou trabalhos voluntários

Uma ótima maneira de adquirir experiência é através de estágios ou então trabalhos voluntários. Isso pode ajudá-lo a adquirir experiência prática, conhecer pessoas no setor e aprender sobre como funciona uma empresa de tecnologia.

Participe de comunidades online

Existem muitas comunidades online de programação, como fóruns e grupos no LinkedIn, em que você pode participar e trocar conhecimentos com outros programadores. Além disso, as comunidades também podem te ajudar a ficar atualizado sobre as últimas tendências e tecnologias.

Faça networking

Conhecer pessoas no setor de tecnologia pode ser muito útil para sua carreira. Participe de eventos de tecnologia, crie relacionamentos profissionais e mantenha contato com as pessoas que você conhece. Isso pode ajudá-lo a encontrar oportunidades de trabalho bem como a progredir em sua carreira.