The Pragmatic Programmer

The Pragmatic Programmer From Journeyman to Master

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 you’ll 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. Whether you’re a new coder, an experienced program.
Sign up to use

Reviews

Photo of Christian Bager Bach Houmann
Christian Bager Bach Houmann@cbbh
4 stars
Jul 20, 2024

I enjoyed this book. It certainly wasn’t perfect. I would still recommend The Pragmatic Programmer, especially to new programmers. At times it felt like they didn’t have enough to say to cover the length of the book (violating DRY… ;)), so I skimmed those parts. Especially towards the end. I particularly enjoyed that they took more nuanced and pragmatic (ha) stances to concepts and ideas. They weren’t overly prescriptive, but explained why you might go for something, and why you wouldn’t. This is refreshing to the almost ideological conversations around tech. Most of the content, while outdated to varying degrees, is still useful. At least the mental model and principles it conveys. Go a bit deeper and try to understand the problem the idea is actually solving, and you’ll get much out of this book.

Photo of micro niko
micro niko@microniko
1.5 stars
Feb 17, 2024

Completely wrong, to the point of making me so frustrated that
I couldn't finish the book, but very nicely written.

Photo of brendan sudol
brendan sudol@bren
5 stars
Aug 12, 2022

‘Programming is a craft. At its simplest, it comes down to getting a computer to do what you want it to do (or what your user wants it to do). As a programmer, you are part listener, part advisor, part interpreter, and part dictator. You try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice.’ ‘Great lawns need small amounts of daily care, and so do great programmers. Management consultants like to drop the word kaizen in conversations. "Kaizen" is a Japanese term that captures the concept of continuously making many small improvements.’ ‘One broken window, left unrepaired for any substantial length of time, instills a sense of abandonment…so another window gets broken. People start littering. Graffiti appears… In a relatively short space of time, the building becomes damaged beyond the owner's desire to fix it, and the sense of abandonment becomes reality.’ ‘In some ways, programming is like painting. You start with a blank canvas and certain basic raw materials. You use a combination of science, art, and craft to determine what to do with them. You sketch out an overall shape, paint the underlying environment, then fill in the details.’ ‘Think of the code that needs refactoring as a "growth." Removing it requires invasive surgery. You can go in now, and take it out while it is still small. Or, you could wait while it grows and spreads—but removing it then will be both more expensive and more dangerous. Wait even longer, and you may lose the patient entirely.’ ‘All software you write will be tested—if not by you and your team, then by the eventual users—so you might as well plan on testing it thoroughly.’ ‘Great software today is often preferable to perfect software tomorrow.’

Photo of Ludovica
Ludovica@nagasaki
0.5 stars
Jan 9, 2024
Photo of Carlos Becker
Carlos Becker@caarlos0
5 stars
Dec 1, 2023
Photo of Phil K
Phil K@readmorebooks
5 stars
Jul 29, 2022
Photo of Prakash Rajendran
Prakash Rajendran@prakash
4 stars
Jun 7, 2024
Photo of Timeo Williams
Timeo Williams@timeowilliams
4 stars
Jun 5, 2024
Photo of Darren Olivier
Darren Olivier@darreno
5 stars
Apr 10, 2024
Photo of Lovro Oreskovic
Lovro Oreskovic@lovro
5 stars
Apr 7, 2024
Photo of Javi Velasco
Javi Velasco@javivelasco
5 stars
Apr 3, 2024
Photo of Sofia
Sofia@sofiafrocha
4 stars
Mar 27, 2024
Photo of Jb
Jb@jbr1992
4 stars
Mar 1, 2024
Photo of Mt Tetzel
Mt Tetzel@mrzool
5 stars
Jan 2, 2024
Photo of Tyler Gibbs
Tyler Gibbs@tylerswe
5 stars
Dec 18, 2023
Photo of Cihat Salik
Cihat Salik@cihat
5 stars
Sep 3, 2023
Photo of Mustafa Hussain
Mustafa Hussain@mhussain
3 stars
Jul 20, 2023
Photo of Georgi Mitrev
Georgi Mitrev@gmitrev
5 stars
Jul 4, 2023
Photo of Sean Leach
Sean Leach@kickdaddy
4 stars
Jul 1, 2023
Photo of Gabriel Ayuso
Gabriel Ayuso@gabrielayuso
5 stars
Jun 30, 2023
Photo of Robson Roberto Souza Peixoto
Robson Roberto Souza Peixoto@robsonpeixoto
5 stars
Apr 26, 2023
Photo of Ben Jessup
Ben Jessup@benjessup
4 stars
Mar 25, 2023
Photo of Joe Maddalone
Joe Maddalone@joemaddalone
5 stars
Feb 25, 2023
Photo of Mateusz Gostanski
Mateusz Gostanski@mgostanski
5 stars
Feb 6, 2023