tags:

views:

30802

answers:

317

This is a poll asking the Stackoverflow community what non-programming books they would recommend to fellow programmers.

Please read the following before posting:

  • Please post only ONE BOOK PER ANSWER.

  • Please search for your recommendation on this page before posting (there are over NINE PAGES so it is advisable to check them all). Many books have already been suggested and we want to avoid duplicates. If you find your recommendation is already present, vote it up or add some commentary.

  • Please elaborate on why you think a given book is worth reading from a programmer's perspective.

This poll is now community editable, so you can edit this question or any of the answers.

Note: this article is similar and contains other useful suggestions.

+65  A: 

The Inmates Are Running the Asylum

by Alan Cooper

alt text

It's about using the right language to talk about projects - using stories (and personas) instead of 'features' to talk about stuff that needs to be realized. Also a lot of emphasis on interaction design and related activities. Delivering what is needed instead of what is asked for.

Vaibhav
Would someone at least comment here what this book is about? Thanks.
sep332
I'd say it's about using the right language to talk about projects - using stories (and personas) instead of 'features' to talk about stuff that needs to be realized. Also a lot of emphasis on interaction design and related activities. Delivering what is needed instead of what is asked for.
Simon Groenewolt
I am only up to the second chapter, and so far it talks about interaction design and how it is the key to creating usable systems. The author mostly writes about where existing systems fall short, so I hope in the rest of the book he mentions solutions to these problems :)
Nippysaurus
Put more simply, the book says that programmers most often write programs that are usable primarily by other programmers (hence the title). It presents methodologies to ensure that programs are written to the domain of the users, not the developers. Great book.
CMPalmer
This looks like a programming book (properly, broadly construed) to me.
Novelocrat
bias
+10  A: 

I think this was covered pretty well in another question (Best non-development book for software developers).

Chris Upchurch
+208  A: 

The Mythical Man-Month

by Fred Brooks

The Mythical Man Month

Vaibhav
Very interesting book
Kristian
I think this book is vastly overrated. Hopefully others can chime in with what they actually learned from it - other than 'adding additional programmers to a late project will only make it later' and other programmer-feelgood un-nuanced soundbites.
Roel
I've learned that "adding additional programmers to a late project will only make it later" only means that more people = more eyes to spot critical flaws = more time needed to fix it = late project.
ilitirit
How is this a non-programming book?
MusiGenesis
+1 MusiGenesis. I believe the question asked for non-programming books. Since you can't read the subject, I'm assuming you've never read this book either.
BoboTheCodeMonkey
MusiGenesis makes a good point. Mythical Man Month *is* a book about programming, for a big part. Ok, not on a very technical level, but still. Nevertheless, it's a book I'd also recommend to programmers; surprisingly fresh even after decades of its original publication.
Jonik
+1 again MusiGenesis
Charlie Flowers
-1 because, even thouth this is a good book, it *is* about programming
Gabe Moothart
That book is absolutely worthless. If you have read Joel or Jeffs websites for any length of time that book will not contain *one* new useful idea.
tomjen
@tomjen Okay, but to someone who read The Mythical Man Month before finding those blogs, you recognize one of their influences. It's a bit exteme to call it worthless just because the advice is good enough to have been repeated by some of SO's favorite bloggers.
ojrac
My favorite part of this book is the metaphor about getting together nine women to produce a baby in one month. I always say, it doesn't work, but it's fun to try until the child support bills start coming in!
Imagist
@tomjen I can't imagine why anyone thinks Casablanca is a good movie, everything about it is cliche. Yeah, it isn't full of new ideas _now_ after its bones have been picked clean over the past few decades. But it is an excellent PROGRAMMING book.
sal
NOT a programming book in the vein of "21 Days To C++/Java/whatever Guru-dom!", but an excellent book on software development.
Bob Jarvis
+307  A: 

How to Win Friends and Influence People

by Dale Carnegie

How to Win Friends and Influence People

Although this was first published in 1936, the advice contained within is still as fresh and appropriate as ever. Don't be put off by the name. This isn't some underhand guide to having your way with unsuspecting victims, but rather common sense advice on how to get on with people, how to nurture relationships and make the most of yourself and your fellow man (and woman).

It is well known that technical folk (including programmers) are often thought of as not being terribly 'people oriented' (whether this is a justified stereotype or not is subject of another discussion) and so this book is an invaluable resource for teaching you the finer points of human interaction.

It's warm, heartfelt, sturdy, straightforward and timelessly written. Highly recommended.

Charles Roper
Outstanding book. Be aware a second edition was published in the 1970s that updated many of the examples and removed language considered offensive to modern sensibilities. The new edition has both admirers and detractors.
Dour High Arch
I have always resisted the idea of reading this book because the title made it sound manipulative, which is not what I want to be - I just want to be myself. Reading this post and comment made me decide that I should have a look at this book. After all, never judge a book by it's cover(title). :)
blizpasta
Yeah, I did exactly the same thing and resisted this book for ages because of the title. It really is a much more gentle and honorable book than the title suggests, though.
Charles Roper
Very very good book, I recommend it highly too.
Teifion
+1. I read a translated version of it when I was still at school (7th grade?) and enjoyed it even then. Learned a lot too.
Vilx-
I wrote a blog post about this if you are at all interested: http://www.fitnessconnections.com/blog/post/2008/10/Social-Interaction-Guidelines-for-Programmers%2c-Developers%2c-and-Engineers.aspx
Kyle B.
Much better than reading the book is taking the course. Best money you can spend.
Mike Dunlavey
I've also taken the course and it is great. It forces you to get out of your 'comfort zone' in a very interesting way. It was challenging and I'm very glad I did it.
sjbotha
OMG! That's Jon Skeet on the front!
Skilldrick
Crikey, so it is. Now we know his secret.
Charles Roper
+1 - I've read the book twice. It has been more valuable to me than any individual technical book in my career.
Kyle B.
I read this a while back, despite misgivings. To my ear, the title comes across as "How to Manipulate People". But it's an extraordinary book that is nothing like what I expected. Highly recommended. Come to think of it, it's about time I read it again.
Kyralessa
I have an original copy from the 30's that was my grandfather's - even in its dusty old cover, it's very relevant. I will advise against contacting the Dale Carnegie Institute at all though, even on their website, as they will incessantly spam you with phone calls for years to come.
Sam Schutte
This book isn't bad, but there are better ones. Once you get halfway through, you start to feel like this guy is hacking relationships instead of forging them.
bobobobo
I wish SO would give you one +100 upvote (per user) that you could only use once. This would be mine.
Lucas McCoy
Very good book. I am not too far through it yet, but despite the authors suggestion I am not going to read every chapter twice ... Might read it again in a year or two though :) Am considering buying one of the original copies from eBay :)
Nippysaurus
Yes, this is an excellent book, especially relevant I think to a lot of programmers who tend towards introversion, and expect people to act in a somewhat logical way, yet don't.
tbone
Alright, you convinced (influenced?) me. I am gonna get a copy of it :)
vobject
Hurray! I was totally going to add this if no one put it up here. Spot on!
sheepsimulator
Definitely a must-read.
Ray Burns
@bobobobo: I wish I could give you more than 1 vote for that comment
monksy
Yeah, it's an outstanding book. It's on my read-many-times list.
Christopher Mahan
@steven: I will cast my vote to your vote to up vote @bobobobo comment.
Chad
This is one of the most useful books I have ever read. I have even read it more than once as it is perfect for commute reading.
tmadsen
Well worth it. As Joel said in the Stack Overflow podcast at one point, a decent alternative title would be “How Not to Be a Jerk”.
Paul D. Waite
Got a copy and still re-reading this book sometimes.
monn
@bobobobo: would you please share with us the books you would recommend?
Senseful
On this subject/people? One book I really liked was "Toxic Emotions at Work" - it really hit home for me, anyway.
bobobobo
@bobobobo: Yeah, I was talking about alternatives to this book in particular. Based on your original comment, it seems like you have other books you would recommend instead of this one which deal with the same subject.
Senseful
+8  A: 

Jeffrey K. Liker - The Toyota Way (Amazon link). A good if at times semi-boring read, but loads of information from the company which invented Lean.

Thomas Lundström
And how is getting suppliers to enforce quality control working for them?
Pete Kirkham
+123  A: 

My recommendation would be: read anything that is outside your usual scope.

Really - anything will broaden your horizon. This does not only apply to programmers and developers. I think everyone would do better having an interest in something that you don't already spend 8-12 hours a day.

Personally, I sometimes feel like a real world idiot because my personal library of books on all kind of topics related to computers is growing and growing and I can never relax - I mean, I spend roughly 10 hours a day with them and then I am reading a book on design patterns before I go to bed. How sick is that? ;)

My current refuge is my newspaper subscription, and various other magazines I pick up every so often when I go by a news stand. Most of them have nothing to do with technology and programming. I made a habit going out for a coffee in the morning, taking the newspaper along and reading something else, or meeting friends and just chatting away.

So, just to make it more clear - I know that a newspaper or any magazine is not as current and up to date as a website. But this allows me to not read it on a screen and do something outside the usual.

Till
did you mean "real world" idiot, or "real word" idiot?
Rocket Squirrel
"world", thanks. ;)
Till
This is one of the best recommendations *ever*, and I am terrible at following it.
James Schek
I read Pratchett and Dawkins for similar reasons.
TRiG
*I know that a newspaper or any magazine is not as current and up to date as a website. But this allows me to not read it on a screen and do something outside the usual.*Now you know why your boss prints his emails
Pete Kirkham
Hehe... time has past since I wrote this and I appreciate the votes and comments.I got a dog, October of last year (2009), who is keeping me distracted as well. There's a lot to be done with her, and it's awesome. ;-) She's not a book though!
Till
.. chatting about what, Till?
bobobobo
+215  A: 

Getting Things Done

by David Allen.

alt text

John Nolan
This one changed my life!
Julie
I've been contemplating buying this one but part of me is still sceptical of it for some reason.
Danielb
I totally recommend this one. It won't change your life, but it will help you think about productivity and procrastination as just another problem to be solved, and not as just an inherent flaw that you have to live with. That mindset shift makes all the difference to a lazy dude like me :)
CaptainAwesomePants
Don't be skeptical! I was too at first, but then I read it and I was honestly stunned to find out I had doubled my productivity within days and literally had almost eliminated all stress. I finally feel in control of my life, and I know this sounds like some sales pitch, but its true.
James Simpson
Everyone ABSOLUTELY should get this one! My daily experience in at work and in my free time has changed dramatically.I can do WAY more in WAY less time after reading this book and following the very simple steps as described there.Even people around you see the difference in your working style.This book++! ;-)
Shaharyar
+1 just applying the "do immediately what you can do in 2 minutes" will clear your life up considerably.
pageman
+1 An absolute must. Reading this book helped me very much, more than any programming book I have ever read, because it is something they didn't teach me at school.
Dimitri C.
I keep meaning to go out and get this book.
Kaz Dragon
An amazing book that can be summarized by a simple, one page flow diagram. The rest of the book elaborates on the fine points of the diagram, but you can print that one page, stick it on the wall, and it will *change your life*.
Peter Rowell
@Peter Rowell: for the lazy ones among us, can you link to anywhere that has this "one page diagram"?
Neil N
@Neil N http://www.ibiblio.org/purvis/GTD-flowchart.png
John Nolan
@Neil N: Sure. I looked at several (none of them quite identical to the one in my older copy of the book) and this is the one I thought looked/worked best: http://freshpathconsulting.files.wordpress.com/2009/11/gtd.jpg. The key to GTD is the 3 D's: Do it, Defer it, or Delegate it. Oh, and never touch an item more than once -- if you find yourself doing that then you didn't do one of the 3 D's correctly.
Peter Rowell
+12  A: 
Rich Lawrence
It's short, I'll give you that...
Aardvark
Ugh. Everyone at an old job of mine was given this tripe to read (right before a heavy round of downsizing). I used to infuriate my boss when a bug got into production by shrugging and saying, "I guess someone moved your cheese!"
Dana
I didn't actually mind the story - I could picture little kids reading it. It was just the filler around the story that put my teeth on edge. "Jim laughed at his obvious play on words." Ugh.
Kwirk
Yuk (-1) the classic "you're about to be fired/pay cut - just accept it" book. The overall idea of accepting change is fine, but this book is both trite and patronising.
Keith
I worked at a place where this was included in the "welcome" kit. This book is intended to make management feel good about the fact that crap rolls downhill.
joseph.ferris
To be honest, I haven't read the book; but I watched the video, which seemed to be geared toward five-year-olds. Patronizing in the extreme.
Kyralessa
When I was laid off, the company recommended that we all read it. The only value I could find in it was that, in an organization, it would provide a vocabulary to mock people whose resistance to change was impeding things. It was not at all inspirational for a newly unemployed developer.
David Thornley
In the intro the writer invites you to think of the cheese as anything in your life that you want.When I read the book, I was thinking of using frameworks and coping with them 'cause I never used them, I just hated them.After reading this book I just accepted the fact that though they make your application dependent on them, they make programming easier and you have to go with the flow.I'm sorry you didn't get its point.
Leo Jweda
I can save you the $30: bad managements moves targets constantly to avoid rewarding hard work. Solution: find a better management team, or ignore their changes and do your work anyways.
warren
@David inspired developers with intimate knowledge of an industry who are laid off go on to found competitors.
Pete Kirkham
@Pete: I tried going into business for myself. I'm not at all a good businessman, as I found out. I don't think I got my ideas from that book, though. The classes at the local state employment center were much more inspirational and useful.
David Thornley
+151  A: 

The Visual Display of Quantitative Information

by Edward Tufte

The Visual Display of Quantitative Information

Discusses how to graphically represent different types of complex data

Chris Karcher
All of Tufte's books are very good.
Scottie T
Thanks for a good recommendation
kushin
+1. His short essay on the dangers of powerpoint is excellent too.
Chet
This is practically an art book. His examples alone are a treasure.
harpo
This book is well known about in HCI circles
RichardOD
+6  A: 

Musashi by Eiji Yoshikawa gives some pretty good life lessons. The story is about a young Samurai in the 1600 that is at principle very angry and stubborn, but after commiting many crimes he gets imprisioned for 3 years, while locked away he regret his past and decide to go on a self improving journey to learn the way of the sword in order improve as a person. You can apply it to become a better professional yourself, through his journeys Musashi learned many thing, specially how people behave and how to lead by example.

Hoffmann
I dunno how applicable Musashi's life story is our world, but it is a great book. Of course, Miyamoto Musashi was a real person, and the book is supposed to be (loosely) based on his life, so that makes it more interesting, in my opinion.
Beska
+31  A: 

Here's a strange one for you all to think about.

On The Road by Jack Kerouac.

It's a modern classic that everybody should read, and I'd be very surprised if English or Media Studies students weren't recommended to read it at some time. Reading should not only be informative and educational, but enjoyable as well. If you're not going to read a book for pure fun now and again then you'll only end up frustrated with the books you need to read as a programmer/developer.

This book is a real eye-opener; a book that'll really make you think about your own life, and for a programmer whom spends their day dealing with pure thought-stuff it's a great way to get you thinking on a different track.

EnderMB
If I'm not mistaken, this is the book that inspired Truman Capote's quote, "That's not writing, that's typing." More contrarian goodness here: http://tryingtogrok.mu.nu/archives/270130.html
MrBoJangles
The Dharma Bums is better if you're into Kerouac. As for the Capote quote, he was responding to the accepted (yet erroneous) myth that Kerouac wrote On the Road in one sitting with no editing. In fact, it took him close to a decade to complete: http://en.wikipedia.org/wiki/On_the_Road
TrickyNixon
Ironically, Capote and Kerouac are my 2 favorite writers from that period. Capote's brilliance with prose truly shines in his short fiction. Recommended: "Children on Their Birthdays" and for gods' sake, don't see the movie!
TrickyNixon
I read most of this book on a plane a few years ago but didn't bother finishing it. It still makes me angry to think about it. So boring. I'm half tempted to finish it though - just so that I can say it didn't beat me. I'm told that the last few pages make it worth it, but I can't imagine how.
Kwirk
+4  A: 

Orbiting the Giant Hairball

Orbiting the Giant Hairball: A Corporate Fool's Guide to Surviving with Grace
by Gordon Mackenzie

A short well written book with some great illustrations - explains how most large organisations don't really understand how to deal with creative people, and how such places are usually run so that the creatives/engineers are powerless. Mackenzie recounts his (mostly positive) experiences at Hallmark.

Dipak Patel
+30  A: 
JonnyGold
This is a good book to read after the Mythical Man Month
Joshua
As with Mythical Man-Month, is this really a non-programming book? It seems to be very much about software development.
Jonik
+4  A: 

Dealers of Lightning

by Michael Hiltzik

The story of Xerox PARC.

JonnyGold
+37  A: 

The Art of Deception

Kevin Mitnick explains social engineering attacks

JonnyGold
His second book, the art of intrusion was also good, but not as good as the first one (Deception)
Scott S.
very good choice
BBetances
this is a great book, and easy to pick up and read at any chapter
Audioillity
A: 

The Explosive Child:

If you are a parent this is a must-read book. It will improve your life and how you relate to your family.

If you are not a parent, it will give you an insight into what we go through. Also, it gives great pointers of how to deal with chronically inflexible children or even adults.

JonnyGold
+451  A: 

The Hitchhiker's Guide to the Galaxy

by Douglas Adams

alt text

Life, the universe, and everything

"See first, think later, then test. But always see first. Otherwise you will only see what you were expecting. Most scientists forget that." -- Wonko the Sane

