DEV Community

Cover image for Five Classic Reads in Software Development
Ben Halpern
Ben Halpern

Posted on

Five Classic Reads in Software Development

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!

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!

Image of "The Pragmatic Programmer" and "The Mythical Man-month"

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.

Book covers of <br>
"Design for the Real World", "Ruined by Design", and "Exercises for Programmers"

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.

Blogs

not really part of the original ask, but aren't books just long blogs?

Books

  • 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

videos

Top comments (6)

Collapse
 
kamranayub profile image
Kamran Ayub • Edited

I am about 2/3 done with Code Complete. Halfway through I started a Twitter thread to keep track of key points and good quotes. I have had it since I started my career but never got to finishing it. I read a few pages a day!

Collapse
 
tomassirio profile image
Tomas Sirio

Code complete is my next book on the list. I'm finishing Dune right now :D

Collapse
 
pzelnip profile image
Adam Parkin

That's a really good one, I read it pretty early on in my career and found it really shaped how I think about coding. Glad to hear it holds up (I read it probably 10 years ago).

Collapse
 
darthwalsh profile image
Carl Walsh • Edited

When I a junior dev in C#, I really benefitted from reading Eric Lippert's blog Fabulous adventures in coding. Both for the in-depth knowledge of the how and why of C#, and also how to function as an engineer: 2003-2012 Archive then current blog.

Collapse
 
kspeakman profile image
Kasey Speakman
Collapse
 
zilti_500 profile image
Daniel Ziltener

SICP is a must-mention (and must-read) as well when mentioning classic reads.