
Ask HN: What's the best development book you've read? - hodgesmr
I&#x27;ve heard a lot about Code Complete and The Pragmatic Programmer. Are these still the must reads? Are there others that you highly recommend?
======
playing_colours
"Coders At Work" [http://www.codersatwork.com/](http://www.codersatwork.com/)
It doesn't have either code or very specific recommendations. It's a number of
interviews with great programmers. Reading it is like talking to brightest
minds in programming and getting precious pieces of advice from them. How they
approach problems, debug, what tools use, how they came to programming and why
they love it. For me that book was a huge injection of inspiration to master
my programming skills and enjoy programming.

------
iends
I just finished reading the Pragmatic Programmer for the first time and felt
that it was pretty much a letdown. For one, it makes a huge number of claims
but does not back up these claims by any empirical evidence (even though I
think it's mostly right, and that empirical evidence for some of their claims
exists). Two, I feel like an undergraduate software course covers 75% of the
material in the book (at least mine did). Maybe people have learned since it
was first published, or maybe I've just worked on pretty good teams that
practiced the stuff, but nothing in there was ground breaking or made me a
better developer. Three, there was a lot of filler in the book, summaries,
talking about future, and past chapters, etc that added no value except to
inflate the page count.

I feel like Pragmatic Programmer would be a good book to read before starting
your first job, or maybe your undergraduate year of college.

I was going to start Code Complete next, but Pragmatic Programmer was so
disappointing I decided to read fiction for the next few weeks instead.

So to answer your question, the best language agnostic development books I've
read are:

1\. Joel on Software: And on Diverse and Occasionally Related Matters That
Will Prove of Interest to Software Developers, Designers, and Managers, and to
Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some
Capacity

2\. The Best Software Writing I

3\. Hackers and Painters

I always wish Joel would come out with a second volume of #2, or to start his
blog up again. I've yet to find something that equals his quality since he
stopped writing.

~~~
gruseom
_it makes a huge number of claims but does not back up these claims by any
empirical evidence_

Name a book that does! The corpus of evidence in our field is quite weak and
doesn't support almost any interesting claim you might make about it. For
example, there's no empirical data supporting version control [1].

There are books that purport to derive software development lessons from the
research literature, but they're either not very good (because they rely on
crappy studies and/or go beyond what the studies support) or not very
interesting (because they merely transcribe the results of very narrow
studies). An anthology of the literature was published recently [2], and it
falls in the latter category. I bought it to get the state of the art in
empirical research and found it contained almost nothing of use to me as a
practitioner. Many of the studies were shoddy (e.g. qualitative case histories
--a euphemism for "anecdote") and the better ones are so careful to limit
themselves to the tiny experiments they did that you can't derive anything
from them. I could mention a couple of exceptions, though, if anyone's
interested.

I think the root problem is that software development is complicated, so to do
rigorous formal studies on it is expensive. The amount of funding available
for this work is a drop in the bucket of what it would need to be. In short,
the market value of empirical evidence on software development isn't high
enough for anyone to pay for it.

[1] [http://neverworkintheory.org/2012/12/12/empirical-
evidence-f...](http://neverworkintheory.org/2012/12/12/empirical-evidence-for-
the-value-of-version-control.html). and
[http://neverworkintheory.org/2012/12/30/why-we-need-
evidence...](http://neverworkintheory.org/2012/12/30/why-we-need-
evidence.html). Notice that the HN discussion of the first post completely
failed to answer its question:
[https://news.ycombinator.com/item?id=4931251](https://news.ycombinator.com/item?id=4931251).

[2] [http://www.amazon.com/Making-Software-Really-Works-
Believe/d...](http://www.amazon.com/Making-Software-Really-Works-
Believe/dp/0596808321)

------
a3n
They're both good. I'd definitely read Pragmatic before Complete, and I
wouldn't feel bad for not finishing Complete.

Outside the box, I'd recommend Heinlein's Time Enough For Love, for the
attitude. Be as self reliant as possible, be as skillful as possible, be as
useful to your team as possible. Find or grow an excellent team.

------
shellab
The book that really helped me was Agile Software Development by Robert
Martin. It outlines some of the best principles for writing software that will
be high quality and easy to extend and refactor for years to come.

------
parthsetya
"HACKERS AND PAINTERS" Hands down one of the best books on software
development(without any actual code). The best bits are: -It comes from
someone who has done some good, really good shit, and owned it out there.(He
developed a web based platform a year before Hotmail even came into existence)
-All throughout the book , Paul Graham advocates writing good software,good
code. That's all!! -The book takes a philosophical approach, but is not "a
sacred collection of chants", and is hence, awesome. -Its a collection of his
essays , which he has written over years , and hence, traverses changing times
and trends. -Though I strongly recommend that one read it page to page, the
author himself claims that you can pick up any chapter from anywhere. \- He is
friends with Robert Morris!!!(Come on! He gets to hang out with the guy who
"invented" First Computer WORM on the Internet)

The books cleanly talks about and focuses on writing good code and unlike a
lot of others, tells why writing code is a craft and not a mere JOB.

------
markhelo
Besides the already good technical book suggestions, I am going a bit off the
path here, but these books have made me a better developer. "Endurance" about
Sir Ernest Shackleton's incredible failed expedition to the South Pole has a
lot of parallels to any software project. Teaches you about setting a high
goal, finding the right team, overcoming failure, being scrappy, and keeping
your team together inspite of the odds. Another non-standard book is "Finding
Flow" by Mihaly Csikszentmihalyi which is about psychology of happiness at
work or life.

------
mncaudill
Clean Code: A Handbook of Agile Software Craftsmanship by Robert Cecil Martin

------
terranstyler
The Joy of Clojure

It (kind of) enlightened me as to why OO programming is such a mess. I dont
know of any similar, language agnostic book though...

~~~
lumpysnake
OO programming is a mess if you make a mess out of it. There is very good OO
code out there, and there is also very bad code.

Also, functional programming is such a mess.

I think you get my point.

------
vram22
Can't really single out one book as the best I've read.

But many come close:

\- Code Complete - 1st Edition. I have both Editions 1 and 2. Edition 1 is
very good and has a lot of stuff worth reading and practicing.

Kernighan and Pike's The Unix Programming Environment.

Kernighan and Ritchie's The C Programming Language.

Would have to think of other good ones, though there are sure to be some.

------
elviejo
Peopleware.. to understand taeam dynamics