JonnyGold
+1, but add the "'s" to the title, please.
unwind
Voted up to make it 42 ;)
Mark A. Nicolosi
It's gonna be hard for someone to up or downvote this answer
isc_fausto
At least, you'll get all you co-workers' references (-1 so it get's back to 42)
James Curran
This is quite a dilemma, I want to help get it back to 42, but it really does deserve to be upvoted...
ManiacZX
00000000000000000000000000101010
Gordon Bell
+1 since we are obviously waaay past 42 at this point :P
Sakkle
/me agrees wholeheartedly
Kris
As the question says: "Please elaborate on why you think a given book is worth reading from a programmer's perspective."
Ash
I've read all the books in the series and really liked them but I can't think why programmers should read them.
Annan
@Annan, I can't think of why anyone SHOULDN'T read them.
Pim Jager
As a developer and previously as tech support, there's one thing to learn from this book (and the entire series): DON'T PANIC!!!After that, there's also the comfort of reading about problems bigger than you own :P
SirDemon
LOL @Gordon Bell
bedwyr
Yeah, make sure you read the whole series. Mostly Harmless was kind of meh though.
Lucas Jones
The Movies is also good
Binoj Antony
Enjoyable, but over-rated. Most useful for understanding why your colleagues laugh at non sequiturs that involve the number 42.
Keith Smith
@SirDemon Shoot, now I don't need to read them anymore.
Barry Brown
The reason this is important is that when this was written in 1979, we didn't have handheld devices with information on them - we really did just have digital watches, which were considered pretty neat. Without this book, would we have PDAs?
Hooloovoo
@Keith Smith: Edit that into the answer, because that's the reason the book's important.
Nikhil Chelliah
My sentiments are with SirDemon on this one.
Kyle Walsh
HHGTTG is chock full of very sharp observations about human computer interfaces, technology, management, and most of all futility - all the key things in a programmer's working life."I love deadlines. I love the whooshing sound they make as they fly by."
Jason Williams
I want a Babel Fish!
Pascal Thivent
The #1 reason to read HHGTTG is that it helps you appreciate the absurb, especially in situations you have no control over. That is a skill which will serve you well in your programming career.
Kelly French
IMHO, this book has laid some sort of foundation to many of today's technologies, that you should be aware as programmer:The Google service has it's name from a supercomputer called "Googleplex" mentioned in the book.Babelfish, the translator service by Altavista has it's name from an animal mentioned in the book.The Kindle eBook reader quite closely matches the description of the "Guide" in the book.
Marcel
The doors on the Heart of Gold are a perfect example of overdone technology: something intended to be useful is, in practice, highly annoying.
TRiG
I was thinking "Oh no, not Zen and the Art of Motorcycle Maintenance", and here we are with Douglas Adams miles and MILES ahead of Dale Carnegie. Awesome!
spong
voted down to make it 42(0) :)
Oskar Kjellin
+1 I just started rereading the first four books in the trilogy yesterday for probably the fifth time. It's really a brilliantly-written series.
Maulrus
Eh, the first book was good, but as the series went on they became less and less organized. I couldn't even finish the last one.
BlueRaja - Danny Pflughoeft
@Marcel: Five months late on this, but... Google is named after the term "googol", which refers to the number represented (in base 10) by a 1 followed by 100 zeros.
JAB
I also really recommend *Dirk Gently's Holistic Detective Agency* and *The Long Dark Teatime of the Soul*. The former is actually my favorite book by Adams, mostly because I really love Coleridge.
Tikhon Jelvis
+181  A: 

Peopleware: Productive Projects and Teams

by Tom DeMarco and Timothy Lister

alt text

This classic book encourages us to think about the people instead of the process. It's full of practical advice on team building, productivity and office environments. It's a must read, not just for managers, but anyone related to software development.

Get two copies, one for you and one for your manager.

Denis Connolly
this book sucks, and this review is ripped from amazon.
Shawn Simon
The book excellent, but the real audience is your manager and his/her manager.
Richard
It's a great book, but be warned that if you're not in a position to make changes, it may only frustrate you to see the gap between how things ought to be and how they actually are.
Kyralessa
It's a good book but it's borderline that it's non-programming...
Jon Hopkins
@JonHopkins, as opposed to "obviously" programming related Hitchhikers Guide!
Ash
it's about programmers, not at all about programming!
Serge - appTranslator
@Kyralessa But if you never see that gap, then you perhaps never will be in such a position.
Brian Ortiz
@Kyralessa If you are in a company that doesn't value the contents of this book, and you are not in a position to make change, this book may help you find a better job.
DJClayworth
A: 

The Hitchhikers Guide to the Galaxy. Best book I ever read.

wvdschel
Duplicate. Look near the top of the list. ;)
Andrei Krotkov
My answer was about 2 months earlier though, so technicaly, the other is the duplicate ;)
wvdschel
Duplicate. Please remove and vote on the previous entry.
JuanZe
@JuanZe sorry, my time machine is currently broken.
Pete Kirkham
+33  A: 

Pragmatic Thinking and Learning: Refactor Your Wetware

by Andy Hunt

It covers what's going on in your head while programming and learning, and states that this process is more important than what goes on in your IDE. Andy Hunt is also the writer of "The Pragmatic Programmer"

khebbie
Dave Thomas is the other author of "Pragmatic Progammer" (among other).
philippe
Great book. I've been recommending it to all my friends.
Gopherkhan
Jonik
+5  A: 

Facts and Fallacies of Software Engineering

by Robert L. Glass

dimitris mistriotis
See Jeff Atwood's post about this: http://www.codinghorror.com/blog/archives/001083.html. Hmm, is this really a non-programming book, by the way?
Jonik
It is a non-programming with the concept that it does not have any programming methodologies or techniques, etc.But it is software related of course.
dimitris mistriotis
+9  A: 

Brain Rules

by John Medina

This book explores, in a surprisingly concise and entertaining manner, how our brains work and how to make them work better. Medina is a master of practicing what he preaches and has produced a work that everyone can enjoy, particularly programmers and geeks. What makes this book particularly interesting is the holistic approach to delivery of the content. There is a fascinating website to compliment the book as well as an included film on DVD. There is also an audio book narrated by the author and a blog.

This is definitely a book I think all programmers - actually, everyone - should read. I reckon it could be the catalyst for some cool exercising while you work innovations.

Charles Roper
Great book. I also mentioned it in another question: http://stackoverflow.com/questions/90268/sleeping-problems-computer-addiction#92738
Scottie T
Loved this book.
Barry Brown
+4  A: 

Tolstoy's War and Peace. It's an immense (and immensely awesome) classic work of literature. Reading it and re-reading it, analyzing it time and again--all this will help you start thinking in terms of understanding instead of knowing, something we could all benefit from as developers.

EDIT

I recommend the Anne Dunigan (sp.?) translation especially.

Brian Warshaw
rtperson
+264  A: 

Another one from a different angle from prior posts: Gödel, Escher, Bach: an Eternal Golden Braid, by Douglas Hofstadter.

alt text

Will M
Excellent book. I own it and several others by him.
Blorgbeard
Once I read it too, its informative in a number of ways, and enlightens us. Would definitely recommend it. But I took a long time to read it though.
This book really does teach you to think in new ways.
Christian Oudard
Just reading through it now, it's, erm, interesting +1
PintSizedCat
Steve Yegge gives it a rather effusive shout-out in his latest tome, [The Universal Design Pattern]()http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html
Don Wakefield
Unequivocally the best book I have ever read. It inspired me to go back to school and study computer science formally (It also made me want to study more Biology, Philosophy, Music and Art, yet there are only so many hours in the day)
Tristan Havelick
I read this at university. Very thought provoking.
Kezzer
I picked this up after reading Yegge's praises, but after reading the introduction, I was a little disappointed. The intro almost makes it sound like a belief system will be laid out in the book. Is that true?
Andrew Hampton
I found this book challenging in the best possible way!
Joachim Sauer
This is by far the book I have most intended to read :)
j_random_hacker
I have this book, but am reading it VERY slowly.
SirDemon
His other book, I Am a Strange Loop, is most excellent
CaptainAwesomePants
I'm half way through it and must say it is overrated. The author tends to repeat concepts too often it gets annoying. Some times I just want to yell at the author "RECURSION I GET IT"
heeen
This isn't a non-programming book. It's one of the most important programming books there are.
Frank Crook
I agree that this book is kind of overrated, especially if a lot of its concepts are already familiar to you. Maybe if you read it during the first year of college you would gain more from it than 6 years later. That said, the word play and dialogues are good fun.
cbp
Yeah I agree with some of the others who found it overrated. Having just completed a Computer Science and Philosophy degree I didn't find that many new ideas in it. Was interesting at times but just way too slow.
David Terei
I am halfway through this book now and its incredible. The way the structure and language of the book reinforce the very concepts he is teaching is so refreshing.
Matthew Manela
Remember the part where he says you can't surprise someone reading a book with the ending since by its nature you can tell when you are reaching the end of the book. He then proposes that you could do it if you had the ending occur any where you wanted and then fill the next couple hundred pages with gibberish. I always wonder if he used this technique in this book and where does the gibberish actually start....
jmucchiello
I enjoyed this book very much in 1979. At the time I was very involved in the AI community and shared in the general attitude that creating a real "thinking" AI was just around the corner and only needed more CPU and RAM. Thirty years later and after seeing the progress AI has made so far, it is amusing to think that we ever thought it would be possible to duplicate God's most amazing creation, the human brain. I still do enjoy the way multiple concepts are woven through Godel Escher Bach, and I still re-read it every few years just for old-times' sake.
Ray Burns
+5  A: 

One Flew Over the Cuckoo's Nest by Ken Kesey

Totally unrelated to software development, but highly entertaining. Teaches a lot about human behaviour and interaction. Might help you out if your manager's a Nurse Ratched...

The movie was good too.

alt text

Jonathan
They made a movie of this?!
TrickyNixon
Nurse Ratchet is perhaps the most evil female villain of all time.
Matias Nino
This makes me vomit at the sort of absurd nihilism it glorifies.
bias
+119  A: 

Snow Crash By Neal Stephenson

alt text

paan
I read that recently, on someone's recommendation. I was disappointed - it seemed rather dated.
Ian Dickinson
It's quite cyber-punk, but it has some good insights. Sneakily brings religious debate into the story without you realising it. I'd recommend "The Cryptonomicon" as a better example of Neal Stephenon's work though, especially for programmers.
RJFalconer
I would agree with both these comments. Snow Crash does seem a little dated now, but was really quite a long way ahead of its time - this was before Google Earth and before Second Life. Cryptonomicon is hands down a better book imho, and will date less quickly. Diamond Age is not aging yet.
jamesh
This book actually was the inspiration for Google Earth.
christian studer
Christian, this book was actually the inspiration for Second Life as well.
Domchi
This book was the inspiration for this answer.
Robert S.
The religion/philosophy of the second half is interesting, but the first half seemed too much like a rehash of Neuromancer. I think if you've already read Gibson's book (of 8 years prior), it won't seem nearly as impressive - but like Monty Python, you need to read it just for the geek in-jokes. :-)
Ken
I read it and was very disappointed. It makes me wonder about some other books on this list since this is rated so highly.
Joe Philllips
I actually enjoy this book again and again. Not only because of those plenty moments where you recognise some of the recently hyped applications but for the style of writing as well. Obviously not all technological ideas are Stephenson's inventions, but he goes beyond known concepts, both in maturity of description as well as in technical detail. His scenery is inspirational and realistic enough to serve as example. No wonder we nowadays recognise "earth" or "second life" as being inspired by this book. And then there are the characters which one can both wonder about and identify with.
Don Johe
I enjoyed it until it ended abruptly. It felt like the last chapter was missing.
Marty
I really liked this one, but I couldn't force myself to finish Cryptonomicon. I guess it's hit and miss with Stephenson -- you're not guaranteed to like ALL his works just because you like one of them. It's good fun if you're into retro-scifi, though. Especially the 80s / early 90s VR stuff.
Alan
@jamesh: I don't think *Cryptonomicon* is hands-down a better book than *Snow Crash*. *Cryptonomicon* is certainly interesting and well-written, but the ideas -- particularly on linguistics, cogsci, and the philosophy of the mind -- that are expressed in *Snow Crash* are very interesting and have a lot of depth. I think programmers tend to focus on the tech stuff and miss what Stephenson is *really* saying in *Snow Crash*. (Plus I think *Snow Crash* is more *fun*, but that's just my taste.)
mipadi
Best first chapter ever. Completely lacks an ending, though.
Dean J
+2  A: 

I used to read a lot of non-technical books ... what everyone would refer to as the classics, Who Moved My Cheese, Getting Things Done, One Minute Manager and so on.

One day I finally realized that all these books were trying to do was prevent me from making mistakes ... which is exactly the opposite of how me, and most people learn. Smart people make mistakes, and fail, quite frequently, but what makes them different is that they learn from their mistakes. How could I learn when the books I was reading were preventing my from some good life lessons?

So from that point on I stopped reading non-technical books ... save for the ones that related to technical management .. which there aren't many. Instead I started reading biographies on business owners, like Bill Gates, Steve Jobs, Steve Ballmer, Larry Ellison and so on. I learned more from these brillant, crazy, egocentric, often times failures that I learned from any of the business books I previously read!

That is where I would start ... read books from people who are successes and failures in the vertical industries you are interested in ... instead of some author who is speaking from second-hand experience.

With that aside, if I had to recommend some non-technical books, I would have to say these are a couple of my classics:

  • Acres of Diamonds by Russell H. Conwell
  • Obvious Adams: The Story of a Successful Businessman by Robert R. Updegraff
  • The Art of War by Sun Tzu
  • The Book of Five Rings by Miyamoto Musashi
  • Machiavelli's The Prince by Niccolo Machiavelli
  • Bible, King James Version

Just my thoughts!

mattruma
Why on earth would you recommend the KJV? If nothing else, other editions have better footnotes.
Marcin
The OP asked for one book per reply so each could be voted on separately.
RobH
+1 for "The Book of Five Rings"
MAK
+9  A: 

A little off the wall here but I would say "Pillars of the Earth" - Ken Follet.

Apart from being a gripping epic, the parallels you can draw between developing software and running a project, and the craftsmen and "managers" building a Cathedral (and the entire town) are very interesting.

(Also voted for "7 habits of highly effective people" - a classic.)

Stuart Helwig
+13  A: 

Joel Spolsky's list is quite good http://www.joelonsoftware.com/articles/FogCreekMBACurriculum.html. My favourites are Peopleware & Mythical Man Month

nkav
This is mostly programming related though...
jilles de wit
+ this should be 1 title per post.
JDelage
+2  A: 

I easily think Cryptonomicon is a book everyone with a technical interest should read. It gives an intriguing look into the history of technology, cryptography and post-world-war tech development. As well as beeing filled with fantastic characters!

ique
There's a Cryptonomicon answer way higher-up (http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/157339#157339) - please vote that up instead. Perhaps move the commentary there too. (Yes, this one was posted earlier; it doesn't matter.)
Jonik
-1 duplicate entry ... excellent book
bias
-1 duplicate entry - I agree, very good book.
JDelage
+5  A: 
Boolean
This was interesting: http://www.amazon.com/review/R3NPV1PRJMN9BH/ref=cm_cr_pr_viewpnt#R3NPV1PRJMN9BH (most helpful critical review on Amazon)
Jonik
But I like eating alone.
PeterAllenWebb
If I never ate alone, I'd never get any reading done!
TRiG
+3  A: 

Player Piano by Kurt Vonnegut

gio
An excellent story IMHO!
RobH
Please elaborate on why you think a given book is worth reading from a programmer's perspective
JuanZe
+300  A: 

Nineteen Eighty Four

by George Orwell

1984

Robert Smith
+1 because you have no idea how many movies, books, games and tv shows this has influenced until you have read it!
Liam
I suppose I should get to reading this sometime.
Kris
+1 - This should be required reading for anyone writing internet apps that store user data.
Dan
A classic that everyone should read at least once.
RobH
This is one of those books that I thought, "sigh...I really guess I should read this at some point...guess I will...". When I finally got around to it, I was amazed. It's absolutely fantastic. It left a very deep impression. Not a difficult read, either.
Beska
It should be required reading? Hmm, somehow I guess you missed its point. ;)
ApplePieIsGood
1984 is great reading for programmers, and so is: http://www.amazon.com/George-Orwell-1943-1945-Collected-Journalism/dp/1567921353A particular essay (Politics and the English Language) emphasizes the importance of precision and concision in language, which a programmer will appreciate.
Troy Nichols
Orwell's ANIMAL FARM is good too.
PTBNL
@Troy Nichols: It's a good essay, but not necessarily "worth reading from a programmer's perspective".
Nikhil Chelliah
This is something *everyone*, not just programmers should read. The number 1 misconception about this book is that it's about socialism. It's actually about totalitarianism (Orwell himself was a socialist to the day he died).
Imagist
Classic, and an excellent book.
Tuoski
Problem is, IMO 1984 is excruciatingly boring, one of the few books I gave up on before finishing.
Nils Weinander
*1984* is *boring*‽
mipadi
This was required reading in my HS.
Alex L
1984 is doubleplusgood
Earlz
or you could read "We" by Zamyatin which has influenced Orwell to write 1984.http://en.wikipedia.org/wiki/We_%28novel%29
gnomixa
@Imagist: socialism and totalitarianism are essentially the same thing. Socialism in practice becomes totalitarian. People really get worked up when they are told this but it's truth. Socialism needs to be avoided at all costs.
gnomixa
+20  A: 

The Dilbert Principle

Wow, You took my recommendation. :-P
marcospereira
+192  A: 
MrBoJangles
I see someone has read it. I wish I could pass my copy to any one of you. In lieu of that, check to see if any co-workers have it, or check your local library, or failing that, buy it. It's fun to read!
MrBoJangles
Not only for web usability, developers should read this book for general usability.
spinodal
Thanks for linking and for the image!
MrBoJangles
Really good one!
SeasonedCoder
This is hardly a non-programming book. web design is part of web development which is a programming thing.
hasen j
+3  A: 

I like the collection offered by PersonalMBA.com - I've made it about halfway through the list. They're books all about how business works, and I think that's an invaluable lesson for programmers to learn. Too often, people in IT can't see beyond the scope of the technology into how it can actually be used to grow the bottom line. Of note, the list includes most of the books already listed in the other answers to this question.

The books I've read from that list haven't made me a better programmer per se (aside from "Mythical Man Month" and a few others), but they have improved the quality of my work as far as the business is concerned. Now that I understand what really drives our company and can put my projects in the context of what other departments are trying to accomplish, I find that people are happier with my software since it helps them do their job, instead of just conforming to their spec.

rwmnau
+4  A: 

Lessons Learned in Software Testing by Kaner, Bach, and Pettigrew. Brilliant book, easy to read.

MrBoJangles
Ah, thanks for linking. I should have done that.
MrBoJangles
Please elaborate on why you think a given book is worth reading from a programmer's perspective. Also this books belongs to "programming related"
JuanZe
+231  A: 

