I am sorry, but for me that book was a no. It just felt like a self help book, but for programmers, which is kind of ok if you are feeling any sort of personal trouble in the field. Not that this is not already told on the back cover, but no, I would not call this book the best development book. I did not buy it, instead, it was the result of participating in a local dev Google something, but it really surprised me how much bullshit the book was full of.
If you are into inspirational quotes, and repeating the same thing over and over again on your head until you believe it to then get into "hacking" fully inspired and into the productive zone, then this book is for you.
Agree, I also dislike the book's pseudo-villification of management, architecture, and anything that isn't typing code in an IDE. I read it, I wouldn't recommend it to others.
Hmmm... in that case may I recommend "The Passionate Programmer"?
The guy who wrote it had a pretty interesting career trajectory - went from being a jazz musician, to a self-taught dev, working his way up to a manager of a large scale outsourced team, to a dev again doing Rails and the like.
It had a feel and structure like Robert Greene's books - little 3-5 page segments focused on one idea, interspersed with personal stories and interviews illustrating the points. It seemed particularly focused on working within a corporate structure in a positive manner.
Have you (or anyone else) read Code Complete? If so, how do you feel about it? I started reading it because everyone recommended it, but I stopped at page 100 or so, because I felt it was getting no where.
Code Complete was overwhelmingly the most influential programming book I've ever read. But it's been around for 20 years, and much of the material has now been rehashed in many other books, videos, forums, blog posts, etc. I think that's what other posters are getting at when they say it's just common sense: this kind of thing is everywhere now.
Much of the book is spent making arguments for and providing evidence for things that are considered obvious today.
So if you stopped because the material sounded obvious and redundant, then maybe it is for you. But if you stopped because the material seemed seemed unimportant or trivial, then I strongly urge you to start up with it again.
Even if a lot of the ideas are also present elsewhere, I still think it is a great book, especially the parts on how to actually write code. For example the chapters on naming, code lay-out, conditionals and methods/functions. I don't know of any other book that covers that as well as Code Complete does.
It is a thick book. But you can still learn a lot even if you don't read it cover to cover. Even if it only makes you a better developer by 0.5%, isn't that still worth it?
Books like these can be quite a shock to a large set of devs out there. Think enterprise code jockeys who don't read tech books or pay attention to what is going on out there and learn everything they do on the job.
I read Code Complete 2 after developing software for maybe 6-7 years in an environment like this. Much of it was obvious, but the rest was a revelation. Same with The Pragmatic Programmer.
Several years later I read a book called "The Passionate Programmer", which was like the book described in this article - soft, career development skills. That was probably the most important book I've ever read. In fact it's how I found out about Hacker News in addition to a whole bunch of different books. It lit a fire in me.
4 years later, I have a career that is so dramatically different I don't even know where to begin. On the same token, I reread that book (Passionate Programmer) recently and it does seem like common sense I would absorbed over time from things I read on HN.
How long had you been programming when you read it? Code Complete and The Pragmatic Programmer had been on my Amazon wishlist for nearly ten years when I finally ordered them a couple years ago. I had the same reaction as you to both. I had already learned all those things through experience. On the other hand, I don't know if the books would have done much good for me ten years ago. Maybe I needed to learn those things on my own, over time.
I think more people read those books and say, "yes, I agree with all of this already" than read them and think, "oh, here is a new thing I haven't thought before and will use from now on."
It's a great book for people who started coding 10-15 years ago.
Since then most of the lessons in Code Complete have become part of the soul of modern languages, frameworks and libraries. So you learn them through proxy.
Still, I still come across people who could learn from reading it again, especially what it says over comments, testing and generally writing legible code.
I was helped tremendously in my early coding days by the section in Code Complete on naming things.
The book is about the tiny details of coding. Getting the small things right, as in any sport or profession, gives you the tools to get the big things right.
But if you are in a section that bores you, skip around a bit!
I think Code Complete is the kind of book that if you don't already know what's in it it's not going to help you and if you do know what's in it it's not going to help you.
That said, it has a lot of solid advice. It also has some less than solid advice which is more of an opinion.
I would still recommend people read it. I also recommend they read the references. I also recommend they talk with other people, look at their experiences, and try to figure things out for themselves.
Adding another thought here:
Some things have to be learnt through experience. You can read a really great book about swimming but it probably won't make you a good swimmer. So that's one thing.
The other thing is that I found the book trying to be very rigorous about subjects where it's simply impossible to do so. There are so many different ways to approach different problems and things like cost vary hugely between different businesses. Sometimes doing things one way makes sense in a given context and not in another. What we need is for people to develop that understanding rather than simply learn some rules.
I read it when I started my first "real" job. Back then it was really influential and had tons of interesting stuff. I usually recommend it to summer-trainees to put on their read-list (not as the first book to read though).
Like many have already pointed out that participating in the HN gets you the same information :) So don't sweat it too much, you already know that stuff.
I do not think it is a book you are supposed to read from start to end. It is more a book you randomly open when you feel bored or tired, read part of random length and then close.
Kind of book equivalent of opening facebook/news for 5 minutes and then going back to work. Except that you learn little bit each 5-10 minutes long session.
Useful information, generally good guidelines, but it very much feels like a book for managers to read, and run through the checklists when assessing those they oversee.
Generally, for a programmer, I'd say skip it. Or pick it up in a library and skim over it, and you'll get 90% of the benefit. And yeah, the whole thing could be condensed into a large blog post / small handbook and it would be immensely improved.
It was a gift for participating in a local Google event, sorry if it wasn't clear enough. By not 'buying it' I wanted to highlight that my opinion on the comment would be inherently negative, as I am not in the target audience of the book (as in, if in a store, I would not buy it).
Yes, I have read it. It is not a terrible book, heck, it might be good for what it is meant to be (guidance for disoriented developers), but it is far away from being the best development book, and thus should not be called what it is not.
FWIW, you're faulting him for a claim he isn't making. He says it's the best development book he's read, not the best development book in general. There's a big difference.
If you are into inspirational quotes, and repeating the same thing over and over again on your head until you believe it to then get into "hacking" fully inspired and into the productive zone, then this book is for you.