I was looking back on some discussions I've started in the past on DEV, and felt like sharing some top comments from this #discuss post. Enjoy!
I really enjoy this one:
The Pragmatic Programmer: From Journeyman to Master
Shoot. We've been trying to put together a list!
But the problem with this stuff is - it always depends on where you are at.
A lot of people swear by "The Pragmatic Programmer" and "The Mythical Man-month" - and we think those are great. They're actually right here - within reach!
But those are NOT the right books to read for someone who is just starting out. Those are like - fun thought-provoking essays and stuff for career programmers who are already advanced and experienced. (please argue this point if you feel differently)
Those are definitely "classic" reads. But - we're curious about what could become a 'classic' foundation for more than code.
"Clean Code" and "Code Complete" are also classic reads - but could devastate the reader if picked up at the wrong time in their learning path.
We think that these should be mandatory reading:
"Design for the Real World", "Ruined by Design" (both for understanding your impact and responsibility as a creator) and "Exercises for Programmers" as a practical (language agnostic) guide to learning programming.
Also required: "The Elements of User Experience."
"The Design of Everyday Things" is another one. (make sure you get the latest edition)
UX: "Don't Make Me Think", "The Inmates Are Running the Asylum"
BLOGS: "Coding Horror" "Joel on Software"
ESSAYS: "I, Pencil"
If you could just give someone only one book to help them learn to be a confident and responsible programmer, what would it be?
We would probably choose "The Elements of User Experience" - have the student practice things for a while - and then introduce "Design for the Real World" - or maybe we'll need to write a little collection from all of those books as an entry point.
not really part of the original ask, but aren't books just long blogs?
- The K&R as an example of dense, well written technical prose
- Pragmatic Programmer. Solid advice, always applicable
- CODE Petzold's work still stands as one of the best intros into thinking like a computer
- SICP. Tough, even for seasoned engineers. Helps mold your brain and expand your reasoning. Even though MIT switched to python for the class, everybody should learn a lisp. Makes you a better engineer, even if you never use a lisp in production.
- The Phoenix Project. Originally published 7 years ago. Unsure if this is far enough in the past to be "classic". But every developer that works on a team with more than two people needs to read this.
- The design of everyday things