34 comments

[ 0.20 ms ] story [ 57.7 ms ] thread
I bought the first edition when it came out. I was just 3 years into my SW development career and it provided a lot of good advise. I bought the second edition and enjoyed it, but the first edition had a special place in my heart.
When I started a programming job, I read this book, Clean Code, and Code Complete. Code Complete is kinda old but still great, Clean Code is not bad but it's Java centric and has a lot of questionable tips. But The Pragmatic Programmer never gets old.
I was given code complete by my first programming manager in around 99 -- maybe he thought I needed to read it heh
(comment deleted)
The best programmer book i've ever read
A great book, but I read it too late, after I had already learned pretty much everything it says the hard way. So it was one of those books I enjoyed because it reinforced what I already thought, but didn't really get much from. Wish it had been written a decade earlier.
I'd say learning things on your own, even if they take time, is still better as you don't have to actively force yourself to develop that mindset. We often rush towards our goal without realizing how important the journey (small steps) is. Isn't reaching the goal more worthwhile if you have enjoyed the journey along the way? Isn't that what it means to be human?
Alternatively, consider being an idealistic programmer!

  - Fall in love with a single topic, regardless of how trendy.
  - Learn as much as you can about it.
  - Keep learning about it.
  - Learn about it some more.
  - Spend years of your life doing nothing but breathing and thinking about this one topic.
  - Let fads and fashion pass you by.
  - Don't settle for good enough. Try to build the best version possible.
  - Choose where you work based on your ability to reach staggering new heights with this one topic, and disregard whether it seems like an amazing CV line item.
  - Fail to even notice fads and fashions passing you by.
  - Become a master.
I get you're comparing philosophies but none of those suggestions are mutually exclusive to the lessons taught in this book.
Redundancy groups are full of idealists.

It's ok to be passionate about a topic, but also understand if that topic is still relevant in 3-5 years.

Over specializatoin is the enemy of adaptation.
I have read many books. If you can only read one book about how to program in your life , I would say that it is this book: A philosophy of software design: John Ousterhout. It is 10 times better than the next best book.
I'm not sure if you're just spamming this response all over this thread or if you're replying to what I wrote, but I do actually think there's a connection. I've also read and love this book, and it does push back on the "pragmatic" mentality espoused by The Pragmatic Programmer and other similar books.

I feel like this comes from Ousterhout's focus on actually building working systems. The Pragmatic books are much more focused on how one might get through the day as a programmer working at an org, but PoSD is focused on the ins and outs of building software well. I find that Pragmatic Programmer etc. have little to say about this, and when they do it's usually either trivial or fluff.

I'm not sure if Ousterhout is an "idealistic programmer" (I'm not even sure if this is the right term...), but I definitely feel like he's a fellow traveler...

Did that, doesn't pay. Being a technology hipster is like being a master of jazz, it doesn't pay, so you sell out and play pop music.
All comes down to whether or not you picked a topic that will be financially viable several years later.
An incredible book. One very near and dear to my heart. It always sits on the bookshelf behind me with pride of place in every video call or conference.
One of my favorite books on the actual practice of programming.

The other one is "Code Complete".

Code Complete is my favorite, hands down. The Psychology of Computer Programming was also very much worth the read.
I have read a number of programming books but the only two that really stood out to me and that I still remember are The Pragmatic Programmer and K&R The C Programming Language. They are obviously very different but foundational in ways that enabled me to get a lot of things done.

I do still encourage people to learn C only because you could understand how the language works or a long weekend and it will help you appreciate just how things actually work under the hood (and a bit above the assembly instructions level). And TPP is great for helping you understand what to do when actually working on a deliverable project and not just the exciting parts. It’s the difference between building a toy that runs on your machine and a project others can run and use.

The book that's really stood out to me is the Kernighan/Pike "The Practice of Programming" as something that steered me in a really good direction when I was first learning to write code.

I really wish they'd do a revised 2nd edition using Golang as the base for the book instead of C; but otherwise it still really holds up well

I’m really glad I got it after stumbling across the original at my university library. It’s really nice reading it from time to time and getting inspired to become a better developer
My first programming book was The ZX81 Basic. The best I ever read.
When the first version came out, around the time I got my first job, it felt like everyone around me had read this book, and for a long time we were throwing around quotes from this book. Sadly after a few years it felt like the only thing that really stuck in the larger community was "Don't Repeat Yourself", which wasn't really something that at the time stood out as much more important than many of the other "rules".

My personal favorite was always the one about "English is just a programming language", but when I read the 20th anniversary edition that one seemed like it had been toned down? I did not go back to find the original one to compare, but the way I remember it it was pretty hardcore about keeping text as text and using tools like for programming (use macros in text to avoid repeating yourself etc).

Overall the 20th anniversary did feel a bit less idealistic? I guess for a "pragmatic" book that makes sense, but I remember the original like it was making stronger arguments for or against things. I really liked the (anti-)IDE chapter, or the parts on the importance of learning how to use a good text editor well, for instance, but now they basically cut that out. Did give me the impression that they were trying to be down with the kids at times.

> Keep Knowledge in Plain Text

One of the smartest takeaways from all of this, which keeps getting proven over and over.

I don’t know why seasoned veterans praise these books and then implement some of the worst interview practices to test people on writing convoluted bs code for hours. Just doesn’t make sense. Do you want to hire pragmatic programmers or monkeys?
Have the first edition and I had the PDF version before the print was released I'm pretty sure... it was a thing with those Ruby/Pragmatic books when they were 'in development'. Still have my K&R The C Programming Language from 97 with my notes in it.
A classic book. I learn something new each time I read it.

Also, Dave Thomas, one of the authors, is looking for a job.

> So, I'm looking for a job!

> Internal or external consultant, devrel, training, team fixing, design, architecture. WFH or travel the world.

> So, if you know any company that has a Dave-shaped hole, please email me. Some more about me on my site. Links below.

> Many thanks.

> email: dave@pragdave.me

https://x.com/pragdave/status/1978142569272877078

One of the best book on software as a craft - read it couple decades ago and still recommend it to anyone who wants to be good in this craft!
It's a very solid broad programming book! I thought it was going to be too generic or over hyped, but it was solid. That said, I do find the most interesting software books to be about specifics, but that's nothing against this book.

Out of the classic broad books that get recommended all the time, this is one of the best IMO. I really don't like Clean Code (Martin's follow up, Clean Architecture is fantastic, though). Refactoring by Fowler is also a great generalist language and system book (but a specific topic).

Was it this book that introduced YAGNI? (You Ain't Gonna Need It). I feel like it was back around peak Rails hype in 2009 that that was bandied about a lot.