The Design of Everyday Things by Donald A. Norman.

alt text

Paul Reiners
Even more amazing book. :-)
marcospereira
A superb book; should be read by every designer and programmer.
Charles Roper
I've been picking at this over the last month or so. Really makes you look at everything in a different (mostly angrier) light :)
jammus
Great book, makes you think appreciate good design even more.
Danielb
He talks too much about doors.
Chad
@Chad The most important thing I took away from the book was "make your user interface understandable and intuitive" and door design is a very simple, universal illustration of the importance of that principle.
abeger
+170  A: 

Zen and the Art of Motorcycle Maintenance

by Robert M. Pirsig

alt text

This book is many things, but you could say it's sort of a philosophical take on what it means to "grok" something.


Commentry from Garth Gilmore:

I credit this book with teaching me more about software development than any programming book I ever read.

The central thread in the book is how our romantic (artistic) and classical (technical/rational) perceptions of the world are both derived from how we perceive quality in the environment around us. This understanding is then applied to apparently mundane tasks like motorcycle maintenance.

To give some examples of how this applies to coding:

  • The section on how to approach the motorcycle with a 'quality mindset' that leads to progress is just as applicable to reaching 'the zone' in programming.
  • The section on 'gumption traps' that prevent progress and lead to you damaging the machine is priceless. The solutions that are presented work just as well when trying to modify legacy code without introducing bugs.
  • The section on how a purely classical description of an engine part is useless (because it lacks any place for the user to stand) should be read by anyone involved in requirements analysis.

Long story short its a good read :-)

Michael Angstadt
I would have to argue against this one. One of the more overrated books I have had the misfortune to take up. Pop-philosophical banalities.
Revah
I would have to argue against your argument - I found it interesting and informative. Also, if you have a spare year or 2 - Walden, mentioned in Zen is along the same lines.
CAD bloke
Blah, I'm with Revah. This and tuesdays with morrie.
annakata
This book taught me how to bridge some artistic/technical, logical/emotional gaps. I am glad I read this book.
jskulski
@Revah and @annakata: care to give examples?
kdgregory
This is one of the best books I have read. It taught me why I should care and strive for Quality in my work.
Epitaph
Hey, Gang, relax. It doesn't have to be Shakespeare.
Mike Dunlavey
AMEN AMEN AMEN! This book is DEEP and EXCELLENT. It puts words on what is actually going on when we write software (and when humans make art, or music, or teach grammar, or write novels). Not following the principles in this book leads to "Dilbert-ness".
Charlie Flowers
MarkJ
Perhaps overrated in some sweeping philosophical sense. That said, it literally changed my life when I got to the part in the book that explored engineering systems and specifically those "aha, insight!" moments that occur as a flash in the mind; the nature of those moments and how they work. An invaluable examination.
Aaron F.
+1 Brilliant book
Mike Knowles
This book is an awful attempt at philosophy. It also reveals the author's incessant ego and selfishness (look at how he treats his own kid). Needless to say, I really hated this one.
temp2290
In 1975 I had a nervous breakdown while reading page 119 of this book. It took me a year to recover and then I ended up in Scientology for the next 4 years. I don't know if that counts as a recommendation or not. :-)
Peter Rowell
A: 

Cryptonomican, unquestionably. A little warped, but really hilarious.

xpda
Rolled back change, someone below has also suggested this (excellent) title, but this is what comments are for.
Keith
Sorry, I only edited it becasue I thought the other answer suggesting this book was better and thus this one was surplus to requirements. My bad, apologies.
Charles Roper
+41  A: 
SonnyNoBucks
Her writing style can be hard to digest, but her work will enlighten your sense of self-worth and value in this world. Inspirational stuff!
Dan
just play bioshock instead...
Aardvark
greatest.book.ever.Changed my life (the way I looked at the world, and my personal philosophy to work and life)
pearcewg
One of the greatest books ever. Read without any preconcieved notions and you will come out as a better person. Assured
Varun Mahajan
+1 from me. I'd give it +100 if I could.
BoltBait
I second pearcewg (and BoltBait)
marc
please don't take this book too seriously (you'll inevitably be embarrassed). -- not to say it's a bad book.
Horace Loeb
it's a bad book. Seriously, Rand?
Genericrich
Worst. Book. Ever. Beloved by obnoxious blowhards everywhere. Check out a review. http://www.nationalreview.com/flashback/flashback200501050715.asp
rtperson
It's got to have some value, but all the college sophomores I knew who read it turned (for a while at least) into smirking Young Republicans fond of saying "Ergo".
Mike Dunlavey
Rand? this self absorbed nihilist philosophy doesn't work for me. When you read her books, you think that the main problem that the characters are having is taking themselves too f..ing seriously, and thinking that they are gods gift to society. They should all get over themselves.
gnomixa
-1 because: a.) Rand's writing style is horrific b.) the philosophy is one of the worst I have ever heard
temp2290
Rand is facinating, though I found "Atlas" too be overdone. I was more fond of The Fountainhead. (Bioshock touches faintly on Randian themes, but you can "just play it instead of reading the book" is like saying you've seen Star Wars because you overheard someone talking in a robotic voice once.)
Beska
obligatory link: http://www.angryflower.com/atlass.gif
simon
I like the Rush version better.
Troy Nichols
Who is john galt?
Binoj Antony
There's a great message for programmers in this book which is to build the world/code you want and let the rest go to hell. This book more than anything else helped me let go of the bull..it and just do a good job with the work I was given.
Fire Crow
While I agree that Atlas Shrugged is a landmark book that should certainly be read by programmers, please be sure to read its counterpart/antidote, "The Illuminatus Trilogy." Digesting Atlas Shrugged alone can lead to all sorts of silliness.
Terry Donaghe
Francis does not agree. http://www.youtube.com/watch?v=kc9f-VVQK3k (@17s)
Richard Szalay
I agree. The book is great.
Kuroki Kaze
OMG PLEASE NO NO NO
PeterAllenWebb
Atlas Shrugged is intended to sell Rand's ideas of objectivism. The central tenet of objectivism is that it's not only okay, but it's *good* to be a selfish asshole. Please don't waste your time reading this propaganda.
Imagist
Keep in mind that Rand was a philosopher first, and a novelist second.
harpo
Keep in mind that Rand was an idiot first, and a brat second.
Chris Lutz
I genuinely enjoyed The Fountainhead the first time I read it, couldn't really stomach Atlas Shrugged, but its literary value is lousy. Protagonist characters are perfect, flawless, beautiful, and enthusiastically cruel to one another; antagonist characters become fat, unattractive, dependent (and whiny) blowhards. Most people grow out of Ayn Rand by the time they're 22 when they realize that "man is inherently selfish, and therefore ought to be selfish" is just bad philosophy. Robert Nozick, John Rawls, and (maybe) Jan Narveson articulate a much more coherent philosophy of Rational Egoism.
Juliet
While I do not totally agree with Rand's philosophy, I do believe this was the best book I've ever read to date. It really takes a couple of reads and a year or so to think about everything stated in this book to find what you can take from it. Read it if only because a book with such polarized comments deserves to be read.
Brian
Easily the most controversial book on this list, with currently 76 upvotes and 45 downvotes. :) Like Mike Dunlavey said, it's got to have *some* value...
Jonik
I intend to read this, on the basis that it'll be good for me to now and again read an author tract I with which strenuously disagree. http://tvtropes.org/pmwiki/pmwiki.php/Main/AuthorTract
TRiG
The fundamental tenet of free markets is that agents are self interested viz. she's just reaffirming capitalism. Moreover, she was a political refuge from communist Russia - so it's a polemic against the (then) significant communist movements in the US by someone who just escaped it's devastation. Are you also angry about the brash simplifications Charles Dickens gives Capitalism (i.e. all bankers are selfish bastards)? Finally, it's just a novel, written by a human, why is every one so angry about it? Get over yourselves.
bias
+8  A: 

After Dark

by Haruki Murakami

But the why is really more interesting than the what. I look at the suggestions above and they are very instrumental (if not blatantly horrific like the gentleman who recently suggested Atlas Shrugged, a tome of utterly abhorrent writing if there ever was one). The Mythical Man Month is indeed an interesting work but it's not that far removed from our daily business. And I am quite convinced that the imagination needs to be fed as well. Murakami is interesting in that he takes very recognizable situations and twists them around, turns them on their head and spits them back out. And sometimes that is just what we need. There's nothing wrong with winning friends and influencing people. But seriously. Is that the one book you should read when not pouring over some dry text about the benefit of some crap or the other. No. Remember what the door mouse said.

This is probably a good introduction to Murakami, too. Prep work for his weirder stuff :P
Dana
Not my fave Murakami, but okay. Reading Hard Boiled Wonderland and The End of the World at the moment. Possibly even better than Wind Up Bird.
Gopherkhan
I'd suggest that the best intro to Murakami is The Wild Sheep Chase
akf
As a Murakami fan I was really disappointed with this book. Slightly boring and pretentious in my opinion. I would suggest checking out the others mentioned in here though, and I'd add "Kafka on the Shore" to the list.
UpTheCreek
+20  A: 
Theine
I'm reading this book and I just can say that it is astonishing. The ideas keep so actual that scares me about why a huge amount of managers keep doing wrong things (considering its ages).
marcospereira
It is amazing how relevant this book is today.
Alex B
wasn't the question about non-programming books? I can hardly believe it with that title xD
fortran
+24  A: 
Robert Gould
Some elaboration about it: http://stackoverflow.com/questions/466560/can-anybody-give-me-an-example-of-overused-design-patterns/466702#466702. Could someone add the author's name and perhaps the cover, by the way?
Jonik
Is there a question titled "Non-programming books I keep hearing about, but still haven't got around to reading" ? ;-)
Chris W. Rea
This book is very readable in "bits", since it simply is a long list of patterns you can apply. And the patterns are from the macro scale, to the micro. Right up from what size countries (or regions) ought to be, down to what you should hang on your walls.The lessons you can gain from reading this book, are endless. The patterns are meant for how to build homes, but can easily be applied to anything else we humans surround ourselves with. A truly remarkable work.
Svend
+8  A: 

The Goal: A Process of Ongoing Improvement

by Eliyahu M. Goldratt and Jeff Cox

To elaborate: It is a book on how to approach problems. To identify bottlenecks in your system and work on them. So in short, it isn't a programming book, but shows (in novel format) how to problem solve -- and is thus very valuable to a programmer.

[Update Gishu] It's an eyeopener on how the throughput of your entire system depends on the bottlenecks. Optimizing other stages/operations will not produce any results. Although this is ingrained in developers who have had experience optimizing a scenario in their app; however zooming out to a more higher level and applying this can have profound gains. Beck's XP Book has a dedicated chapter on the Theory Of Constraints. Programmers who move onto Leads/PMs will find this a valuable addition to their toolkit.

torial
Please elaborate on why you think a given book is worth reading from a programmer's perspective
JuanZe
+62  A: 

The 7 Habits of Highly Effective People

by Stephen Covey

You are missing out on a lot of your potential if you have not read this book.

Originally taken from @John Channing's post

Edit: Now available as a free audiobook.

Comments by Julie:
This book has universal value - not just for software developers. Whereas Getting Things Done helps you manage day-to-day activites, 7 Habits helps you keep a high-level vision of life and a general methodology that you need to turn into specifics. It's the perfect complement to Getting Things Done in that regard.

Charles Roper
One key idea I took away from "Seven Habits" is distinguishing between what is important, and what is simply urgent (but not important.) Good read.
Chris W. Rea
Can't stand this kind of book
razenha
As well as the distinction between "important" and "urgent", I like the distinction between "production" and "production capability". A manager should focus on the latter. I wish more software managers did.
Andrew Shepherd
"Self Help" books are a dime a dozen and normally of questionable quality. This book however is really amazing. It is simply about being a mature person. I truly think you need to be at a certain place in your life to get the most out of this book.
Nemi
A friend once commented that the first habit of highly effective people is not wasting time reading books like this. Good ideas but padded to the point of absolute tedium to make it a full book size. Would have been so much better had it been 100 pages long.
Jon Hopkins
The first time I read this book (for a business class) I hated it. After a few months in the industry, a friend persuaded me to give it another chance. I read it again and with some experience behind me this book was a revelation.
Imagist
Read the index and you're set.
Iuvat
You can save some time and money by reading the Wikipedia page for it.
Dana Robinson
@Jon Hopkins “Good ideas but padded to the point of absolute tedium to make it a full book size.” If the internet has taught us anything, it's how to skim-read. Some folks like books that tell you something once, in one way, and leave you to figure it out. Butmit cannbe useful to hear the same thing repeatedly, in different ways, in order to learn it better.
Paul D. Waite
+108  A: 

Lewis Carroll "Alice's Adventures in Wonderland"

