[Livro] The Productive Programmer

The Productive Programmer

The Productive Programmer

O livro parte de uma premissa, no mínimo interessante: com o passar do tempo, o autor percebeu que os programadores ficaram MENOS eficientes, e não o contrário. A ideia é que, por passar a utilizar cada vez mais interfaces gráficas ao ponto de se interessar apenas por interface, o que seria um aumento de produtividade, do ponto de vista do usuário final de computadores, acabou prejudicando os desenvolvedores que perderam um pouco eficiência máxima do computador. No entanto, desenvolvedores são um tipo bem diferente de usuários de computador e muitas vezes precisam abrir mão da “facilidade de uso” para ter um ganho com eficiência.

A partir daí o autor parte para quatro princípios para se tornar um programador produtivo: Aceleração, Foco, Automação e “Canonicalidade”.

Aceleração fala sobre executar tarefas que fazemos a todo momento de maneira mais rápidas. Foco se refere a como alcançar e se manter em um estado de super produtividade, utilizando programas para reduzir distrações, procurar informações de forma mais eficiente, etc. Automação é auto-explicativo, se refere a deixar o computador trabalhar por você. “Canonicalidade” diz respeito a evitar duplicações de informações, para que você evite desperdício com redundância.

Esta primeira parte do livro realmente se refere a ferramentas que você pode utilizar para se tornar um programador mais produtivo. Coisas simples como utilizar um GnomeDo ou QuickSilver até a utilização de repositórios centralizados para compartilhar informações. É uma etapa meio maçante, mas que lhe apresenta informações interessantes.

Já a segunda parte do livro fala sobre a experiência do autor como consultor da ThoughtWorks em vários diferentes projetos e práticas que ajudam qualquer time de desenvolvimento a se tornar mais produtivo.

Um dos primeiros tópicos abordados é o TDD, falando sobre os benefícios, como evoluir códigos de teste e a importância da cobertura de código. Outro tópico fala sobre análise estática, em linguagens estáticas lógico, citando algumas ferramentas para análise de qualidade de código. Também são mencionados ferramentas para linguagens dinâmicas.

Outro tópico interessante discutido no livro é o principio “Good Citizenship “, que já foi falado aqui no blog (https://brizeno.wordpress.com/2012/11/26/o-objeto-bom-cidadao-good-citizenship/). Também são feitas discussões filosóficas, utilizando assuntos não relacionados com desenvolvimento de software mas que servem como exercício para uma discussão sobre princípios de design de software.

As metáforas utilizada no livro são bem interessantes, por exemplo quando o autor compara projetos de software onde sempre se busca adicionar informações ao navio Vasa, que foi um navio “inovador” com um orçamento infinito, mas que não conseguiu navegar mais que 120 metros.

Outro exemplo interessante é quando o autor fala sobre desenvolvedores que tem medo de tentar novidades porque todos os outros dizem que algo “sempre foi feito assim”. A comparação é feita com o experimento dos macacos raivosos, onde um grupo de macacos era colocado em uma sala com uma escada e um cacho de banas no final da escada. Sempre que um dos macacos subia, os outros levavam uma rajada de água gelada. Com o tempo, os macacos começaram a bater em qualquer outro macaco que tentava subir. Com o tempo, nenhum macaco subia mais, então um dos macacos foi substituído, e logo o macaco novo tentou subir a escada e apanhou dos outros, até desistir de subir. Os macacos foram então substituidos por completo e chegou-se ao ponto que nenhum macaco tentava subir sem nunca ter sido molhado.

No fim, o livro vale muito a pena. Os capítulos são curtos e bem concisos, ou seja, nada de redundância ou conversa fiada para deixar o livro maior. Então se você quiser se tornar melhor no que faz todo dia, recomendo a leitura do livro. Não sei sobre detalhes da versão traduzida, mas a versão original utiliza uma linguagem bem simples e fácil de ler.

The Productive Programmer
By Neal Ford
Publisher: O’Reilly Media
Released: July 2008
Pages: 226

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s