11/06/2022

Capítulo 01 – Uma filosofia pragmática

Pragmatic Programmers take responsibility for everything they do
Dave Thomas e Andy Hunt

The Pragmatic Programmer - 20nd anniversary edition

Este livro é considerado por muitos – eu inclusive – um dos clássicos da computação.

Dave Thomas e Andy Hunt escreveram a primeira edição deste livro em 1999 para ajudar seus clientes a escrever software de melhor qualidade e redescobrir o prazer pela programação. As lições contidas no livro tem ajudado gerações de desenvolvedores a melhorar seus skills, independente de linguagem e plataforma.

Acessar livro

Compartilhar impressões sobre qualquer livro é sempre um desafio. Falar sobre um clássico, como The Pragmatic Programmer, sob minha perspectiva, é ainda mais difícil. Os autores, desde o começo, assumem posições fortes sobre uma série de aspectos polêmicos e sensíveis da prática e conduta de desenvolvedores de software. Por isso mesmo, a obra é um tremendo convite a reflexão e possui potencial de impacto gigantesco.

O que segue são as minhas impressões sobre a leitura do primeiro capítulo de The Pragmatic Programmer. Ou seja, é um compilado do que eu entendi durante a leitura e não reflete, necessariamente, as reais intenções dos autores.

The Pragmatic Programmer 20 Years Later

Nesse vídeo, Dave Thomas indica o que mudou desde a publicação da primeira versão desse livro e as motivações para escrever uma edição revisada.

Acessar vídeo

Minha sensação ao ler o primeiro capítulo de The Pragmatic Programmer, que discute a “filosofia pragmática”, é que se há uma palavra que o define, esta palavra é autorresponsabilidade.

Os autores defendem, e eu concordo, que somos – ou pelo menos deveríamos ser – os principais responsáveis pela gestão de nossas carreiras e nossos resultados. Não nos cabe transferir essa atribuição para os outros. Somos os principais responsáveis pelo código que produzimos, pelas competências que precisamos desenvolver para fazer bem o trabalho, por comunicar efetivamente o que pensamos e, principalmente, por cumprir acordos.
2
Considerações?x

Obviamente, nada é tão simples. Entendo e sou sensível ao argumento de que condições e realidades sociais e econômicas influenciam, algumas vezes de forma definitiva, o que se pode ou não fazer. Mas, isso não muda o fato de que, em última instância, escolhemos trabalhar onde trabalhamos. Se não estamos satisfeitos com nosso ambiente, com nossas condições de trabalho, com a gestão, com os colegas, sempre temos a opção de achar outro lugar para trabalhar, embora, claro, precisemos lidar com as implicações dessa “autonomia”.
0
Considerações?x

You can change your organization or change your organization.

Martin Fowler

Dando um passo além, os autores afirmam que é a competência – que demanda conhecimentos, habilidades e atitudes – de um profissional que o credencia para fazer o que faz, logo, é interesse primário dele desenvolver competências, tornando natural aprender fora de “das oito as dezoito”.
1
Considerações?x

Segundo Thomas e Hunt, programadores pragmáticos investem na aquisição de conhecimentos habitualmente, buscando diversificação tanto em “apostas certas e incertas”, tentando sempre obter compensação satisfatória, como se estivessem gerenciando um portfólio.

If technology seems to be passing you by, make time (in your own time) to study new stuff that looks interesting. You’re investing in yourself, so doing it while you’re off-the-clock is only reasonable.

Dave Thomas e Andy Hunt

Os autores defendem – e eu também – que, como “programadores pragmáticos”, devemos entender que é nosso trabalho desenvolver soluções e não desculpas. Se prazo ou orçamento são restrições, é nosso trabalho encontrar formas de fazer o melhor possível com aquilo que temos a nossa disposição. Em última instância, é honesto optar por não participar quando achamos que as expectativas não são realistas, mas, não devemos condenar “quem faz a proposta” e, também, “quem resolve aceita-la”.
2
Considerações?x

Instead of excuses, provide options. Don’t say it can’t be done; explain what can be done to salvage the situation.

Dave Thomas e Andy Hunt

Programadores pragmáticos pagam dívidas técnicas. Não apenas aquelas que contraem, mas também as dos outros. Não apenas as de agora, mas aquelas que são “herdadas”. Eles entendem que “gambiarras” acabam se tornando justificativas para que as pessoas (os outros e nós mesmos), ingenuamente, se importem menos e, por isso, quando encontramos uma, devemos “resolvê-la”.
1
Consideraçõesx
One broken window – a badly designed piece of code, a poor management decision that the team must live with for the duration of the project – is all it takes to start the decline.

Dave Thomas e Andy Hunt

Os autores defendem – e eu também – que programadores pragmáticos buscam influenciar positivamente o ambiente onde atuam, trabalham com e para o time. Eles influenciam por exemplos e não por palavras. Isso implica em demonstração prática, com resultados,  da aplicação de  boas práticas e não pelo evangelismo vazio. Além disso, programadores pragmáticos entendem que algumas mudanças demandam tempo.
0
Consideraçõesx

People find it easier to join an ongoing success. Show them a glimpse of the future and you’ll get them to rally around.