Yacoder
Don't forget the sequel "Through the Looking Glass"!
TobiX
Huge Alice fan but I didn't really like the sequel.
Benjamin Confino
Programming on Shrooms!
Mostlyharmless
I love Alice it relaxes me - my #1 favorite :)
Kombucha
Add "Through the Looking Glass" for an insightful discourse on naming thing (the White Knight's song). If you get that, you should get pointers.
David Thornley
Great books all!
Hcabnettek
"The best book on programming for the layman is 'Alice in Wonderland'; but that's because it's the best book on anything for the layman."Alan Perlis
Jeremy Friesner
This book taught me about pointers. Alice is talking to the Knight, who says something to the effect of, "There's the thing, the name of the thing, and what the name is called".
Ira Baxter
+1  A: 
Charles Roper
Damn, I duplicated it... I didn't realize there were five pages of answers.
Daniel
@Daniel, I added comments from your duplicate answer here.
Jonik
+2  A: 

Timothy Ferris - The 4 Hour Work Week

The book you need if you are working hard saving for a retirement that may never come.

Originally taken from @John Channing's post

Charles Roper
This book sucked. Basically he tells you to outsource your life.
Martin
@Martin outsource drudgery and do meaningful stuff with that time . Unless you prefer doing taxes than winning salsa dancing competition .
Surya
duplicate entry
U62
+2  A: 

Daniel Gilbert - Stumbling Upon Happiness

The long version of Dan Gilbert's Ted Talk

Originally taken from @John Channing's post

Charles Roper
+13  A: 

Nassim Taleb - The Black Swan and Fooled By Randomness.

Explains the role of randomness in our lives and how humans tend to see patterns that don't really exist.

Originally taken from @John Channing's post.

Charles Roper
Yes, and while you're at it you can knock out Freakonomics and The Tipping Point for a trendy-yet-empty-book trifecta.
PeterAllenWebb
This is a great book. It challenges you to think about things independently and not pay attention to all the ridiculous noise on tv and in print.
Mike Knowles
The Black Swan presents a very important, simple, and counter-intuitive idea, in a format which is way too long.
JDelage
PeterAllenWebb could not be more wrong. The Black Swan is an excellent book - just the first chapter "Umberto Eco's Anti-library" contains enough insight to make the book worth reading cover to cover. Interestingly, although the book mostly concerns the folly of attempting to predict the unpredictable, I was reading the chapter where the author mentions in passing the certain doom faced by Fannie Mae and Freddie Mac on the day that the US Government stepped in and essentially nationalised them. Unlike the authors of other books, Taleb is a former trader that has walked the walk.
U62
No - this book is all wrong. For example, Taleb says that the microcomputer explosion was totally unpredicted - what!? literally, dozens of of high profile people predicted the microcomputer explosion (they even predicted laptops) and the creation of the internet as early as the 20's. Check out Vannevar Ford. Check out Douglas Engelbart. Read _almost any_ scifi book ...
bias
A: 

Michael Neil - You Can Have What You Want

Densely packed with insights into how to be successful and happy.

Originally taken from @John Channing's post

Charles Roper
A: 

Dan Lyons - Options: The Secret Life Of Steve Jobs

Fake Steve Jobs in print.

Originally taken from @John Channing's post

Charles Roper
+297  A: 

Surely You're Joking, Mr. Feynman!

alt text

This book will inspire anyone to think and be original.

Trevor Redfern
An absolutely amazing book. The joys of thinking and being different. He doesn't just praise it, he lives (lived) it and loved it. It's so much fun. (Plus, he was ridiculously brilliant, so it's a facinating look at some deep stuff mixed in.)
Beska
I'd vote for this one 2x if I could. Great!
Travis Leleu
The biggest lesson I learned from Feynman is that it's fun being smart. Own it!
Imagist
This is a GREAT book!!
cgreeno
Fun book and amazing man. The pleasure of finding things out is also good.
JDelage
Fun book fun man! I do really need to read it again, I haven't read it for a while.
CodeJoust
Cannot praise this book highly enough. One of my all time favs. Read It!
Pete Duncanson
Feynman's Lectures on Physics is one of the best books I've ever read on physics, and it kind of communicates what's in the book above.
Reed Richards
Also great as audiobook on Audible.
James Dean
Great book, I still remember the judge books by their cover anecdote.
Quandary
I bought this book for about 25c at Habitat for Humanity ReStore. One of my best purchases there - that man is not only a genius but hilarious as well.
Wayne Werner
This man is my intellectual hero
BlueRaja - Danny Pflughoeft
Bought this as a Christmas present for myself a couple of years ago. Needless to say, this was the best present I got that year... Truly inspiring and entertaining at the same time.
Zsolt Török
+8  A: 

Dale Carnegie - How to Stop Worrying and Start Living.

If you have read How to Win Friends, this should be next.

Originally taken from @John Channing's post.

Charles Roper
My grandma recommended this book to me once, I haven't read it yet :P
Leo Jweda
A: 

Sensation & Perception by E. Bruce Goldstein will really pull a lot of software engineers out of their comfort zones. I found it to be fascinating when I started thinking about effective scientific visualization techniques with the user's physiology and psychology in mind. Issues with the user's potential for color blindness, visual acuity, attention span and information processing abilities are just some of the reasons why I keep going back to this book.

Bob Cross
+25  A: 

The Tipping Point is one of the best books that I have ever read.

Charles Graham
You should read more books.
PeterAllenWebb
And sorry. That was a bit cheap.
PeterAllenWebb
No it wasn't.. it was honest.
monksy
@PeteAllenWebb Say why.
Ollie Saunders
I’ve read a lot of criticism saying that the book indulges in a lot of pseudo-science and unfounded assertions. Some good intuitions, but not backed by facts. Basically, a lot of voodoo not unlike “The Secret”. Can anyone who has read the book comment?
Konrad Rudolph
The danger of this book is that while you read it his arguments sound so rational and correct. I got sucked in. It's only when you start really thinking about what he says that you see the gigantic holes. This is the danger of books that are written by gifted writers and not-so-gifted scientists.
reccles
I've heard criticisms of Gladwell like that, but those guys just sound like haters. Does anyone have a *specific* example of one of his arguments that is completely wrong?
Charles Graham
I personally just do not like his writing style. He tends to repeat himself and I personally just do not like his writing style. It's repetitive. It is also redundant. And I do not like his writing style.
Joe Philllips
@Charles Graham I've never heard anyone argue that he was completely wrong, just grossly over-simplified.
Pete Kirkham
+25  A: 

The Timeless Way of Building by Christopher Alexander. This architecture book inspired the software design patterns movement.

Every individual act of building is a process in which space gets differentiated. It is not a process of addition, in which pre-formed parts are combined to create a whole: but a process of unfolding, like the evolution of an embryo, in which the whole predcedes in parts, and actually gives birth to them, by splitting.

Start by rembering the fundamental truth about the parts of any system which is alive.

Each part is slightly different, according to its position in the whole. Each brance of a tree has a slightly different shape, according to its position in the tree. Each leaf on the branch is given its detailed form by its position on the branch.

The patterns in a language have a certain order, so you have to understand which features are dominant, and which are secondary, and so the sequence of the patterns will become clear. It is not a sequence of putting parts together, but a whole, which expands, crinkles, differentiates itself. When the order of the patterns in the language is correct, the differentiating process allows the design to unfold as smootly as an opening flower.

Tegan Mulholland
+97  A: 
apathetic
Much better book than some of the ones voted higher in this list.
amischiefr
I read this when I was about 12. I understood only the conjunctions, but it was still quite interesting for me :)
Roman Plášil
it's actually quite easy to understand, even if you only know a little physics. hawking really dumbed it down for us. no equations at all, as i remember.
Kip
+6  A: 

Crossing the Chasm

by Geoffrey A Moore

If you ever think you will be working for a high-tech company, you should at least skim this book. It describes the lifecycle of a high-tech product (or company) and just knowing the terminology (and implications) from this book help immensely in figuring out if management has a clue or is drinking kool-aid. It's a fun read, too.

Mike Elkins
Seems interesting - added to my to-read list
Jonik
+1  A: 
Vin
You should have added these in separate answers so they could be voted on separately.
RobH
You mean you could have voted for one book but not the other?
Vin
Vin: exactly; if not RobH, then someone else could think so. Assume this had dozens of votes: then we wouldn't know which book deserved them and comparing to other top-voted books would be hard. In short, these kind of polls work better with one answer per post. Also read the original question.
Jonik
(It isn't too late to edit this and put one book in a new answer.)
Jonik
Your answer doesn't comply with the conditions of the question: * Please post only ONE BOOK PER ANSWER. * Please elaborate on why you think a given book is worth reading from a programmer's perspective.
JuanZe
Also Beyond Code is duplicate: http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/104723#104723
JuanZe
+1  A: 

I would say that "Beyond Code - Learn to Distinguish Yourself in 9 Simple Steps" is quite a good and motivational book. It describes ways of working with people, being professional, motivating yourself, giving a good impression, ... For me, this is a book you can read again and again if you are in need of some pep talk. Besides that, it is cheap and very easy and enjoyable to read in 3 to 4 hours.

There is a little review over at my blog: http://www.herrodius.com/blog/54

Christophe Herreman
I didn't find it motivating at all - it just seemed like a rehash of ideas which have been already rehashed, in a much better way, in other books.
talonx
+64  A: 

Philip K. Dick: Do Androids Dream of Electric Sheep?

And everything else he wrote, of course:)

His mind-bending stories sure help to think more out of the box.

Florian
Wasn't this book the inspiration for Blade Runner?
gnovice
Fantastic book AND movie for programmers! Also, just about all of PKD's other books (although not necessarily movies e.g. Paycheck...). Obviously Total Recall is a terrific movie though.
Troy Nichols
Yeah, it was the inspiration for Blade Runner (according to the podcast I heard today).
Sam Schutte
Ubik by Dick is also fantastic, and being turned into a movie.
Wahnfrieden
The mood of the book is half-way between blade-runner and fallout. Quite creepy.
Tadeusz A. Kadłubowski
The Electric Sheep screen saver, inspired by this book (and free), is mesmerizing: http://community.electricsheep.org/
CodeToaster
+81  A: 

The Screwtape Letters

by C. S. Lewis

Imagine a demon "programming" a human...

Looks interesting. I will buy this book right now. Thanks!
lacker
Nice. I never thought of it that way.
Chris Noe
Great book. And great way to get programmers thinking about the greater realities.
FarmBoy
I'm reading it now, it is very interesting.
Cj Anderson
+1 Excellent book.
Chet
Note that this is a book related to Christianity.
Wahnfrieden
This is certainly the best of his books about Christianity.
hatfinch
I love this book, I just don't really think it is helpful to "programmers". It isn't written for that purpose. Of course, a lot of the other books in this list aren't either...
A. Levy
This is a fantastic book on human nature, although a controversial recommendation. I think its a good book on thinking about human nature. It assumes you believe in demons. I do, so it works.
sheepsimulator
I good read, and findable used for very cheap.
anonymous coward
In response to the Christianity comment - I was inspired by this book and I'm not religious at all. "He who feels without acting will lose the ability to act and eventually the ability to feel". I don't see that as particularly Christian - that's just a statement about being human.
Andrew Shepherd
An absolute must-read
Ray Burns
I don't think I've ever been more surprised by something on StackOverflow. I would agree that it is about Christianity, but it's also about human nature as mentioned, and a quite brilliant treating of the topic too. I would disagree that it assumes you believe in demons, because I would say the book is not about demons at all, but about people. This is probably my favorite book of all time, but I never in a million years thought it would get a mention on StackOverflow.
Daniel Straight
I tried reading, but I didn't understand anything :(
Algorist
A: 

Pragmatic thinking and learning written by Andy Hunt.

One step further: The Pragmatic Programmer. Buy the PDF version, it is not expensive.

-1; Good book, but already mentioned: http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/39444#39444
Jonik
A: 

This is now an unnecessary entry and Garth's review has been merged into the main entry on Zen and the Art of Motorcycle Maintenance.

Just to provide some more depth on Zen and the Art of Motorcycle Maintenance

[snip]

Garth Gilmour
-1 duplicate entry
bias
+1  A: 

Matt Ruff: Fool on the Hill

I love it!

koschi
A: 

Seven Habits of Highly Effective People by Steven Covey

The Elements of Style by Strunk & White

Andy Lester
One per post. Seven Habits is a duplicate.
DevSolar
Heavens, the rules were violated!Where's my sackcloth?
Andy Lester
Both are duplicated
JuanZe
-1 duplicate entry
bias
By all means, keep downvoting!
Andy Lester
+11  A: 

Juggling for the Complete Klutz

Juggling is mandatory. All programmers must juggle. Sorry, it's a rule.

David Hill
I can already juggle. I learnt one day when I was about 13 by standing in front of my bed and practicing with 3 oranges.
Charles Roper
I can juggle for about 7 minutes straight (1500 throws) The max I ever reached was 3700. That took about 20 minutes. It's an exercise in focus.
Christopher Mahan
+1 I learned to juggle via this book.
David Oneill
+27  A: 

The Soul Of A New Machine

by Tracy Kidder

bmb
Ah yes, going back to the beginning.
MrBoJangles
Gotta love mushroom style management!
kotlinski
I know that. It's Fear Factory! :)
Vili
I actually am not enjoying this book as much as Dreaming in Code.
mgroves
mgroves - I agree. But it was obvious when I was reading it that it was the template for all the tech war story books that followed. So, points for being the first.
ctd
Not only was it the template for the tech war story books that followed, the events it describes were the template for (or at least, one of the first instances of) the now-standard way of managing "tech" projects. Read this if you want to understand why your manager uses practices that increase the short-term productivity of his team at the expense of their long-term effectiveness.
Arkaaito
+10  A: 
steffenj
Just finished this book an hour ago. It's a good book, but I would have liked more technical details and less business.
Zitrax
+3  A: 

The Age of Spiritual Machines by Raymond Kurzweil. I'll just quote from the linked page:

This extraordinary book by Raymond Kurzweil illustrates the exponential evolution of various technologies in the 21st century, as well as the speeding up of time as order increases. Ray Kurzweil explores a future where the processing power and capacity of the human brain will be inexpensive to purchase, conscious machines demand civil rights, and our ideas of self and spirituality evolve as we merge with technology and extend our lifespans.

neu242
+44  A: 
Tim Sullivan
Moral of this book: Working with technology is only gratifying when it is used to solve fundamental human problems. Anything outside of that is insanity to a comical extent.
Matias Nino
I gagged a number of times reading this book, and actually tore out the worst pages while doing so... Later I picked it up again and the remaining parts (Microsoft life, Sili Valley life, the VC session, Comdex) were pretty entertaining.
ctd
Thanks for recommending this. I just finished it and my life is now awesome! Sub-moral of the book: geeks should have more sex.
mwc
+13  A: 
Roel
Melodramatic is a good description, but there are bits of elegant prose in it, and the character of Roark does carry an unswerving dedication to his principals. If programmers were all like him we'd be rushing back to old workplaces to destroy the ugly apps we'd build under duress.
Bernard Dy
Dammit, that should be principles.
Bernard Dy
Roark could use a generous dose of humour:). As I repeated above, i see no value i Rand's work (but we all agree to disagree). Her philosophy simply makes no sense to me.
gnomixa
Facinating book. I disagree with some of her philosophy, but I found it a great and accessible read (unlike the overworked Atlas Shrugged.)
Beska
Yes a prologue to Atlas Shrugged, i'm a fan.
Binoj Antony
+10  A: 
Matt
Sigh...another book I've bought and not yet gotten around to reading...
Stu Thompson
+9  A: 

The Illuminatus! Trilogy by Robert Shea and Robert Anton Wilson. In many ways, this book changed the way I do my thinking. Not sure whether it is good or bad to completely distrust anything and everything, but at least it keeps ones mind critical instead of automatically accepting something as truth without questioning.

The book also introduced me to the concepts of discordianism, which I find having quite a few interesting points.

Kodein
You are so right, hail Eris! ;)
Kevin D.
+1  A: 

I agree with many of the titles listed here, and I'd add...

"Dynamics of Software Development" by Jim McCarthy.

I don't think it counts as a programming book, but it teaches quite a bit about how to be a good developer.

Martin
A: 
MrBoJangles
+152  A: 
Kip
How is it possible! I posted the same idea at the same time than you! Yes it's a must read! :)
Pascal Paradis
I would add Snow Crash too, but I don't want to be too much of a fanboy. :)
Kip
Haha, I recommended this in a comment to the Snow Crash answer above. Interesting how popular Stephenson is in the programming community.
RJFalconer
Arguably a programming book. :)
Bill the Lizard
I don't see Anathem in the list yet. Maybe it's too new, not enough people have read it yet, or it's not as good as this one.
Bratch
Anathem's on my bookshelf at home, waiting to be read, but it's bigger than the Bible so I keep putting it off!
Kip
I also love reading a book featuring a 'budget' crypto system designed by Bruce Schneier. I've wasted hours on Pontifex.
ojrac
I really enjoyed this book -- I think it's Stephenson's best. Too bad the ones that came afterwards were so awful.... :^P
Jeremy Friesner
Cryptonomican was a good read, but (imho) like all Stephenson's works, the ending is a bit confused and lacking. Anathem ends confusingly too... but, by damn, it works! (i.e. Anathem = a very good read).
Philip Kelley
@Philip Kelley: I agree about Anathem--which has replaced Cryptonomicon as the best book I've ever read.
Kip
+175  A: 

Ender's Game by Orson Scott Card

alt text

Doron Yaacoby
It would be nice if you could say something about the book.
hstoerr
We studied this in school and I **loved** it. I found the sequels to be just as good.
j_random_hacker
Summary: Ender, an intelligent but isolated young boy, is taken from his family to a space station where he is trained to command ships to destroy the alien Bugger race. Sounds cheesy, but for me the personalities and interactions of OSC's characters make all his books a level above most SF.
j_random_hacker
This is possibly one of the only series which had me looking for the next book as soon as I finished the one I was on.
bcasp
This one is a good example of how to ruin a great short story by turning it into a book.
simon
@simon: yer crazy, man. This book is an amazing work. Very fun. I'm not overly fond of Card in general, but this book has to be his best work, and it's pretty much a must-read for any SF fan (and many non-SF fans.)
Beska
@Beska: the original short story was much better. In the book he dug himself into a bunch of holes that he couldn't get out of, and it shows. The short story stands up much better to scrutiny, because it doesn't have to explain anything away.
simon
Great book about being brilliant in a world that wants to use brilliance for terrible ends. A truly touching story about the isolation that can come with disproportional talent, and one boys story of dealing with those obstacles.
Fire Crow
This book is overrated unless you read it the first time when you are an angsty teenage geek. I know no one (myself included) who has read this later in life who found it a "must" read.
jmucchiello
"Creating the Innocent Killer" ( http://www4.ncsu.edu/~tenshi/Killer_000.htm ) is a good analysis of some of the problems I personally had with Ender's Game.
Svend
Best sci-fi ever.
Randell
Hated this book, think it's completely overrated; if you didn't see surprise ending from the middle of the book, I would say you are a little slow. There are so many better classic SciFi books.
Richard Clayton
I wouldn't say it is overrated, although I will say that it isn't the best book in the series. Speaker for the Dead and Xeonocide are MUCH better books. The Shadow series that sort of "parallels" the Ender based books is also good, but not up to the same level. I did enjoy the series as a whole though.
bdwakefield
One of the three best sci-fi books I've ever read (and yes, Simon must be crazy).
Mark Brittingham
@jmucchiello, I just read it for the first time a couple of months ago. Loved it. I say it's a must read. Currently making my way through the rest of the series.
thorncp
The short story was great. The book, not so great.
Ray Burns
If anyone is into audio books, this is definitely one to look into. I listened to the book after reading it a few years ago, and was seriously impressed with the Macmillan Audio production which uses different voice actors for every character on Orson Scott Card's request. Card is a fantastic story teller.
Brian
@jmucchiello: i just finished it this week, as a 28-year-old. i would say it's a must read for anyone with a passing interest in sci-fi. @Richard Clayton: I didn't think that was really supposed to be a "surprise" ending, so much as a "if you were paying attention you already knew this" type of thing.
Kip
There's much better SF books to read than this one
jbloomer
Good read, but the sequels were terrible.
Doresoom
@Kip - I would say anyone with more than a passing interest in SciFi should read EG. It isn't quite a must read. People who read it when they are young are most effusive about how they felt isolated just like Ender in school. They also use words like epiphany when referring to the book. That is why I said it's a book that resonates with the young and is merely good for the more experienced reader. And all of this is why so many people call it overrated.
jmucchiello
A: 

The Economic Naturalist: Why Economics Explains Almost Everything - by Robert H. Frank

A great insight into why economics affect a lot of our everyday lives, including why the black Apple Macbook is more expensive than the white one.

Douglas F Shearer
+70  A: 
derby
This book is REALLY good. It really helped me understand autism/Asperger's (the guy who wrote it spent a lot of time working with autistic kids, and from personal experience with kids with asperger's, it seems to be pretty accurate)
Mongoose
I was duped into reading this. I thought it'd be a more serious look into autism, but its just a work of fiction. Not a bad one, tho.
Will
Just one warning - don't start reading it if you're meant to be doing something else. I read it in one sitting - it's really hard to put down.
Andrew Shepherd
I am reading another Mark Haddon book nowadays: A Spot of Bother. You should read that one, too.
Vili
I highly recommend this book.
Tim Post
This is a very very good book. I still inadvertedly count the sequences of red cars on my way to work and I read this book 7 years ago :)
glasnt
I always find it fasinating that this book is so well liked. I never got into it and actually never finished it as a result. I must have missed something, since everyone I talk to loved it...
JoshFinnie
I just put this on my reading list. Thanks for the suggestion.
Tim
A: 

Actually, a recommendation from Bill Buxton who I chatted to at Remix08 UK.

Designing For People, Henry Dreyfus, 1st Edition (1955)

... I decided to pass on his new book, and took his advice and now have a 1st Edition copy from a US bookseller and it looks wonderful; beautifully typeset and laid out (apparently later editions aren't faithful to the original).

Liam Westley
A: 
Flory
Duplicate of http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/70056#70056
Jonik
@Flory: I merged your comments to the other answer.
Jonik
+1  A: 

Flight of the Old Dog - Dale Brown.

High tech planes and shit getting blown up. =)

StingyJack
I really liked that one too :)
Christopher Mahan
Ugh. this guy is a hack author. Absolutely horrible. I tried reading that one and another one of his. (I was taking flying lessons at the time and thought it would be a good read... Boy, was i wrong)
Tim
Aw, cmon. Its fiction, not a flight manual.
StingyJack
+17  A: 
Flory
My wife and I JUST recently took the FPU Course. Greatest thing to happen to us in a long time! We now gladly eat beans and rice, and stand firmly by our envelope-system. God bless Dave and his lessons!www.daveramsey.com
Jonathan Sampson
I also love his podcast, where he espouses the same principles. It's fascinating to hear the stories of people making $300,000, and are facing bankruptcy, and people making $30,000 a year have paid off their house and are completely out of debt. Both the book and the podcasts are very inspiring.
rowrow
A: 

This is similar to another question. Here is a link to my answer over there.

Now, Discover Your Strengths is my favorite personal/career development book. It teaches the most successful people become successful by focusing on building on their strengths, rather than covering up weaknesses. This book helps you find out where your strengths lie.

Scottie T
+10  A: 

What is the name of this book?, by Raymond Smullyan. It is a wonderful book of puzzles about the intricacies of logic.

Federico Ramponi
+6  A: 

If you live on the Unix side of the world, The Art of UNIX Programming by Eric Raymond (see also here). Despite its title, it is not a programming book, and it contains very few lines of code indeed. It's the best book I know about the Unix philosophy.

Federico Ramponi
The art of UNIX programming is not about programming? I think that's a hard sell.
Svend
Yeah... Just cause it doesn't contain code doesn't make it not a book about programming.
docgnome
Especially, you know, given the title.
Nikhil Chelliah
Read the Koans at the end.
Christopher Mahan
+4  A: 
Kon
Simplistic advice largely.
Kurt
Here's the secret: the rich systematically f**k over the poor through education, policing, regressive taxing (think bank overdraft penalties and sin taxes), etc so that they don't have a chance in hell to succeed!
temp2290
Take the book's advice how you want to, but realize that the "Rich Dad" character may be fictional. Google this: Kiyosaki smart money
Neil Whitaker
He's a scam artist. they guy lies and deceives. Look it up - he's a sham.
Tim
A: 
Tim Jarvis
This was an impressive, enjoyable book. Just fun fiction. Before there was Jack Bauer, there was Ender Wiggin. That's obviously not a perfect metaphor, but you'll excuse it.
MrBoJangles
Am I the only person who hates that particular cover? Great book, but that cover trivializes it.
HLGEM
Terrible friggin cover.
Gopherkhan
Hated it. Seemed trite and silly. Plus, Card is terrible at characterization.
Genericrich
This is a duplicate. There is a post for this that has many more votes.
lillq
-1 since it's a duplicate
therefromhere
-1 duplicate entry
bias
+4  A: 

I would recommend: "Code" by Charles Petzold.

It completely opened my eyes on how computers actually work, explained and illustrated clearly. I learned that computers have no inherent understanding of numbers, letters, words or anything like that. These were human concepts and it was up to the computer programmer (at a very low level) to present they patterns of bits from computer memory to something users would find meaningful.

Despite its title, "Code" has nothing to do with coding, but explains how computers work at the electrical level.

+1  A: 
leoinfo
A: 

Walter Murch's "In the Blink of an Eye"

Michael McCarty
+1  A: 
ChalkTrauma
+17  A: 
+1. Profound book!
talonx
+25  A: 

Don't laugh... I'd recommend Dostoyevsky's books. The ones he wrote after the exile in Siberia. They'll make you change the way you see life -- really. You'll see things from a different perspective.

So... "Crime and Punishment", "The Brothers Karamazov", "House of the Dead", or maybe "The Idiot".

Incredible works of art.
temp2290
Why on earth would anyone laugh at Dostoyevsky?
Beska
I have already upvoted Beska's comment, still:Why on earth would anyone laugh at Dostoyevsky?
trappedIntoCode
For the same reason it's good to laugh at Kafka. Reject reality.
MSalters
I agree that one should laugh at Kafka, but I still don't understand laughing at Dostoyevsky.
Imagist
I don't think anyone would laugh at Dostoyevsky... sergio was probably worried about people laughing at his recommendation (i.e. because it might come across as pretentious)
Jeremy Friesner
Crime and Punishment and The Brothers Karamazov are wonderful books. They help work your brain too. Each character has like five Russian name aliases and you have to somehow keep track of them.
jessegavin
@Beska because if I remember well, in the 1st episode of The IT Crowd, Roy is pretending to have a discussion with Moss about Dostoevsky to impress Jan.
fortran
@Fortran: Hmm. This is an excellent point.
Beska
+1  A: 

My personal opinion is, apart from programming, in life we need to find a balance, about everything (or keep striving for it). Many times, I have found myself getting too immersed in one aspect of life (frequently programming/work) at the cost of others. Over the years I have learnt to recognize this and act accordingly.

In work, sometimes I have come across pretty difficult people, making it hard to work with them (not just my opinion, but also of other team members). Previously I used to try hard to convince them, make them more helpful, etc. and get frustrated when I don't succeed.

But this book Tigana, by Guy Gavriel Kay helped me understand that sometimes a person can be inherently complex, hard to work with, without he/she helping it. It is a science fiction novel, and it may not be completely appropriate here, but it helped me work better with my team, so I am linking to it here. It helped me become more objective in dealing with people I work with.

-Omer

omermuhammed
+6  A: 

The Bible.

Frans
Sure, most of us could do with a laugh
annakata
(-1) I'm waiting for the movie. Zombies with beards are cool.
Wouter van Nifterick
"Great Zombie Jesus!" -Professor Farnsworth, Futurama
gnovice
@annakata - That's hardly a way to talk about one of the greatest writings of history. Approach it as an intellect and I think you'll appreciate its beauty and historical relevance.
Jonathan Sampson
Blah, I'm not big on this kind of fiction.
Simucal
What exactly are we supposed to learn from this Bronze age mythology?
Andy Brice
I tried. I really tried, but couldn't get past a few pages. Am I the only one who found it boring and gibberish.
Epitaph
Mike Dunlavey
Not boiling your kids in their mother's milk actually makes sense to me. Maybe I should give it another shot.
Beska
@Wouter, actually, the movie's already out...
J. Steen
@Dunlavey: "alien" is a foreigner; Moses smashed the first set of tablets in anger; and a "kid" is a baby goat, which in old pagan rituals was cooked in its mother's milk. If you want some interesting bits look at Judges 3:22 where this guy was so fat that when he was stabbed with a sword, the sword disappeared into his stomach :)
Jeffrey Kemp
-1 This is the kind of fiction that warps your mind, not enhances your perception. Anybody that takes this stuff too literally really needs a good slap.
amischiefr
Ah come on, it's total crap. The only reason for reading it is to convince yourself that god is a total wanker
Cruachan
Next thing they'll recommend, it's Dianetics, the Koran or something. *If* you want to suggest something religios to keep the balance, try Buddha's teachings...
DevSolar
It seems to me that there are more atheists among programmers than there are among average people. Has anyone else noticed this? I'm not complaining; I am an atheist myself.
Imagist
@ Imagist: An above-average IQ does that to you.
DevSolar
@Imagist, I can't say I've noticed a big difference. There have been lots of computer programmers in every church I've been part of. In fact, judging from the types of arguments we get into, I'd say that us developers are quite a 'religious' bunch, whether atheist or not ;)
Mark Heath
Wow, I guess tolerance really doesn't include Christianity. If a Christian had made remarks like this about any other religion (including atheistic), we'd be slammed so hard it'd make our head spin.
Fred
@Fred: Maybe. I'll submit a 'atheistic' book and see how we do.
Stu Thompson
Come on, even if you despise the idea, you still have to admit that getting people into donating money for centuries is no small task for one book.
ldog
The Bible is not one book - it is a compendium of many books, over many years, by many authors, edited by a committee, translated, re-translated, used for every end imaginable...There's plenty to learn from the Bible from a cultural, historical and literary perspective. You should know it just because even if you don't you're going to interact with people who at least proclaim to subscribe to its teachings such is the strange influence that a series of historical accidents has bestowed upon this compendium.
cyborg
*** Spoiler alert !!! ***He dies in the end...
Paul R
let's try to keep church and state separate here
Jonas Gorauskas
@Paul R no, that's a few hundred pages before the end. Keep reading.
Pete Kirkham
+2  A: 
+1  A: 

Language, Truth, and Logic by AJ Ayer.

Why? Because it will help you avoid saying things that don't mean anything in a literal sense, and get you thinking about the meaningfulness of claims.

Don't take it too strongly - the author has an extensive introduction qualifying his claims.

Marcin
+1  A: 

I think everyone should read 'Extremely Loud and Incredibly Close' by Jonathan Safran Foer. It's awesome and I really love the way how he plays with the lay-out. It really is both literature and visual art.
Apart from that, the kid who has the lead role is super awesome.

Pim Jager
+1  A: 

The Humane Interface by Jef Raskin.

You can see some of the effects of these ideas in Aza Raskin's (Jef's son) Enso project and the Ubiquity Firefox add-on.

sep332
A: 

The Thermodynamics of Pizza by Harold Morowitz.

This could have all kinds of morals, depending on how you take it. 1. You can use science to improve EVERYTHING! :-) 2. Make sure you choose the right level of abstraction when designing and coding. 3. You can really improve your life if you just take a few minutes to think about it.

etc.

sep332
A: 

Written in 1950, Dianetics: The Evolution of a Science describes the optimum computer as an introduction to a science of the mind.

Andrew Cowenhoven
Yeah, right. I'll think of that the next time I view "Battlefield Earth" (as he said himself, Travolta's best movie ever... or was it Phenomenon? Can't remember. Note to myself: Less Dianetics tomorrow). -1
Boldewyn
What? Really? I don't understand. :(
Nathan Taylor
A way to make perfectly good paper not even worth recycling.
Kelly French
A: 

The Fountainhead by Ayn Rand. Atlas Shrugged is already on this list, but the Fountainhead deals more with craftsmanship and integrity, rather than supply-side economic theory. Definitely worth a read for anyone in a creative field.

jordan002
Also Fountainhead was mentioned earlier: http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/111488#111488
Jonik
-1 duplicate entry
bias
+11  A: 

Masters of Doom !!

God programmer meet God marketing guy, and no it's not Steve Woz and Steve Jobs, but it's the Johns, Carmack and Romero.

Business, gaming and programming all rolled into one. a definitely page turner all the way until the end.

melaos
+1 great story and great book
Lukas Stejskal
+1  A: 

One Minute Manager whether you're a manager or you have one.

Dennis Williamson
If someone treated me the way this book advocates managers treating their subordinates, I would be insulted and might respond with mild violence.
PeterAllenWebb
I would *love* for my manager to work this way. Give me regular, short attention to make sure that I'm heading in the right direction and that nothing is standing in my way, then leave me alone.
Dean J
+3  A: 
kushin
+44  A: 
Simucal
Awesome. Would read Friday next.
Genericrich
SUCH a good book. Heinlein is one of my favorite authors, and this is definitely one of this best.
Mongoose
Don't "Number of the beast". It's terrible. Apparently he had some sort of undiagnosed brain problem when he wrote some of his later books.
Andy Brice
One of the best computer-centric stories I've ever read. If you're into time travel stories, try 'The Door Into Summer'.
RobH
@Andy: Where did you hear that? It's beyond argument that his later books elicit a more varied response than his earlier works, but I've never heard anything about a "brain problem". Reference?
Beska
Firday is a great book and was one of his later books. Where did you read that he had a brain problem?
Carra
Oh, I can also advise to read his starship troopers. Completely different from the movie but still a great book :)
Carra
For bonus fun, read this and Starship Troopers back to back. You can make the case that they're set in the same universe, but Troopers takes the view that the government are the good guys, and Moon take the opposite view.
Electrons_Ahoy
If you're going to read Heinlein, STRANGER IN A STRANGE LAND is his best, IMO. As for his "brain problem", I have heard that he suffered a stroke, but Wikipedia (currently 2009/7/1) says he had a transient ischemic attack.
PTBNL
Heinlein novels that won the Hugo for best novel: The Moon Is A Harsh Mistress, Starship Troopers, Double Star, and Stranger In A Strange Land. Don't miss the compilations of his short stories, "Future Histories". One of my favorites is "If This Goes On...".
Kelly French
Stranger in a Strange Land is even better. Grok that!
Andomar
Heinlein, while entertaining, is a bit naive. Any man who thinks "specialization is for the insects" (Time enough for Love) has obviously never tried to accomplish anything as complicated as enterprise systems development, oracle tuning, or building equipment to search for WMD's. There's value in breadth and diversity, but you still have to be *good* at something. Sure, I can also cook, fight, design a building, etc... but I wouldn't consider myself *good* at any of those and it took me 10 years before I started to think I don't suck at programming. Another 10 I might say I'm almost "good".
James Schek
I read this in HS 30 years ago. I just listened to the audio version just a few months ago. I had forgotten just how good this book was. I loved the libertarian politics in the story. "FREEDOM!"
PaulG
@Andy, RAH is my favorite author by a mile, but this book was more of a parody/homage than a serious attempt at literature. Lot's of in jokes and anagrams of his name and those of his friends make frequent appearances. If you aren't in on the joke, you'll be scratching your head. I might read it again now that I know what's going on; I won't take it quite as seriously and will enjoy it more. See 'Robert A. Heinlein: A Reader's Companion' by James Gifford.
Kelly French
+10  A: 
VonC
+104  A: 
ugasoft
The book is old enough it is public domain now. You can read the FULL thing here: http://www.geom.uiuc.edu/~banchoff/Flatland/
Simucal
There was a sequel, too, written by a different author who was also a mathematician. He uses it to further explore the concepts involved, as well as several new ones.
staticsan
There are several sequels, but one is Flatterland by Ian Stewart.
Zitrax
Flatland is on Google Books, too.
Barry Brown
Spaceland, by Rudy Rucker, is a great modern version of Flatland. http://en.wikipedia.org/wiki/Spaceland_(novel)
Nate Kohl
Just read it, very insightful, thanks much everybody!
zvolkov
Another modern version is Flatterland (http://en.wikipedia.org/wiki/Flatterland)
Chris Simmons
Yet another sequel is called Sphereland.
Travis Beale
What, no "Planiverse"?
CodeSlave
This book helped me see a multidimensional universe. A good book to expand ones view.
OnesimusUnbound
Haha this book has been mentioned by Sheldon in *The Big Bang Theory* :D Awesome http://www.youtube.com/watch?v=GmiXemW_oBQ
Stephane
+23  A: 
Gumbo
MAN.. and the hilarious posing on the cover :)
bobobobo
They must have practiced that pose a long time to make it that perfect!
Gumbo
Up vote for cover.
PeterAllenWebb
@bobobobo: you mean poser right?
amischiefr
@Gumbo - you mean to make it awesome!
Martin
Ok, a book with funny cover... Funny enough to deserve high ranking on this list? Hardly. -1
Jonik
but, Jonik, it's more than the cover it the title ... how can you refuse such a book?
bias
+4  A: 

One hundred years of solitude

by Gabriel Garcia Marquez

Rulas
Please elaborate on why you think a given book is worth reading from a programmer's perspective
JuanZe
+2  A: 

Joel Spolsky's "Best Software Writing I"

Henrik Hartz
How is that a non-programming book?
Keith
Keith - it's not about programming patters and techiques or language semantics/syntax but rather ideas and visions IMOrp - what a wonderful display of rhetorical prowess
Henrik Hartz
+19  A: 

The Cuckoo's Egg by Clifford Stoll.

dwelch
Great book. It's important because it puts programming-related issues in context with the real world. You don't get more Real World(tm) than the FBI knocking your door as consequence of you having a custom resource accounting system. :-) Would someone edit this to provide more information?
Daniel
Interesting but a bit self-serving ...
Peter Rowell
+6  A: 

Outliers: The Story of Success by Malcolm Gladwell

I just bought it on Audible last week and I can't stop listening to it. It goes through the factors of successful people (ex: Bill Gates, Bill Joy, The Beatles). Fascinating!

hacintosh
+149  A: 
Jonik
I'm really amazed, and somewhat disappointed, that this hasn't received more up votes.
Wayne Koorts
+1. Best line in the book. "Omit needless words."
Genericrich
Checkout the Language Blog, not everyone agrees with this.
Richard
'Elements of Style' is a fantastic book, pocket sized and very cheap so there is no excuse for not having it with you at all times. Great for anyone who wished they'd paid more attention to grammar and stuff during English class at school.
Danielb
"Omit needless words" following its own advice --> "Omit." -1 for "do as I say, not do as I do."
Michael Paulukonis
LanguageLog calls it "[an] odious booklet" : http://itre.cis.upenn.edu/~myl/languagelog/archives/004176.html
Michael Paulukonis
But Jeff Atwood is known for recommending stuff he didn't read. ;-)
bart
Heh. Actually, now that this has more votes (at the time Wayne Koorts commented there was just 1 or 2), it makes me wonder how many of the upvoters have actually read the book, as opposed to just having heard good things about it, or finding this recommendation interesting...
Jonik
Linguists pretty much universally agree that this book has some terrible advice that has led many writers astray. Particularly the completely made up and arbitrary rules like "don't split infinitives", "'that' and 'which' are never interchangeable", and "don't end a sentence with a preposition".
Kip
Has some bad advice for writing english but some great advice for writing code. My first year programming lecturer recommended it.
mbehan
Best line in the book: "When engaging in the authorship of English prose, do whole-heartedly endeavor to make all possible efforts to be economical in your choice of verbiage and phrasing."
Ben
@Ben: best line in the book because it contradicts itself?
Kip
We had to use this for reference at old-Wrox. I have no clue why. Just not user-friendly or reflective of modern word / punctuation usage
Hmobius
@Kip I think that was intentional -
bobobobo
A: 

Eli Goldratt's The Goal - Sounds like a cliche, but it changed my life.

Duplicate: http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/99905#99905
JuanZe
+2  A: 

My indication:

The World Is Flat by Thomas L. Friedman

Great book for understand how information changed the world.

lsalamon
+2  A: 

I've grouped a few books by one author there - they're pure fiction books and won't help your career. I just think most software developers will like them.

All programmers should read the fiction by Charlie Stross - he writes about all the stuff most programmers are in to.

Just a few examples:

  • Halting State - Tells the tale of a bank robbery inside a World of Warcraft style game.
  • Atrocity Archives - IT expert/spy is up against Lovecraftian horrors.
  • Accelerando - (free download) High tech future where your PDA and internet presence is part of your personality and online kudos/rep is as important as money.
Keith
+1  A: 
Ian Turner
+4  A: 

I recommend Steven Pinker's "How the Mind Works" - he outlines how our brains have evolved to work the way they do. It's a fascinating insight into our own personal "thinking machines" - the root of every computer program.