Dave Thomas e Andy Hunt

Programadores pragmáticos entendem que é seu dever atender as expectativas do negócio e que, para isso, é preciso entendê-las. Programadores pragmáticos são pró-ativos e não reativos. Os autores afirmam que programadores pragmáticos entendem que qualidade é um “acordo” entre as partes interessadas. Eles cumprem seus acordos e atendem expectativas.
0
Consideraçõesx

Se a qualidade imposta a um projeto não está de acordo com a “barra mínima” de um programador pragmático, cabe a ele tentar “sensibilizar” as partes ou deixar de participar do projeto. O silêncio também é uma decisão.

We are simply advocating that users be given an opportunity to participate in the process of deciding when what you’ve produced is good enough for their needs.

Dave Thomas e Andy Hunt

Finalmente, a filosofia pragmática indica que cabe aos desenvolvedores comunicar efetivamente suas ideias. Os autores defendem que nossos idiomas deveriam ser aprendidos com o mesmo afinco que dedicamos a aprender linguagens de programação, que devemos ajustar o tom e forma a quem nos ouve e lê.
0
Considerações?x

A good idea is an orphan without effective communication.

Dave Thomas e Andy Hunt

Em muitos aspectos, a filosofia pragmática exposta no primeiro capítulo de The Pragmatic Programmer aparenta um compilado de obviedades. Entretanto, há tempos entendo que o óbvio precisa ser dito e que o bom senso nem sempre é senso comum. De qualquer forma, é inegável que a (re)leitura, em muitos momentos, me gerou algum desconforto. Como disse no início desse texto, a tônica do primeiro capítulo parece ser autorresponsabilidade – algo duro de assimilar nesses tempos em que parece haver uma certa tendência de apontar que o inferno são os outros.

E você? Leu The Pragmatic Programmer? Tem ponderações sobre o que entendi? Algo importante que ignorei? Te convido a compartilhar suas visões nos comentários. Vamos aprender juntos!

Já compartilhei minhas percepções sobre o Capítulo 2!

Compartilhe este capítulo:

Compartilhe:

Comentários

Participe da construção deste capítulo deixando seu comentário:

Inscrever-se
Notify of
guest
6 Comentários
Oldest
Newest Most Voted
Feedbacks interativos
Ver todos os comentários
Adriana Maiate Rosendo
Adriana Maiate Rosendo
2 anos atrás
Feedback no conteúdo deste capítulo Os autores defendem, e eu concordo, que somos - ou pelo menos deveríamos ser - os principais responsáveis pela gestão…" Ler mais »

Eu concordo muito com esse ponto específico, e também acredito que o óbvio precisa ser dito e as vezes repetido, quantas vezes forem necessárias. Temos um ponto muito importante que os líderes tem um papel de sinalizar coisas que muitas vezes nós não percebemos, isso acontece, mais é um papel secundário. A gestão da nossa carreira é nossa, trabalhar nossas dificuldades é nossa responsabilidade, e quando entendemos isso conseguimos avançar muito na carreira.

Ivan Silvestre
Ivan Silvestre
2 anos atrás

Oi, Elemar. Adorei o post, me despertou vontade pra ler. Obrigado pela indicação.

trackback

[…] o que aprendemos no primeiro capítulo, entendemos que programadores pragmáticos são aqueles que assumem a responsabilidade por fazer […]

Anderson Lorena
Anderson Lorena
2 anos atrás
Feedback no conteúdo deste capítulo Os autores defendem, e eu concordo, que somos - ou pelo menos deveríamos ser - os principais responsáveis pela gestão…" Ler mais »

Concordo em gênero, número e grau, pois é muito comum, as pessoas, terem a tendência natural de terceirizar suas decisões e isso refletir em uma série de aspectos, principalmente, seus resultados.

Andre Almar
Andre Almar
2 anos atrás
Feedback no conteúdo deste capítulo Os autores defendem - e eu também - que, como "programadores pragmáticos", devemos entender que é nosso trabalho desenvolver soluções…" Ler mais »

“programadores pragmáticos”, devemos entender que é nosso trabalho desenvolver soluções e não desculpas.

PERFEITO!! Somos contratados para resolver problemas, não importa a tecnologia que usemos. Infelizmente muitos se importam apenas com bit and byte ao invés de resolverem problemas reais de negócio, ao quais foram contratados para fazê-lo.

Gustavo Barros
Gustavo Barros
2 anos atrás
Feedback no conteúdo deste capítulo Os autores defendem - e eu também - que, como "programadores pragmáticos", devemos entender que é nosso trabalho desenvolver soluções…" Ler mais »

É terrivel realmente quando você percebe alguém que só cria desculpa ou culpa os outros. A credibilidade vai pro espaço.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Simplificamos, potencializamos e aceleramos resultados usando a tecnologia do jeito certo.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia. Clique no botão abaixo para conhecer mais alguns conteúdos desenvolvidos por mim:

55 51 9 9942 0609  |  me@elemarjr.com

55 51 9 9942 0609  |  contato@eximia.co

55 51 9 9942 0609  contato@eximia.co

6
0
Quero saber a sua opinião, deixe seu comentáriox
()
x