Antibaddy
+126  A: 
Sakkle
Why Alice in wonderland got more votes than this, I will never know.
amischiefr
Alice in wonderland was quoted (far too heavily, in my opinion) in the Matrix. Hence, geeks will tend to identify with it. I'm betting most of them have never read the Art of War.
A. Levy
This is an amazing book!
Umair Ahmed
+1 Man. This is one of the world's greatest books, I have ever read.If you understand what Suntsu means, and transfer it to nowadays life is much easier.
daemonfire300
Indeed! Where you are weak, appear strong; where you are strong appear weak. Thus you confuse your enemy.
Christopher Mahan
sixtyfootersdude
This is one of the shallowest books ever if you're already familiar with the content. "Where you are weak, appear strong; where you are strong appear weak." A thousand years later, that's not a revelation; it's just interesting to see who managed to write it down first.
Dean J
I almost skipped over this because there wasn't an Amazon link. How lazy can I get?!
Coronatus
+31  A: 
Carl
From this genre, I'd warmly recommend "She Comes First" and "He Comes Next", by Ian Kerner. See reviews e.g. on Amazon.
Jonik
Haha, that one is good! :)
Diego Sevilla
Love the comment!
RobH
I looked for this book in Barnes and Noble, but couldn't find it, so I asked Customer Service. They asked me what I did for a living. I said I was a computer programmer. They said to look under fiction. Bah-dum-cha!
Beska
Hehe... good one ^^^.
Carl
For a lot of programmers this is a very theoretical book rather than anything more hands on though.
Jon Hopkins
There wasn't a chapter on the 'hands on approach' It was more oriented to couples.
pavium
Read it if only to see a couple of hippies going at it.
Brian
+5  A: 

Mary Shelley's Frankenstein

Every scientist/programmer should read this book. It tells you to know your limits and be bold at the same time.

Spikolynn
This is another one of those "classics" that I was fully expecting to be both trite and dry...and was amazed when I read it. Great, great stuff.
Beska
I began reading this book in undergrad with dread, and was quickly wrapped into the plot and characterizations. Definitely a favorite, and one that I think most Comp. Scientists and Engineers will enjoy.
Mark Hammonds
I thought it was boring, childish. One of the biggest disappointments I ever had from a book.
Jonathan
+2  A: 
gnovice
+146  A: 

I can't believe I didn't see this already listed:

Dune

by Frank Herbert

Dune Cover

Dune is the pinnacle of Sci-Fi novels!

Slace
Dune is the best Sci-Fi book.
Luc M
Dune is space-opera at it's finest.
Svend
I'm about halfway through book 6 - loving them!
Chris Simmons
@Svend: It's technically a planetary romance (http://en.wikipedia.org/wiki/Planetary_romance). :) I agree about it being the finest though, without doubt!
Noldorin
A+. Must read for an aspiring prophet!
utku_karatas
@chris Simmons: For the love of Syanoq, please don't even look at any of the later Herbert Jr./Anderson crapola. Jus read books 5 and 6 again if you get that urge. Beware the faster Teg.
Christopher Mahan
A: 
Gopherkhan
+15  A: 
TokenMacGuy
http://www.penny-arcade.com/comic/2001/06/22/
James McMahon
This is also one of the best books about cognitive psychology and AI that I've ever read. Before you think I'm crazy, Understanding Comics is mostly about how we look at minimalist art and transform it into rich experiences and how we can look at static shots and understand the flow of time, character motivation, and causality. Truly an amazing book.
CMPalmer
A: 

Everybody Poops

Jason Miesionczek
+6  A: 

Life of Pi: http://en.wikipedia.org/wiki/Life_of_Pi

Zsolt Botykai
Én is pont ezt akartam beírni. :)(I was looking for this book on this list.)
Vili
Please elaborate on why you think a given book is worth reading from a programmer's perspective
JuanZe
Pretty easy, it's one of the best stories ever, of course IMO. Easy read, great story, superb metaphor.
Zsolt Botykai
+13  A: 
Jonik
Also check out the recently published companion book, "Coders at Work": http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read/1460306#1460306
Jonik
This contains a fantastic interview with Steve Wozniak that's one of the best accounts of the founding of Apple that I've read anywhere.
U62
A: 

You shouldn't read any non-programming books!

Fortyrunner
And quite goofing off, get back to work!
Philip Kelley
If you don't think any books other than programming books are worth reading you haven't really discovered books yet.
Ollie Saunders
My comment was very tongue in cheek! I have about 1500 non-programming books in my library at home and read about 4 new books very week.
Fortyrunner
How would you educate yourself up to the point where you can program?
Christy John
+1 for absurd wasting of my time
bias
Fortyrunner: Be glad this is CV.
Andreas Rejbrand
What do you mean by : Be glad this is CV?
Fortyrunner
+12  A: 
AviD
+8  A: 

If you give a mouse a cookie or any other kids books.
Really, spend more time with your children, whenever you can. It's shockingly enjoyable, and you'll be pleasantly surprised at their viewpoints - and how much sense they usually make, even for your own job.
And that specific book? Funny, and explains a LOT about why programmers are the way they are :-) .

AviD
That's a good one, we've had it from the library more than once. Hadn't thought about it with programming context.
FarmBoy
+4  A: 
Matt in PA
The subtitle of this book should be: "How to create ideas that no one will take seriously."
mwc
+3  A: 

21st Century Jet: The Making of the Boeing 777, by Karl Sabbagh

From coffee cup holder to three-hundred-foot wing, this book is the story of how a group of people came to build a brand new aeroplane.

The book describes the development of the Boeing 777, from initial concept, through requirements gathering, design, development, testing, production, and delivery. The engineers and management implemented a new development system, overcame changing requirements, met strict safety requirements, and continually optimized the solution. It describes how the designers and engineers worked to make the aircraft easier, safer, and more intuitive for everyone who would come in contact with it (air crew, maintenence crews, and passengers).

Software developers can learn a lot from this book. It's very well written, it reads like a novel. I've read it twice and highly recommend it.

Boeing Computer Services president John Warner said, the Boeing 777 is "three million parts flying in close formation." Sounds like software to me.

WileCau
+5  A: 
ISW
+11  A: 

The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich

by Timothy Ferriss

alt text

The author gives many tips how to more productive, how to change attitude to work, earning money and life. I really recommend it for everyone.

Comments from duplicate answer by David Robbins:

The message: ratchet down email, use Occam's razor on everything you do by sticking with the 80/20 rule. Your quest is to focus on the necessary and realize that much of what is "required" of us is a smokescreen.

pbrodka
Hm, interesting stuff he promises to teach (like "How to eliminate 50% of your work in 48 hours using the principles of a forgotten Italian economist"). Idea of "work bursts and frequent mini-retirements" does appeal to me though. Have you had success applying these working as software developer? :)
Jonik
On Amazon this has a high 4.5/5 average rating, but almost all of the highest rated reviews are very critical, with titles like "21st Century Snake-Oil Salesman" or "Get-rich-quick guide for the shallow": http://www.amazon.com/review/product/0307353133/
Jonik
@Jonik: Well, I scan it partly. But some ideas I found inspiring - the low information diet especially, while I feel quite addicted from it. Also tips for fast reading, time management, assertivity - I knew them but now I use them :)
pbrodka
It was a revelation to me when a professor said in a class, "The difference between an efficient program and an inefficient program is that an efficient program does less." This book applies that idea to humans: an efficient human does less.
Imagist
This book simply talks about economic arbitrage (get cheap people in developing countries to do work) and that's pretty much it. Apart from going over how to sell junk online cheaply it didn't really have much to say.
Kurt
People who think this is a book of get-rich-quick advice have spectacularly missed the point it's trying to make which is that you shouldn't work yourself to bone until retirement (usually doing something you hate) with the goal that someday you'll have enough wealth to be free from it.
U62
+43  A: 
Andy Brice
Haven't read it (or seen the movie) yet, but the main character's name is just a hoot!
RobH
Probably my favourite novel.
Dana
This is seriously one of my favourite books of all time. Cannot describe how good it actually is!
Richard
My favourite book. It isn't the best I've read, but it is the first on my fav. list.
Vili
+1 Yeah! This is a great help keeping sane in a large corporation. I still smile when I read the name Yossarian
Andomar
sixtyfootersdude
+1 probably one of the best books I have ever read. It is probably the best combination of the comic and the tragic I have ever encountered.
Tikhon Jelvis
+3  A: 

Herodotus - The Histories - because a bloke at the other end of time still tells a good'n. Seriously.

+1  A: 
tims
+49  A: 

The Selfish Gene

by Richard Dawkins

A great book about evolution and strategies. In this book he also coins the concept about memes

Richard Dawkins was a friend to Douglas Adams and is appointed Simonyi Professor of the Public Understanding of Science in the University of Oxford.

epatel
Reading this book was like having a curtain drawn open in my mind.
Terry Donaghe
Richard Dawkins has done terrible disservice to the world by using scientific terminology to make philosophical statements. As a Christian in the world of academic science, I'm attacked from both sides by people making philosophical claims, presented as science. "Animals evolve therefore there is no God and life has no meaning"? NO! "God exists, therefore evolution can't be true" NO! Richard Dawkins and his ilk have twisted science (the study of 'how' in the natural world) into pseudo-philosophy (making claims about 'why'). Now many people think you must choose between science and God
David Oneill
David - nowhere in those books does Dawkins say "Evolution exist, therefore god doesn't." He does say "Evolution exist therefore Intelligent Design is bunk".Another good book is "Climbing Mount Improbable".
JDelage
A: 

The Holy Bible

Because you can't program forever and you shouldn't program just for yourself. Glorify God with your work. He can see your code.

johnny
Thanks, johnny, I was going to add this one, but voting you up is even better
FarmBoy
Good one, Johnny. +1 for ya, mate. :-)
Timothy Chung
Would not recommend.
T Pops
I think there's a conflict between religion and critical thinking, and for a programmer critical thought is an important skill to have. (The next time you have a difficult/mysterious bug to fix, try praying for the bug to go away, and then try investigating it rationally until you understand why it occurs, and the steps necessary to fix it... see which technique gets the problem solved and which one doesn't)
Jeremy Friesner
johnny
I challenge the points that: no one can live a fulfilled life without God, those who believe have more passion and can receive genuine fulfillment on more levels than non-theists. How can you receive fulfillment knowing that everyday, you disobey the thing that you hold as your highest virtue (the Bible)? Unless you believe you're the perfect Christian and never commit a sin.
T Pops
In your worldview code means nothing because it's just some randomness that happens to make you feel good or help some other random soul. The answer to your question is easy - grace. That same literary work also speaks about forgiveness. In fact, it says you must be perfect, that you cannot, then provides you with the remedy for your pitiful situation. You cannot have genuine fulfillment unless you can transcend yourself. Any text on the philosophy of religion will show you that is basic to mankind (not just Christians). How will you fulfill your innate desire to transcend yourself?
johnny
@Jeremy Friesner ... not truly. There is a conflict between blind belief and reason, but faith is not believing blindly, it is believing in the veracity of a fact on the basis of who told it to you. If you don't *know* the person who gave you the fact is trustworthy or intelligent then you are believing blindly. If you *know* that Jon Skeet knows more than C# than you, you try out what he say to do ... you have no reason to do so if you do not believe that he might know what he is talking about. (Unless you only try other people's suggestions as a form of Russian Roulette.)
Sean Vieira
It's called trust. I hate when I hear someone say, "You gotta have faith." Faith in what or whom? For what reason? You'd never hear someone say "You gotta have trust" because it would become immediately apparent that you need an object with trust. "You gotta have faith" is absolutely meaningless without an object. it's not just blind; it's nothing at all; maybe feeling...What Jeremy really needs to do is attack the foundation of the belief (no matter which religion or philosphy), whether it be philosophical, empirical, both or something else. Somehow I doubt he thinks all history false.
johnny
A: 

"A Thousand Acres" by Jane Smiley.

A modern retelling of King Lear, set on an Iowa farm. There isn't a word wasted. I read it five times, and I think there's still more I could get out of it.

The world she paints is a vista of color and emotional depth. It makes techy stuff look shallow and monochrome. We coders could learn there's a bigger world than bits & bytes.

Mike Dunlavey
+1  A: 

Short stories by Alice Munro.

Each one is an intricate puzzle, just as the most satisfying short programs are intricate puzzles.

Mike Dunlavey
+3  A: 
Gopherkhan
As the question says, *why* do you think it's worth reading from a programmer's perspective?
Jonik
:) You'll have to find that out yourself.
Gopherkhan
A: 

"My System" by Aron Nimzowitsch.

It is the best chess manual ever.

Most world chess champions were geniuses. Nimzowitsch was a Guru.

Anonymous
+10  A: 
Sam Hasler
+3  A: 

If you're into science fiction then anything by Ian M. Banks and Peter F. Hamilton. Genius...it's like they've been there.

Kieron
Amazon doesn't have any books by Ian M. Banks and Peter F. Hamilton, only books by one or the other. As such, this hardly meets the 'one book per answer' criteria, being an answer which has zero books.
Pete Kirkham
Wow, picky, aren't you Pete.
Kieron
+14  A: 
Paulo Guedes
Ditto the Code Book and The Big Bang, both by Singh.
Jon Hopkins
+23  A: 
Paulo Guedes
A very good introduction to cryptography. It is, above all, very accessible--I read it for the first time back in sixth grade and managed to understand a good part despite not knowing much math.
Tikhon Jelvis
+42  A: 
Can anyone comment on why especially you would recommend this for a programmer?
Jonik
I read this book and though I remember it being mildly interesting a the time, I honestly cannot recite one thing I learned from this book. I think that is most telling.
Nemi
I agree with Nemi. This is basically a trendy book that shouldn't have taught you anything you didn't already know.
PeterAllenWebb
I thought it was just OK, but it made me aware of the book *Gang Leader for a Day*, which was utterly fascinating.
Kyralessa
An interesting read, but nothing major. It was about some economic research in odd areas. Unlike the books I really like, it didn't change my underlying thinking in the slightest.
David Thornley
It's certainly entertaining, but I don't know how worthwhile it is. It's well-known for things like the assertion that legalized abortion is the real cause of the reduction in crime around the time Guliani's broken-window policies were implemented in New York City. It's an interesting idea, but lacks any real basis (and I say this as a pro-choicer).
Imagist
Very,very overrated. Not bad, but could be lower on the list.
JDelage
This book is a series of case studies of how to look at the world differently. It's a book about questioning the conventional wisdom. While the specific examples he talks about throughout the book are interesting, the point is challenging us to think like that.
David Oneill
+6  A: 

Just about anything by Michael Crichton. He researched his subject matter so thoroughly reading one of his novels was also a crash course in whatever he was writing about, whether it was nanotechnology, reconstituting DNA from fossils or airline crash investigations.

PaulG
I'm impressed with his research, but I couldn't make it through Jurassic Park. His writing style was clunky.
Kyralessa
Why is the vote count negative? I thought Crichton would be popular, especially among geeks...
Shivasubramanian A
This is a tough crowd.
PaulG
@Shiva - he's anti-science, for one thing. He even believes in spoon-bending!
ctd
Anti-science?! Have you ever read any of his work?
PaulG
I'm no critic of writing style, but I enjoy Chriton's books for the precise reason as this post - he does an insane amount of research, and the books are probably just as interesting for the information as the story line.
Wayne Werner
+7  A: 
RobH
My girlfriend had this in her collection (she loves fantasy). Great book, if a little out of date.
Ape-inago
+24  A: 
Avery Payne
+1 excellent article. I read it and bought it. It's available online at http://www.cryptonomicon.com/beginning.html. My favorite part is when OSes are being compared to cars, and Linux is compared to a Tank that is being given away for free. The customer says: "I don't know how to maintain a tank!" [But you don't know how to maintain Windows either!] "But they have staff to fix it!" [We'll come to your house and fix it for you!] "Stay away from my house, you freak!"
scraimer
+1. A good segment that explains *a lot* of things in life is the segment about Disney world and GUIs, and attempting to simplify the world. At least, I found it was insightful.
sheepsimulator
+106  A: 

Isaac Asimov's Foundation Series is brilliant!

Gavin Miller
Great stuff. I found the theory in this book to be a lot like an introduction to sociology through chaos theory. An amazing take on societal development. Easy and fun, but with some weight.
Beska
@Beska - Well said. I found this series holds a nice space beside Dune.
Gavin Miller
Violence is the last refuge of the incompetent.
Si
Much better than Dune, in my opinion.
Toon Van Acker
+2  A: 

Mimsy Were the Borogroves It's actually a short story, not a book, by Lewis Padgett. Challenges the way you think about thinking, and how the way we learn can actually pre-dispose us to a certain way of thinking and interpreting the world around us.

EDIT: And no, seeing the movie is not a substitute.

Matt
+6  A: 
Peter
+3  A: 
mrTomahawk
+1  A: 
dfa
+69  A: 

Neuromancer

By William Gibson. He coined the term cyberspace, and the sprawl triology is the reason I wanted to be a code cowboy.

alt text

Si
+1 good call! (Hmm, actually it was mentioned in one post, but that violates the "one book per answer" principle: http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/111490#111490)
Jonik
Ahh, was looking for this one. Read it probably 100 times while in high school. I have autographed first edition of it now. Dated, but still a classic. Definitely made me want to be a network coder!
Jason Short
The irony is that he wrote these books to discourage the technophilia that so permeates society of today (and then). =)
J. Steen
@metaphor - citation needed :)
Si
I've had many editions of this book but never one with that cover! Cool edition!
Simucal
Amazing book, make sure to read the whole trilogy
blu
On of the best books that I have read.
Tuoski
Also ironic that Gibson is (or at least he was at the time he wrote those books) completely ignorant of current day technology. He wrote the books using an old school typewriter. And when he finally later got a computer, he thought that the humming from the hard drive was an indication that it was broken somehow.
Pete
Personally, I have to say that I found the book boring and hugely uninspiring and don’t understand the fuss at all. So hey coined the term “cyberspace”, and well done. But that doesn’t make the book any more interesting. The story is horribly convoluted and contrived, the characters are clichés and the would-be Chandleresque writing style isn’t exactly high literature either. Didn’t enjoy, wouldn’t recommend.
Konrad Rudolph
@Pete, I read he wrote it on a Mac. Same thing somehow (-:
Henk Holterman
@Konrad - To each to their own, but he helped spawn a generation of hackers, and won the Nebula Award, the Philip K. Dick Award, and the Hugo Award for Neuromancer. Few books can claim such achievements.
Si
I get that this book was highly influential, but I read it for the first time this year and just could not get into his writing style, plus a lot of it is quite dated. I read this because I had heard that it basically invented the cyberpunk genre, and I liked Snow Crash, so I thought this would be similar. Maybe if I had read it for the first time in the 80s or early 90s I would have gotten more out of it. Oh well. :-/
Kip
@Konrad. This is my personal opinion. I have respect for this book. It inspired so many people, won awards and inspired a rock band. Still, I do agree, I found this boring. I gave up after 20 pages (and got this far painfully).
Phil
My #1 favourite book.
SLC
+7  A: 
plan9assembler
Just to be clear, he wasn't the first programmer. http://en.wikipedia.org/wiki/Ada_Lovelace
Singletoned
Forgetting Babbage?
Ollie Saunders
The Annotated Turing is also an excellent book. http://www.theannotatedturing.com/
mwc
+26  A: 

The Non-Designer's Design Book by Robin Williams

The Non-Designer's Design Book

An excellent introduction to visual design and typography. It's a nice short concise book, but if you read it and follow its principle of CRAP (Contrast, Repetition, Alignment and Proximity) then you will vastly improve your ability to produce well-designed documentation, reports, resumes, business cards and letterheads.

Jeff Atwood is a fan too and he has far more to say about it than I want to post here.

GrahamS
Shame about the design of the cover... Almost as bad as Coders at Work.
Skilldrick
+5  A: 
MagicAndi
+1  A: 

One of his books was already mentioned, but I'd like to add this:

The Hidden Connections: A Science for Sustainable Living

by Fritjof Capra

This is a highly ambitious attempt to bring together research from various disciplines, and especially apply complexity theory ideas ("non-linear dynamics") in fields ranging from molecular biology to social interactions in large organisations, to networks of global capitalism. Towards the end, it goes on to outline how we could make our communities and technologies more ecologically sustainable.

For me, even though all of it may not have been thoroughly convincing, it was still one of the most inspiring books I've read, and it gave a lot to think about.

Some reviews: one (good summary; all praise), two, more critical ones: three, four.

Jonik
+4  A: 
+4  A: 

I am really surprised to see the classic "Pride and Prejudice" by Jane Austen not posted yet!

It's a must read for every one.

Sneha
Ah, this is a most delightful novel indeed! (Although, again, I don't know why programmers specifically should read it.) I just finished it, and it was actually the first ebook I've read from cover to cover (through Stanza on iPhone, for free).
Jonik
Please elaborate on why you think a given book is worth reading from a programmer's perspective
JuanZe
There are lots of people out there who consider this a literary classic, but I don't think a lot of programmers would enjoy such a story.
MAK
How can anyone site through reading that nonsense? What claptrap.
Tim
A: 

The Four Hour Work Week by Tim Ferris. [Content removed - was merged with another entry.]

David Robbins
Sorry, this is also a duplicate (the third answer about this book I think), http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/501584#501584
Jonik
@David, I merged your comments to that answer.
Jonik
+26  A: 
majkinetor
One particularly fascinating idea in here from a technical perspective is the idea of the "datasphere", an interplanetary communications web, much like our Internet, but across the stars. I wonder how we will ever overcome the latency issues :-)
Chris W. Rea
The first book in this series was excellent, but I thought the later ones faded quickly. Other excellent AI fiction: "The Golden Age" by John C. Wright, and Ian M. Banks' "Excession".
Peter J
The space opera book ever. I think it is one of the best scifi series.
Francis B.
Yes, it turns out SF is actually all about big spiky time-traveling creatures fighting the Catholic church in deep space... ;)
Jeremy Friesner
+1 Love Dan Simmon's sci-fi. Intricate, epic, human, scientifically knowledgeable and vastly imaginative.
Sam
+7  A: 
Rafe Lavelle
+14  A: 

Eats, Shoots & Leaves: The Zero Tolerance Approach to Punctuation

by Lynne Truss

Becoming a better communicator in people language, I believe, makes you a better communicator in code. Punctuation is a very good place to start improving your writing.

NobodyReally
Please don't read this book until _after_ you consider this review of it: http://www.newyorker.com/archive/2004/06/28/040628crbo_books1
Telemachus
great book. but not for everyone
Tim
+1  A: 
bubaker
+1, interesting recommendation
Jonik
+4  A: 
Commander Keen
Was there any specific reason for voting this down?
Jonik
@Jonik: I guess some people don't like the idea that programmers need to influence somebody to get things done. Their loss imo. The book is nice.
Commander Keen
As a developer, being able to influence customer decision making is a key part of the job, IMHO. If you can't influence your customer at all, or worst, lack the ability to say "no", then you will be stuck implementing features that ought to have been put down.Moreover, I've actually read this book, and I enjoyed it thoroughly. I'm voting it up.
Chris W. Rea
+20  A: 

Niccolo Machiavelli's The Prince. After wondering why people acted so strangely at work, this book was the first of many, that taught me why.

Tony D
Machiavelli describes how people in power actually behave. It was banned by heads of Europe for being too revealing. He doesn't advocate the qualities he writes about; he lays out clearly what people who crave power have consistently done to obtain and keep it. The subtitle might have been "The Requirements of Power". If you want to understand politics, of governments or corporations, read this book.
Kelly French
He explicitly and repeatedly advocates the qualities he writes about.
Jason Orendorff
Moreover, this was a fascist polemic against the weak Italian nobility (Italy was then all city states) and exhorted them to oust the foreign militias and centralize under a strong monarch.
bias
+5  A: 
Ash Kim
"Please elaborate on why you think it is worth reading from a programmer's perspective."
Jonik
+33  A: 
Terry Pratchett just rocks!
Kevin D.
The Hour of the Dead (daily one-hour maintenance downtime), and how the new management scrapped it to be "more efficient". Until things started to break down. And how the technicians kept it running despite being abused by the management, because, in the end, it was *their* baby. - - - I bet >80% of the people here can relate to that. If only there were more Moist von Lipwig's around...
DevSolar
There are plenty of Moist von Lipwigs around. They're just usually not forced into doing the right thing.
Donal Fellows
Eerily applicable to the real world.
Tikhon Jelvis
+3  A: 

The Right Stuff by Tom Wolfe

Amazon

Gratzy
Why specifically would you recommend it for programmers?
Jonik
Inspiration to push farther
Gratzy
Incredible writing. The movie ain't too shaby either.
JDelage
+105  A: 
Electrons_Ahoy
I'll add that there are points about working on a team, even when some members are there to sabotage, some are selfish or don't belong, and when deadlines and Sauron loom - you can still make it to the other side!
anonymous coward
+1 if only for the fact that my legal middle name from birth (and quoted on my birth certificate) is "Strider". No joke.
Avery Payne
@Strider - that is *excellent*. I suspect my parents at least discussed doing something similar.
Electrons_Ahoy
I call LotR the DBZ of books. You can read/watch for hours and nothing substance will happen.
acidzombie24
+3  A: 
Nick D
+10  A: 

Stranger in a strange land because every programmer should grok the word "GROK".

Jim Evans
+16  A: 
Kieran Hall
Great book. My opinion is that Banks writes solid literature that happens to be science fiction...certainly not cranked out pulp. This book is a great example. It's a shame he doesn't have a larger following in the States.If you read enough of his work you can put together a philosophy of how to do "nation building" that, to my non-political science trained ears, sounds pretty well thought out.
Al Crowley
I would add most of his culture novels to the list. Great author.
drawnonward
+9  A: 
Chalkey
His book World War Z is a far superior novel.
Hooked
@Hooked I don't think this book qualifies as a novel
fortran
A great book, and utterly serious.
SLC
A: 

JR by William Gaddis

The story is almost entirely dialog. No narration or explanation. It's like code without comments, but written so well that after a few pages, you don't even notice. Each person's way of speaking is unique and you can tell who is speaking by what they are saying. There is no need for 'JR said ...'

Forcing everything to come through dialog is very similar to writing code within the constraints of the compiler/interpreter and still produce the desired result.

And its a good story.

G_A
+1  A: 
docgnome
+5  A: 

My favorite book:

The Glass Bead Game

by Hermann Hesse

Only reason I can find why I would recommend it to other programmers is that
I'm a programmer myself and I really enjoyed it.

Arnis L.
+14  A: 
Don Johe
+6  A: 
Kelly French
A: 
Kuroki Kaze
+1  A: 
duplicate entry
U62
+1  A: 
Justin Johnson
This book brings back my university memories on the Formal Language class.
Thierry Lam
Were they good?
Barry Brown
I thought it was well written; however, a few more examples would have been nice in some of the earlier chapters. Good depth though
Justin Johnson
How is this not about programming?
MAK
+2  A: 
Jay
An absolutely incredible author ... and a wonderful book!
Sean Vieira
A: 

Digital Fortress by Dan Brown, very interesting.

gath
Really? That book made me *cringe* with its horrible, inaccurate, and silly descriptions of what computers are, how they work, etc. Ugh.
Stu Thompson
makes it very not programming related though :-)
jilles de wit
Oh my God! The stupidity! it hurts!
MAK
+2  A: 
Boldewyn
+5  A: 

The Singularity Is Near

by Ray Kurzweil

Surprised there hasn't been as many readers of this book as I initially thought. This book is about the Singularity, how AI will play into our future, and what we can do to be one with it. It challenges religion (please don't start any wars over it) and how ultra-intelligence will integrate with our race. Truly an amazing piece of literature, and so far I'm only about 100 pages in. great read if you want to think more "exponentially" and less "linearly".

BBetances
Kurzweil is optimistic to the point of insanity. His predictions are just flat-out silly.
Dana Robinson
Good book, but I see the exponential growth being deflated by the drag of the majority of the population that fears technological change. Best we can hope for is geometric growth. :-)
Brian Knoblauch
+1  A: 
ez
+2  A: 
pierr
+1  A: 
pierr
A: 
pierr
+1  A: 
Charlie
Is it meant to be "I con" on "ikon" or a bit of both?
Pete Kirkham
+9  A: 
RaYell
+1 to both The Road and Roadside Picnic. They have a similar setting and almost flow together.
A. Scagnelli
"One book per answer please", like the question says. Could you put the other one in a separate answer, so that the upvotes would be more meaningful. Of course you can then cross-link the answers etc.
Jonik
@Jonik > sorry about that, fixed by answers
RaYell
Great book. I just wonder why these 4 lines were so important to him: http://io9.com/5407850/what-cormac-mccarthy-insisted-on-keeping-in-the-road-movie
James Schek
A: 
pierr
A: 
pierr
+9  A: 
jkottnauer
The image link does not work (because of no image extension .gif, .png or .jpg ?)
Peter Mortensen
That's strange, it did work for me. I've just changed the link, it should work now properly.
jkottnauer
+1  A: 

Not a book really, but you should read The Last Question by Isaac Asimov.

Funky Dude
A: 
pierr
A: 
pierr
A: 

Happiness

by Will Ferguson

This is a really great read, although you might not learn anything, however I like to put it next to The Hitchhiker's Guide to the Galaxy on my bookshelf, and I think that says it all ;)

Rekreativc
+2  A: 
Chris Pebble
+4  A: 

Little Brother

by Cory Doctorow

This is a great book for readers of any age. Think 1984 mixed with Stealing the Network.

Mark Hammonds
+3  A: 
Mark Hammonds
"modals" -> "models" ?
Peter Mortensen
Good catch. Corrected.
Mark Hammonds
Good choice! See this talk for a foretaste of the book http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html
Stringer Bell
+17  A: 
Michał Piaskowski
This is one of my absolute favorite books.
jessegavin
+5  A: 
Chris Pebble
+6  A: 
Arcturus
+1 waiting for the last book
Joakim Elofsson
yeah.. it takes forever :) Did you know they are going to make a mini series on HBO? ;) Check George's livejournal here: http://grrm.livejournal.com/
Arcturus
ugh, horrid books imo.
Paul Nathan
This is my all time favorite fantasy trilogy. The fourth book not so much and the fifth is vaporware.
drawnonward
Haha.. I still have hope ;)
Arcturus
A: 

Dealers of Lightning

by Michael Hiltzik

A fantastic history of PARC and a time when we made progress instead of money.

David Broderick
This is actually a duplicate of: http://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/38441#38441
Jonik
Upvote that one and perhaps add a comment. I'll edit the cover image there too.
Jonik
-1 duplicate entry
bias
+10  A: 

Chaos: Making a New Science

by James Gleick

Anybody unfamiliar with chaos theory would definitely enjoy this book.

amischiefr
+30  A: 

Fahrenheit 451

by Ray Bradbury

Josh
I can't believe this one didn't make page 1!
Brian Clozel
Ray Bradbury is a great author
Wayne Werner
Somewhere there is a tramp who has memorised MSDN.
Pete Kirkham
+16  A: 
Mike Knowles
one of the most useful non-programming book I've ever read. I think every programmer should read this. I'm surprised this got so few up votes.
MAK
+1  A: 

Rebel Code: Linux and the Open Source Revolution

A good read about the genesis of Linux and the Open Source movement.

+3  A: 
cyberzed
+2  A: 

Anything for Charles Stross - enjoyed them all but want to point to halting state.

Charles Stross - Writers Site which includes Writings On Linux.

+1  A: 

Betty Edwards - Drawing on the Right Side of the Brain

If you're like me, thinking that drawing is an absolute no- go, this book is the answer. It opens up a complete new viewpoint on drawing in general and helps training your creative "brain mode".

caahab
+1  A: 
TimW
A: 

Claude Steiner - Scripts People Live

If you are interested in the social factor and how people are ticking this book provides a good background. It is very entertaining if you start observing some of these patterns in real life, and more important if you start working on your own shortcomings.

caahab
+5  A: 

Good to Great

by Jim Collins

Good to Great is a fascinating look at some of the factors that contribute to very successful companies. Jim Collins' definition of 'great' is exacting; companies that did at better than the market at least three times over a 15-year period (of a 40-year stretch) even when their markets were depressed. It is a refreshing text because at its core the message is well known to most software developers; its not enough to have an intelligent and passionate workforce, you also need the management flexibility in order really grow a company.

Full of data but an easy read, this is one of my favourite books and one I always recommend. If you have any interest in the process of business, I highly recommend it.

alt text

Dire Fungasaur
This book is fantastic. I'm a little surprised it doesn't have a few more votes.
Joe Philllips
Since the link is broken, and the post doesn't give the title, it's not that surprising.
Pete Kirkham
+4  A: 
Dano
A: 
TimW
+2  A: 
Brian Surowiec
+9  A: 
gabitoju
Ugh, worst book ever. Boring, pointless, and annoying!
Brian Knoblauch
Holy crap, what a phony
Rafe Lavelle
Horrible, crappy book. I never understood why people liked it. Salinger was a pompous ass.
Tim
+1  A: 
Rydell
+3  A: 
oxbow_lakes
Thank goodness for word processing software. When Steinbeck wrote the book he got halfway through and changed the direction completely, but didn't rewrite the first half so it basically reads like two half finished books stapled together.
Kurt
+1  A: 
Taylor Leese
+8  A: 
Taylor Leese
Good stuff! I need to keep looking for legends on this list.
bias
+10  A: 
Barry Brown
+3  A: 

H.P. Lovecraft complete works.

+1, Wish I could upvote more. I'm surprised at do few upvotes. Perhaps Lovecraft is not something many programmers read, and the likes of Harry Potter has a much bigger marketing machinery to get readers.
MAK
A: 

Blink:

This is an amazing book that details some very counter-intuitive conclusions about the LACK of THINKING actually predominates our decision process.

ennuikiller
-1 duplicate entry
Péter Török
+1  A: 

I'd recommend the Chinese classic "Outlaws of the Marsh". Aka "Water Margin". In particular, I found the Sidney Shapiro translation to be enjoyable.

Now, why would I recommend this for programmers? Well, what programmer doesn't have a bit of an outlaw side? And who among us is all that fond of management?

Broadly viewed, this book is about a bunch of people getting screwed over by authority, and going off to form their own society in a fortress while the government is busy running itself into the ground.

Many obstacles are thrown at them, but through cleverness and brotherhood they continually overcome them. Sound familiar?

BigBeagle
Did the version you read stop at the gathering of the 108 heroes? I read the 120 chapter Chinese version (I actually wrote a little tool for the primary purpose of learning Chinese in order to read this), and there are sad reminders later on that one can not rely on ability alone when dealing with seasoned political manipulators.
lins314159
Yeah, I read the whole thing. I just didn't want to talk about the ending. And they were doing pretty good for about 100 of those chapters;-)
BigBeagle
+1  A: 
JuanZe
Ha, I was going to add this. I bought it years ago, but still have yet to getting around to it. :P
Stu Thompson
+10  A: 

The Gospel of the Flying Spaghetti Monster

by Bobby Henderson

(Wiki link)

An elaborate spoof on Intelligent Design, The Gospel of the Flying Spaghetti Monster is neither too elaborate nor too spoofy to succeed in nailing the fallacies of ID. It’s even wackier than Jonathan Swift’s suggestion that the Irish eat their children as a way to keep them from being a burden, and it may offend just as many people, but Henderson, described elsewhere as a 25-year-old “out-of-work physics major,” puts satire to the same serious use that Swift did. Oh, yes, it is very funny.

alt text

Stu Thompson
+1  A: 

Ok, I didnt see it here but the Wheel of Time series by Robert Jordan.

astander
+1  A: 
Tuoski
+19  A: 
OscarRyz
Jonik
This book is astounding, he creates robots with laws that are logical and would definitely be the same were robots actually created, and he demonstrates with various short stories, some of the problems and interesting quirks these laws would produce.
SLC
+1  A: 
Vin
A: 

Maybe any kind of motivation books, articles will do the job for me :)

tawfekov
+12  A: 
Chap
+4  A: 
JDelage
Make sure you also read Fooled by Randomness by Nassim Taleb :)
U62
+1  A: 
Colin
Some of the worst writing ever, cribbed from a mashup of Dune and Lord of the Rings, that he stretched from a trilogy to four books to six to writing until he died. It's unbelievable how hard this series gets run into the ground. It starts digging for new lows before book seven.
Dean J
A: 
Colin
Jonik
+3  A: 
Anax
+1  A: 
Ram
+5  A: 
kenny
+2  A: 
dd
I think maybe because Microserfs hit right in the zeit-geist. When the net was still something rare, and where information didn't travel quite so fast across the globe. And when most of us, maybe weren't in the "enviroment" yet. At least, that was the case for me and Microserfs, which is why it holds a special place in my heart.
Svend
I couldn't get into this book, only the first chapter was interesting.
SLC
+3  A: 

The Black Swan: The Impact of the Highly Improbable

Martin Spamer
Please elaborate on why you think a given book is worth reading from a programmer's perspective
JuanZe
+1  A: 
Michael McCarty
+1  A: 
Gergely Orosz
+2  A: 

I recommend

The Emperor's New Mind

by Roger Penrose

Somehow in the line of Godel, Escher, Bach but, I think, easier to read.

jab
+2  A: 
James Morris
+8  A: 

The Cuckoo's Egg

by Cliff Stoll

Shows how important the traits like : perseverance, keeping log of things, innovative ways to try out various options are useful while tackling a problem

sateesh
-1 for duplicate
Péter Török
Can you please add the link to the duplicate. When I posted this answer I checked all the entries that were posted earlier and I don't recall seeing an earlier entry for this book. Maybe I might have missed the earlier entry.
sateesh
+10  A: 
RaYell
+2  A: 
gargantaun
+5  A: 
Svend
+5  A: 
meder
Oh yeah, Awesome!
Christopher Mahan
+2  A: 

Reasoning about Knowledge.

Highly mathematical, highly rewarding.

Sinan Ünür
+3  A: 
Joel
+8  A: 

Harry Potter! It'll give you insight into another arcane discipline practiced by weird and eccentrically-dressed people.

Ben
+3  A: 

The Drunkard's Walk by Leonard Mlodinow
A very good history of probability and statistics; the biographical pieces on the "founding fathers" are very entertaining, and a good part of the book also discusses the inadequacies of the human brain when dealing with randomness, which makes it a very useful guidebook on how to avoid dumb mistakes...

alt text

Mathias
+3  A: 

I believe Napoleon Hill's Think and Grow Rich is a must read.

sansknwoledge
+1  A: 

37 signal's Getting Real is an absolute must read. Its common sense stuff that many people ignore.

gweg
http://gettingreal.37signals.com/. And you would describe it as a non-programming book?
Jonik
Yes, it can be summed up as simply getting rid of uncessary bullshit in everything, such as yourself.
gweg
+5  A: 

Labyrinths, Jorge Luis Borges
This collection of short stories contains, among others, "The Library of Babel". Lifted from Wikipedia, I think this explains well how Borges' mind could appeal to the software engineer...

Borges's narrator describes how his universe consists of an endless expanse of interlocking hexagonal rooms, each of which contains the bare necessities for human survival—and four walls of bookshelves. Though the order and content of the books is random and apparently completely meaningless, the inhabitants believe that the books contain every possible ordering of just a few basic characters (letters, spaces and punctuation marks). Though the majority of the books in this universe are pure gibberish, the library also must contain, somewhere, every coherent book ever written, or that might ever be written, and every possible permutation or slightly erroneous version of every one of those books. The narrator notes that the library must contain all useful information, including predictions of the future, biographies of any person, and translations of every book in all languages. Conversely, for many of the texts some language could be devised that would make it readable with any of a vast number of different contents. Despite — indeed, because of — this glut of information, all books are totally useless to the reader, leaving the librarians in a state of suicidal despair. However, Borges speculates on the existence of the "Crimson Hexagon", containing a book that contains the log of all the other books; the librarian who reads it is akin to God.

alt text

Mathias
+3  A: 

alt text

Johnathan Strange & Mr. Norrell has absolutely nothing to do with programming on the surface, but I think it expresses exactly what it is like to be a software engineer.

The story is about magicians in England during the Napoleonic Wars. There has ceased to be any 'practical' magicians in England, and there are only 'theoretical' magicians. The plot centers around these two men who become 'practical' magicians. They are surrounded by people who do not understand anything about magic, and make ridiculous requests. When they try to explain why a certain piece of magic cannot be done, how long it would take, or that it has not been done for hundreds of years no one takes any notice. They are forced to dig deep, find what the root problems are and develop solutions and take decisive action. Usually their action is wrong in some way and always seems to upset some and please others.

I believe as software engineers we are very much like these men. Surrounded by business people that have problems, all of which seem to think they know the best way to solve them, but want you to do it. You must wade through all their proposed solutions and half explained problems in order to find the root issue solve it.

If you want to know what it is like being a software engineer, read this book.

Matthew Sowders
Excelent explanation. I particularly like the parallel you found between practical magicians and engineers
Al Crowley
A: 

I would heartily recommend Jennifer Government to any software developer. Amazon Wikipedia

It's a very fast paced action story that's excellent to clear your head with. It's a fun book to read (will make you laugh), and the characters are rather tragic (will make you feel more satisfied at work). This is one of those books that is hard to explain the content without fear that people will think you different and odd, but all the same you must tell everyone about (I.e. makes you talk to people).

lungic
A: 

Peak Performance by Jon R. Katzenbach

PJ
A: 

Could not put this one down, The Evolution of Cooperation by Robert Axelrod. Its a fascinating read and as game theory books go it's pretty accessible.

sgargan
-1 for duplicate
Péter Török
+2  A: 

Bill, the Galactic Hero

by Harry Harrison

alt text

Simply the funniest Science Fiction book ever written.

MannyNS
+2  A: 

The Road To Reality by Roger Penrose.

The Road To Reality

An undergraduate physics degree in a book written by one of the most important mathematicians alive.

Steve Graham
+2  A: 

The Blind Watchmaker, Richard Dawkins.

http://www.amazon.co.uk/Blind-Watchmaker-Richard-Dawkins/dp/0141026162/ref=sr%5F1%5F1?ie=UTF8&s=books&qid=1260799850&sr=8-1

Because Life is just another branch of Information Technology....

monojohnny
+1  A: 

alt text

Bleak House - Charles Dickens

Because I think everyone should read at least one Dickens novel in their life, and in my opinion this is his best.

Gordon Mackie JoanMiro
+1  A: 

alt text

Reading popular science in general is thoroughly enjoyable, and gives you new ideas through different perspectives. This book, a story of the active study of evolution over decennia in the Galapagos, is one of the best in this genre.

Peter Stuer
+2  A: 

Genius: Richard Feynman and Modern Physics

by James Gleick

This very well written biography of Richard Feynman is inspirational.

Peter Stuer
+14  A: 

xkcd volume 0

by Randall Munroe

I love his alt texts. They're just so damn funny.

It doesn't claim to offer any sound advice on anything, but it brings the day-to-day monotony down quite a bit and provides a great center piece on the coffee table; or you could just save your money and go to http://xkcd.com and find all the same content for free. :)

Nathan Taylor
*or you could just save your money and go to http://xkcd.com and find all the same content for free* .. well, you *could*, or you could show your support and get awesome margin doodles!
glasnt
+2  A: 

Dealing with people you can't stand:

http://www.amazon.com/Dealing-People-You-Cant-Stand/dp/0071379444

Dealing with People You Can't Stand: How to Bring Out the Best in People at Their Worst (Paperback) ~ Dr. Rick Brinkman (Author), Dr. Rick Kirschner (Author), Dr. Rick Kirschner (Author), Dr. Rick Brinkman (Author)

cartoonfox
+1  A: 

The Trial By Franz Kafka

alt text

This question of yours, Sir, about my being a house painter — or rather, not a question, you simply made a statement — is typical of the whole character of this trial that is being foisted on me. You may object that it is not a trial at all; you are quite right, for it is only a trial if I recognize it as such. But for the moment I do recognize it, on grounds of compassion, as it were. One can't regard it except with compassion, if one is to regard it at all. I do not say that your procedure is contemptible, but I should like to present that epithet to you for your private consumption.

Mindblowing!

excelsior
+2  A: 

This one is my Favorite :

alt text

streetparade
What is it about? Why would you recommend it for programmers especially?
Jonik
+1  A: 

The Peter Principle.

If you've ever wondered why your management hierarchy gets less competent as you go up the chain, this is a satirical but thought-provoking take on it. And if you find yourself in the (usually) unenviable position of making promotion decisions, it's a doubly-important read.

If you're not convinced yet, I'll set forth the book's central thesis:

In a hierarchy every employee tends to rise to his level of incompetence.
Arkaaito
A: 

"The Seven Habits of the Highly Effective People" by Stephen R Covey.... This book is relavant to all people especially professionals

Techiegirl
Sorry, this is a duplicate (posted several times actually). Look for it on the first page, and upvote that instead!
Jonik
+1  A: 

alt text

If you don't want your job to be outsourced (as have happened to many programmers) then you need to read this book, A Whole New Mind - Why Right-Brianers Will Rule The Future, actualize it, and put it into practice yesterday!

Marc
A: 

The Effective Executive

by Peter Drucker

(Book Image - Problem Loading)

A foundational and prescient work, from 1967, about the problem of time management in the modern information age.

Written for programmers, not [just] managers: The word "executive" in the title essentially means, to Drucker, any knowledge worker who manages multiple responsibilities within limited time and resources.

One famous principle emphasized by Drucker--that every programmer will recognize as critical--is the ability to maintain focus on a given task for a sufficient period of time, without being interrupted. Thus managing one's interruptions is a key part of effectiveness for the programmer-executive.

M.Bearden
+3  A: 

Physics of the Impossible

A Scientific Exploration into the World of Phasers, Force Fields, Teleportation, and Time Travel

by Michio Kaku

alt Physics of the Impossible

leoinfo
A: 

Speed Reading, by Robert L. Zorn:

alt text

Or any other Speed Reading text. Learning my own quirks about how I read has helped me to be conscious of other aspects of how I think. Having the ability to control my reading speed has proven to be invaluable. I still choose to read books for pleasure at my previous reading speed with all its flaws.

Kieveli
+1  A: 

The Stand by Stephen King

fARcRY
A: 

A Brief History of Everything by Ken Wilber.

Front cover

In the ambitiously titled A Brief History of Everything, Wilber continues his search for the primary patterns that manifest in all realms of existence. Like Hegel in the West and Aurobindo in the East, Wilber is a thinker in the grand systematic tradition, an intellectual adventurer concerned with nothing less than the whole course of evolution, life's ultimate trajectory—in a word, everything. . . . Combining spiritual sensitivity with enormous intellectual understanding and a style of elegance and clarity, A Brief History of Everything is a clarion call for seeing the world as a whole, much at odds with the depressing reductionism of trendy Foucault-derivative academic philosophy.

Péter Török
+2  A: 

Games People Play by Eric Berne.

alt text

IMHO it is a very useful aid to understand and deal with office politics (among others).

We think we’re relating to other people – but actually we’re all playing games.

Forty years ago, Games People Play revolutionized our understanding of what really goes on during our most basic social interactions. More than five million copies later, Dr. Eric Berne’s classic is as astonishing–and revealing–as it was on the day it was first published. This anniversary edition features a new introduction by Dr. James R. Allen, president of the International Transactional Analysis Association, and Kurt Vonnegut’s brilliant Life magazine review from 1965. We play games all the time–sexual games, marital games, power games with our bosses, and competitive games with our friends. Detailing status contests like “Martini” (I know a better way), to lethal couples combat like “If It Weren’t For You” and “Uproar,” to flirtation favorites like “The Stocking Game” and “Let’s You and Him Fight,” Dr. Berne exposes the secret ploys and unconscious maneuvers that rule our intimate lives. Explosive when it first appeared, Games People Play is now widely recognized as the most original and influential popular psychology book of our time. It’s as powerful and eye-opening as ever.

Péter Török
+a lot for this.
jamesh
A: 

Raymond Smullyan's other book is already on the list, but I couldn't find its sequel, The Lady or the Tiger?.

Front cover

"Another scintillating collection of brilliant problems and paradoxes by the most entertaining logician and set theorist who ever lived." — Martin Gardner.

Inspired by the classic tale of a prisoner's dilemma, these whimsically themed challenges involve paradoxes about probability, time, and change; metapuzzles; and self-referentiality. Nineteen chapters advance in difficulty from relatively simple to highly complex.

Péter Török
+2  A: 

Ursula LeGuin's Earthsea Quartet. Her chain of stories about Earthsea is deep and philosophical, refreshingly different from the average slash-dragons style fantasy stories.

alt text

A superb four-part fantasy, comparable with the work of Tolkien and C.S. Lewis, the "Earthsea" books follow the fortunes of the wizard Ged from his childhood to an age where magic is giving way to evil. As a young dragonlord, Ged, whose use-name is Sparrowhawk, is sent to the island of Roke to learn the true way of magic. A natural magician, Ged becomes an Archmage and helps the High Priestess Tenar escape from the labyrinth of darkness. But as the years pass, true magic and ancient ways are forced to submit to the powers of evil and death.

Péter Török
+2  A: 

The Game

Every programmer should read this book to learn how to pick up women.

The game

Shervin
-1 - this has nothing to do with being a programmer.
BeeBand
And the other books here does?
Shervin
+1  A: 

"Outliers" by Malcolm Gladwell

jean27
+1  A: 

I cast my vote for "Treatise on Efficacy: Between Western and Chinese Thinking" by Francois Jullien

alt text

This is a pretty accessible "philosophy" text on how Chinese and Western minds approach the concept of "efficient" and "effective". I found it very interesting and I think it would give some new insights to how manage complex processes.

  • Paperback: 220 pages
  • Publisher: University of Hawaii Press (July 1, 2004)
  • Language: English
  • ISBN-10: 0824828305
  • ISBN-13: 978-0824828301

Amazon Blurb:

In this highly insightful analysis of Western and Chinese concepts of efficacy, Francois Jullien subtly delves into the metaphysical preconceptions of the two civilizations to account for diverging patterns of action in warfare, politics, and diplomacy.

He shows how Western and Chinese stategies work in several domains (the battle-field, for example) and analyzes two resulting acts of war. The Chinese strategist manipulates his own troops and the enemy to win a battle without waging war and to bring about victory effortlessly.

Efficacity in China is thus conceived of in terms of transformation (as opposed to action) and manipulation, making it closer to what is understood as efficacy in the West. Jullien's brilliant interpretations of an array of recondite texts are key to understanding our own conceptions of action, time, and reality in this foray into the world of Chinese thought. In its clear and penetrating characterization of two contrasting views of reality from a heretofore unexplored perspective, Treatise on Efficacy will be of central importance in the intellectual debate between East and West.

p.marino
A: 

Yep the Dilbert Scott Adams

Soldier.moth
+5  A: 

Hagakure: The Book of the Samurai

alt text

Thoughts about honor, bravery and commitment from a Samurai perspective. When I had to go to talk/demo to a big audience and was nervous and wasn't that sure that everything works as it should, I used to quote the book to myself: "A samurai must consider himself already dead".

fish
Every programmer should know that badger skin underpants are a must for long campaigns!
Pete Kirkham
A: 

The Night's Dawn Trilogy by Peter F. Hamilton

Peter F. Hamilton depicts a fascinating future, and takes Sci-Fi to a whole new level! Technology, Theology, Philosophy, Politics - it's got it all! this trilogy is a must-read!

+2  A: 

I hope I can post a few books. If not, the first one is Johnathan Livingston Seagull

It's a really neat story about a seagull that decides there must be something more important than just bickering, squawking and fighting over food.

From wikipedia:

Jonathan Livingston Seagull, written by Richard Bach, is a fable in novella form about a seagull learning about life and flight, and a homily about self-perfection.

Wayne Werner
A: 

Happiness is a Choice by Barry Neil Kaufman

It's a great book that can help you understand you can choose how to feel. Turns out you can be responsible for a lot more of your emotions than you think.

Wayne Werner
+1  A: 

Something Wicked This Way Comes by Ray Bradbury. Not only is the title an allusion to William Shakespeare's MacBeth, but the story is intriguing as well.

Basically, you become a better person by reading Ray Bradbury. That's why his novels are still around.

Wayne Werner
A: 

For Whom The Bell Tolls by Ernest Hemingway. An excellent novel set in the Spanish hills during the Spanish Civil War. There's love, war, and death. It's beautiful and tragic. Reading this book helps you expand your ideas about that particular triad.

Wayne Werner
+5  A: 

I can't believe this one isn't posted yet!

The Princess Bride by William Goldman - it's one of the most hilarious books I have ever writtenread (Doh!), and much better (in ways) than the movie. Seriously, you haven't read this yet? Go now!

Wayne Werner
You wrote it? :D
Bobby
I just got too darn excited! What can I say? I love to read!
Wayne Werner
+2  A: 

alt text

For God, Country & Coca-Cola.

It is an inspiration of how something so random and so controversial had found a way to grow and become it's own market. It makes you think of how many things in life are "projects", and how poor/amazing decision making in design & management can change the whole course of an industry.

+1  A: 

This might not be a popular one, but

Gravity's Rainbow

by Thomas Pynchon

Gravity's Rainbow

Gravity's Rainbow is my favorite book of all time. I read through the whole thing last summer, and I'm in the process of reading it again. From a writer's point of view, it's pure, beautiful art. However, I recommend it here because it really forces the reader to think and make a lot of mental connections.

Of course, this book has a reputation for being impossible to finish. It's definitely the hardest book I've ever read. Pick it up at your own risk.

Maulrus
A: 

The entire Aubrey Maturin Series.

alt text

Tim
+1  A: 

Fortune's Formula

alt text

Information theory, betting, value of information, etc.

Fantastic read.

Tim
A: 

The Dirty Dozen

alt text

An analysis of the 12 worst Supreme Court decisions

Great and interesting book about how our liberties are being trodden on by the government. Libertarian viewpoint, but objective.

Tim
+1  A: 

Flirting for Dummies

Seriously — great book on communication and body language, a nice complement to How to Make Friends and Influence People.

Paul D. Waite
A: 

John R. Taylor, Classical Mechanics, is a very accessible text on classical mechanics. If you are to read only one book in physics, then this is a good choice (if you have basic knowledge in calculus and algebra).

Mathematics and physics are valuable to everyone working with computer simulations. But even if you aren't, logical thinking is always good, and it is always good to know a thing or two about the universe we live in.

Andreas Rejbrand
I had a look for this book on Amazon thinking I might be able to pick it up cheap; it's £42.74!! :-O
Tony
+2  A: 

Neuromancer was a bit long for me. William Gibson's Burning Chrome is a collection of early short stories by him; fifteen sideways views into a future social dystopia built on technology.

Dean J
+1  A: 

A phenomenally easy read on how to invest money, and more specifically, how not to invest money. It's a fun, quick read that will make the money you make from programming go farther.

Dean J