339

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here.

More info: http://stackoverflow.com/faq

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.

479

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

322

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.

317

Surely You're Joking, Mr. Feynman!

alt text

This book will inspire anyone to think and be original.

311

Nineteen Eighty Four

by George Orwell

1984

273

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

alt text

229

Getting Things Done

by David Allen.

alt text

215

The Mythical Man-Month

by Fred Brooks

The Mythical Man Month

199

Don't Make Me Think by Steve Krug. An essential book about web usability. As Krug says, "Common sense isn't always obvious."

alt text

(Hint: Amazon.com has good usability)

Update: This is now part of the library at work. I've gotten about five people to read it so far. 100% positive reviews, predictably.

185

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.

183

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 :-)

183

Ender's Game by Orson Scott Card

alt text

158

Cryptonomicon

by Neal Stephenson

Cryptonomicon by Neal Stephenson

This book follows parallel stories of a World War II code breaker and his present day descendant, and deals a lot with the development of computers (Alan Turing is actually a character in the book). A geek's must-read!

157

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

155

The Elements of Style

by William Strunk & E.B. White

alt text

We got a copy in our R&D library after coming across Joshua Bloch's (of Effective Java fame) recommendation for it:

This slim volume preaches the gospel of simplicity and clarity as it applies to English prose. If you take it to heart, it will improve your coding as well as your prose.

In another interview Bloch elaborates on why this is good for programmers:

I believe that reading Strunk and White will make you a better developer because good programming and good writing are both about clarity and economy of expression. You can't write good code or good prose unless you understand what it is you're trying to say. Many of Strunk and White's admonitions have direct analogues for software. For example, Strunk and White say, "Omit needless words!" where Andy Hunt and Dave Thomas ("The Pragmatic Programmers") say, "Don't repeat yourself." Strunk and White say, "Revise and Rewrite," where Martin Fowler says, "refactor." And the list goes on.

Now, personally I think some of the advice in The Elements of Style is a bit aged, as usage of English has evolved (e.g., nowadays it's quite ok to start a sentence with "However," or to use "hopefully" instead of "I hope"). But for the most part I agree with Mr Bloch, and enjoyed reading this.

Edit: Oh, here's what Jeff Atwood more recently had to say about The Elements of Style. Perhaps he's an even better known figure around here than Josh Bloch ;)

152

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!

141

The Art of War - Sun Tzu

The Art of War

Wikipedia: Much of the text is about how to fight wars without actually having to do battle: it gives tips on how to outsmart one's opponent so that physical battle is not necessary. As such, it has found application as a training guide for many competitive endeavors that do not involve actual combat.

This knowledge would surely be useful in the everyday "battles" we have to fight in and out of the office. It's also filled with quotes you can impress your fellow programmers with... :)

134

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.

120

Snow Crash By Neal Stephenson

alt text

114

Lewis Carroll "Alice's Adventures in Wonderland"

114

Isaac Asimov's Foundation Series is brilliant!

114

Really? No one has yet mentioned the Lord of the Rings?

alt text

In addition to being a spectacular piece of writing in it's own right, it's also the foundation of (almost all) modern fantasy fiction. (Also, and maybe more to the point for a group of computer programmers, one of the core inspirations for Dungeons & Dragons.)

Back a ways, the three books every programmer had to have read to be able to participate in the lunchtime conversation was the Lord of the Rings, Dune, and Hitchhiker's Guide. (This is a slight exaggeration.)

If you've only seen the movies, give the books a try.

From a technical perspective, the book's fundamental message that "unimportant" people can have a profound and positive effect on the world and organizations around them can be very hopeful to all of us doing "big corp" programming.

110

Flatland, by Abbott alt text

104

A Brief History of Time - Stephen Hawking

A Brief History Of Time - Stephen Hawking

83

The Screwtape Letters

by C. S. Lewis

Imagine a demon "programming" a human...

74

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

72

The Curious Incident of the Dog in the Night-Time

by Mark Haddon

alt text

It will give you some perspective of your odd co-workers.

66

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.

66

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.

62

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.

53

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.

46

Catch22

"Catch 22" by Joseph Heller. Not only is it a fantastically enjoyable read, it might also help to keep you sane if you work for a large corporation.

46

Freakonomics

by Steven Levitt and Stephen Dubner

cover

45

The Moon Is A Harsh Mistress

Amazon - Wikipedia

The Moon Is A Harsh Mistress

Written in 1966 this classic science fiction novel takes place on the penal colony Luna (the moon). The story is told by the only programmer/computer repairman on Luna, Manuel. Manuel has a secret. The master computer (Mike) that controls all of Luna has become a sentient AI and happens to have Manuel as its only friend. Mike is rough around the edges at first, its speech is fuzzy and it plays childish but dangerous jokes with its god-like abilities. As time wears on Mikes abilities fully develop into a mature being. With Manuel's guidance they will go on an adventure together that spurs the revolution of freeing Luna from Earth!

This novel is the first Robert A. Heinlein novels I have read but will certainly not be the last. The fact that this book was written in 1966 still astonishes me! It has barely any dated parts and could easily pass for a contemporary novel. It wont he Hugo award for best novel.

Truly one of the better "programmer" style novels I have read. Great adventure the whole way through. If anyone has a suggestion as to which Heinlein novel I read next, please leave a comment!

44

Atlas Shrugged

by Ayn Rand

Helped me to understand the world and think outside the box.

alt text

44

Microserfs

by Douglas Coupland.

alt text

38

The Art of Deception

Kevin Mitnick explains social engineering attacks

35

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"

34

Going Postal by Terry Pratchett. Actually anything by Terry Pratchett but I have suggested this one because of his unique take on telecommunications.

Going Postal

32

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.

32

Fahrenheit 451

by Ray Bradbury

31

The Joy of Sex, by Alex Comfort.

alt text

Because all programmers need some distractions.

30

Dreaming in Code

by Scott Rosenberg (Amazon Wikipedia)

Cover image

A great book about the development process. It also highlights how developers are doomed to keep repeating the same mistakes over and over again

29

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.

28

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".

27

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.

27

The Soul Of A New Machine

by Tracy Kidder

26

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

26

Hyperion

Dan Simons

The Hyperion saga (4 books). Everybody who thinks that SF is all about little green creatures fighting with robots in deep space of another galaxy should read this :)

25

I liked this one

A Pattern Language: Towns, Buildings, Construction

by Christopher Alexander.

This book is part 2 of a series, which includes "The Timeless Way of Building" (as part 1, also mentioned elsewhere in this thread), with a third part being a case study of Oregon University, where these patterns were applied.

Cover of "A Pattern Language"

24

Anybody Can Be Cool ? But Awesome Takes Practice

Just because of the title.

24

This is probably not going to be popular, but "If liberty means anything at all it means the right to tell people what they do not want to hear."

In the Beginning was the Command Line

by Neal Stephenson

It's very dated, but I have yet to find a single book (or essay for that matter) that gives a quasi-outsider's view of an industry that the public is apathetic to understand. The insights and descriptions are spot-on, even though the conditions have dramaticly changed over time.

In the Beginning was the Command Line

23

The Dilbert Principle

23

Simon Singh's The Code Book is a great book about how cryptography was born and how people is always trying to challenge it.

alt text

22

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.

22

Why nobody posted?

I, Robot

by Isaac Asimov

It is absolutely a must read.

Although it is non programming related, narrates the adventures of two robotic engineers and the strange "bugs" they have to solve.

Definitely a must read.

20

The Psychology of Computer Programming: Silver Anniversary Edition by Gerald M. Weinberg.

The Psychology of Computer Programming: Silver Anniversary Edition

20

The Cuckoo's Egg by Clifford Stoll.

19

Flow: The Psychology of Optimal Experience

by Mihaly Csikszentmihalyi

alt text

The best and most productive coding is done in a flow state. This is a psychological study of the phenomemon. Although the book is scientifically rigorous it remains accessible to the lay-person.

19

A Short History of Nearly Everything by Bill Bryson

alt text

18

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. :)

17

This one has been a great influence for me but you have to accept some of the premises of the author before you will have any chance of liking it...mainly, get out and stay out of debt.

The Total Money Makeover

by Dave Ramsey

The Total Money Makeover

For me this book brought on a complete lifestyle change. I no longer spend money I do not have and only have a mortgage left to go (and I want it gone so badly). I think it is an important book because people should know and remember what it is they are working for.

17

There are so many. Pick of the day:

Flowers for Algernon

by Daniel Keyes

Because coding is all about your cranial abilities.

17

How to Solve It by George Polya

alt text

This book outlines a heuristic approach to mathematical problem solving that applies in a general way to any analytical activity. I first read this book 24 years ago and it's one of the few still on my shelf. Polya defines the thinking process in a way that is inspiring and offers practical strategies for working through complex problems by applying a simple and consistent approach.

16

I read The Player of Games by Iain M Banks recently. Like all of his science fiction work, it's an engaging and well written book. As a programmer I found it particulary interesting as it discusses game theory. It also raises moral questions about AI and religion which is common in Banks' science fiction work.

The Player of Games

15

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.

15

Understanding Comics

by Scott McCloud.

cover

This book spends its first twoish chapters discussing comics and the rest is about Art, Communication and the Mind. I've found that after reading this book (which goes pretty quick, as it's in Graphic Novel form), my vocabulary for describing almost everything that lives in context of human interaction has grown enormously.

15

Founders at Work

by Jessica Livingston

Founders at Work cover

This is an interesting book about IT and software business: stories from the founders of tech startups. I'd recommend this, perhaps not to every programmer, but to almost anyone working in software / IT, as long as they take at least some interest in the business side of things, too.

I'm only halfway through myself, but so far I've particularly liked the stories by Mitchell Kapor (Lotus) and Max Levchin (Paypal). The one by Apple's Steve Wosniak is kinda interesting but gets a bit incoherent and repetitive. He also talks too much about technical stuff - like the number of chips used in Apple II design - having Steve Jobs tell the tale would've been much more interesting. : )

I think one moral you could take away from the book is that companies and their cultures can be quite different - if you don't like the one you're at, why not strive to change it, or, failing that, find a place that suits you better, or even start your own. On the other hand, many of the stories are simply entertaining, even if you really are not the entrepreneurial type at all.

Read the foreword by Paul Graham to see if it catches your interest. Gotta love the example about suits. :)

15

Simon Singh's Fermat's Last Enigma is one of the greatest books I have ever read.

This non-programming book has taught me a lot about running after the solution of a problem, no matter how old and complex it is.

alt text

14

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.

13

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

12

Who Moved My Cheese?

by Spencer Johnson

alt text

All about accepting change will happen. Can easily be read in an hour on a plane.

12

The Fountainhead

Another Ayn Rand book, Atlas Shrugged, was already posted above but I suggest reading the Fountainhead first. I found it more accessible and reading it first give me a precursor to the sometimes more technical parts of Atlas Shrugged. Reading other philosophy texts will also help, of course.

A philosophical eye-opener, this is. It's a bit melodramatic to call it life-changing but it does give new insights in the way you live life and your relation to others - and morality in general.

12

Beyond Fear by Bruce Schneier.
Beyond Fear Book

From Amazon: "Schneier provides an interesting view of the notion of security, outlining a simple five-step process that can be applied to deliver effective and sensible security decisions. These steps are addressed in detail throughout the book, and applied to various scenarios to show how simple, yet effective they can be....Overall, this book is an entertaining read, written in layman's terms, with a diverse range of examples and anecdotes that reinforce the notion of security as a process".

Or just consider it a straight read on understanding what security means - whether for computers or in real life. It can give you the tools to handle the ginormous amounts of FUD we encounter every day.... And it's entertaining, besides. (Even got my father to read it, and he's enjoying it...)

12

The Tao of Pooh

alt text

11

Juggling for the Complete Klutz

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

11

The Tao of Physics by Fritjof Capra

One notable premise contained within this book reminds me of the saying "If you go far enough away, then you're on your way back home". For example, the Eastern and Western approaches to philosophy and science were so diametrically opposed for centuries but perhaps they're coming around the other side towards similar conclusions these days?

It may be 30 or so years old, but it's still very much worth the read.

alt text

My second choice would be to read Neuromancer by William Gibson (or watch The Matrix which is along the same lines I guess).

11

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.

11

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.

11

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

11

Extracted from this answer.

  • Arkady and Boris Strugatsky - Roadside Picnic

Roadside Picnic

10

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

10

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.

10

"The Ultimate History of Video Games" of course!

Why? Because in one book you get history, fun, anecdotes, business decisions, project management, opinions, wonderful quotes, the hardware and the software ... all in all portraying an industry that went through numerous cycles, ups and downs, deaths and reincarnations. But most of all: Steven Kent managed to make this book a very entertaining read, you'll be captivated by each chapter.

alt text

see Amazon.com

10

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

10

Made to Stick written by Chip Heath and Dan Heath.

It can help improving your presentations and ideas, helping you pitching your story behind your ideas.
But not any story.
One which is a:

  • Simple
  • Unexpected
  • Concrete
  • Credible
  • Emotional
  • Story

And you will have a success ;)

alt text

10

A Deepness in the Sky

by Vernor Vinge

book cover of A Deepness in the Sky

Pham Nuwen is my ultimate Programmer Hero. The way it describes him searching through the ship's systems to find old programs and turn them to new uses.

I also like the description of "archaeologist programmers" at the start of A Fire Upon the Deep.

book cover of A Fire Upon the Deep.

10

Just in case...

The Zombie Survival Guide

10

Chaos: Making a New Science

by James Gleick

Anybody unfamiliar with chaos theory would definitely enjoy this book.

10

Presentation Zen

by Garr Reynolds

Presentation Zen

At some point in your school or career you'll have to make a presentation. It could be to introduce a new product or service; convince your boss or peers on a contentious topic; or simply talk about last weekend's fishing trip.

We've all seen the same old boring presentations: screen after screen of bulleted lists with the person at the front of the room just reading from the slides.

Don't do it that way!

The projected slides should support the presenter by illustrating key points and attaching an emotional response to them so they are more easily remembered. This book will teach you some design skills for making presentations with punch!

10

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

9

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.)

9

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.

9

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.

9

If you like post-apocalyptic science fiction books then these are probably a must-read:

  • Cormac McCarthy - The Road

The Road

The other one I recommend is here

9

I can't believe nobody have mentioned "The Elegant Universe" by Brian Greene. The Elegant Universe

I definitely recommend this to anyone who's interested in quantum physics, universe, and things like that, the main topic of this book is the string theory.

9

The Catcher in the Rye

The Catcher in the Rye

Just a great novel.

8

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.

8

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.

8

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.

8

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 :-) .

8

Drangonlance Chronicles - Margaret Weis & Tracy Hickman

alt text

8

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

7
7

Rick Cook - The Wiz Biz

alt text

This is a compilation of the first two novels in a series, called 'Wizard's Bane' and 'Wizardry Compiled', respectively.

It all began when the wizards of the White League were under attack by their opponents of the Black League and one of their most powerful members cast a spell to bring forth a mighty wizard to aid their cause. What the spell delivers master hacker Walter "Wiz" Zumwalt. With the wizard who cast the spell dead, nobody can figure out what the shanghaied computer nerd is good for--because spells are not like computer programs.

Lots of in jokes for the Unix/Linux crowd to enjoy. Pretty much anybody in the software industry will enjoy it, I think.

7

Turing

by Andrew Hodges

Turing (The Great Philosophers Series) (Paperback)

Life of the first programmer.

7

Enigma: The Battle for the Code

by Hugh Sebag-Montefiore

alt text

Having a bad week at work? Well at least when you can't figure out some algorithm people aren't dying in their hundreds in the freezing North Atlantic waiting on you to work it out.

As well as being a great read about the dawn of the modern computing age, this book can help with perspective.

7

Didn't see it listed yet.. soooo:

Song of Ice and Fire series from George R.R. Martin

By far one of the best fantasy books I have even read...

Song of Ice and Fire

7

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

7

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

6

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.

6

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.

6

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.

6

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!

6

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.

6

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.

6

Women

Women

Just because people like Bukowski always were able to get me away from my PC : tx!

6

Waltzing With Bears

by Tom DeMarco and Timothy Lister

Waltzing With Bears

Great background on what managing risk means and lots of good tools for quantifying risks. They discuss a risk estimation tool which uses statistics to produce a pragmatic and reality-based understanding of the effects that risks will have on a given projects completion date and confidence level.

The prologue on "The Ethics of Belief" is not to be missed.

6

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".

5

Facts and Fallacies of Software Engineering

by Robert L. Glass

5

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

5

Never Eat Alone: And Other Secrets to Success, One Relationship at a Time

by Keith Ferrazzi

cover

Comments from duplicate answer by Flory:
I did not think that I would like it before I got the book but I really enjoyed it. It is basically about how to build a relationships. Prior to reading it I expected it to be very trite and about how to use people for your own ends. Instead it was the opposite in how to be used to everyone's ends. Very interesting.

5

The Deadline by Tom DeMarco

The Deadline

If you normally fall asleep while reading books about project management, give this one a try - I found the story simply fun to read yet learned a lot of solid basics while reading it, and if you ever had to do a project on an impossible timeline you'll feel right at home with this book.

5

How To Read A Book

Cover of How To Read A Book

I'm amazed no one has mentioned this book. It gives guidelines on how to critically read classical books of any genre and tradition. To quote the first sentence of the book itself:

This is a book for readers and for those who wish to become readers.

5

Influence

Influence - the psychology of persuasion is a great intro to the psychology of getting your way. An easy and interesting read, with lots of good examples.

5

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.

5

Where Wizards Stay Up Late: The Origins Of The Internet

by Katie Hafner

alt text

For anyone who has ever been curious as to the origins of the Internet. The book pulls from the shadows and brings to life some of the great minds that conspired to make the world as we know it possible.

5

A Random Walk Down Wall Street

Burton G. Malkiel

Nothing else will teach you better how to get a handle on your money.

Wikipedia article

alt text

5

alt text

As well as the mentioned Gadwell's Tipping Point, Blink is a good choice.

5

Hackers: Heroes of the Computer Revolution

by Steven Levy

Does a great job of outlining some of the eras in computing, from the enviroment that sprung up around the Tech Model Railroad Club at MIT, to the Homebrew Computing in the bay area, to the story of the game companies of the early 80s. Especially the MIT section has wonderful descriptions of hackers at work, doing what they do best (in a wholly non-technical writing style), bumming instructions, making the machine do their bidding, and in the mid-seventies, it describes the self-made community of hardware hackers (including Wozniak), who built their own computers. Hugely entertaining, and a good way to understand where some of these communities originate from (academics, hackers, tinkeres).

Cover for Hackers: Heroes of the Computer Revolution

5

alt text

Awesome novel by James Clavell that I would recommend to anyone - great storytelling, characters, plot. Toronaga is a brilliant character.

5

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

5

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".

5

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!

5

The Bible.

4

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.

4

Dealers of Lightning

by Michael Hiltzik

The story of Xerox PARC.

4

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.

4

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

4

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.

4

Awakening of Intelligence

4

One hundred years of solitude

by Gabriel Garcia Marquez

4

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.

4

alt text

These two classics are a must read. I find Thoreau a breath of fresh air. Of course Walden harkens back to a simpiler time when emails weren't life and death. I won't lie and say much of it isn't romanticised by the author but it is a nice take on doing without and doesn't leave you with a faint whiff of patchouli like "In To The Wild" does.

4

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.

4

Daniel Dennett's Consciousness Explained:

alt text

4

Little Brother

by Cory Doctorow

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

4

alt text

Great book just to laugh at what most of us in IT don't have the guts to do/be like.

4

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

3

Player Piano by Kurt Vonnegut

3

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.

3

Daniel Gilbert - Stumbling Upon Happiness

The long version of Dan Gilbert's Ted Talk

Originally taken from @John Channing's post

3

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.

3

Rich Dad, Poor Dad: What the Rich Teach Their Kids About Money--That the Poor and Middle Class Do Not! by Robert T. Kiyosak

alt text

3

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.

3

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

3

Hard Boiled Wonderland and The End of the World by Haruki Murakami

alt text

3

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

3

Universal Principles of Design, by William Lidwell, Kritina Holden, and Jill Butler

Universal Principles of Design

One of this biggest issues I have with many programs I have used is the lack of design put into the interface and into the product. This book goes in-depth describing how to enhance the usablilty within a interface. It also tells you all of the basic principals and rules of design, and they give many examples for many different applications whether its techinical or non-technical. The book reads a little like a college classroom book (and it probably is for many design schools), so it the not the most exciting thing to read, but I find the most informative when it comes to interface design.

3

The Right Stuff by Tom Wolfe

Amazon

3

Hyperspace: A Scientific Odyssey Through Parallel Universes, Time Warps, and the 10th Dimension

by Michio Kaku

alt text

There's a lot of space out there to get lost in.
-- John Robinson, Lost in Space

3

alt text

This book revolutionized the way I think about life. It also has given me many great ideas on how to add memory/prediction models to my software.

3

I would highly recommend David Platt, Why software suck and what you can do about it.

alt text

Many stories on what users can use and why you should be a wiser person when developing software, no programming included ;)

3

Steinbeck's The Grapes of Wrath - because everybody should read this book. Even programmers.

alt text

3

H.P. Lovecraft complete works.

3

Uncle Petros and Goldbach's Conjecture

by Apostolos Doxiadis

Uncle Petros and Goldbach's Conjecture

This is an inspiring tale about uncle Petros, a mathematician who became passionate about proving Goldbach's Conjecture and the tale is told from the eyes of his nephew, who is wondering about that mysterious 'uncle' nobody wants to talk about.

Book Review by the Mathematical Association of America:

The book is really the story of two generations of obsession, the one a quest for the solution to a mathematical problem, the other a young man's search for the truth about the uncle his family shuns and derides for having thrown away his life.

3

The Black Swan: The Impact of the Highly Improbable

alt text

This book as about why stock markets are not predictable like casinos and the lottary. It is very readable though querky. It will help you to understand when statistical techneques do not work, why math is not understanding, why project managers can't predict schedules and how they can with less effort.

The book does not go into heavy math but will give you a feal for when the math can and more ofter can not be used.

Author: Nassim Nicholas Taleb. Also wrote 'Fooled By Randomness'

Read it if you work with mathematics, statistics or finance - Or if you have a pension.

3

alt text

ISHMAEL by Daniel Quinn "Teacher seeks pupil, must have an earnest desire to save the world. Apply in person."

3

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

3

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

3

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.

3

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....

3

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.

3

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.

2

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!

2

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!

2

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

2

Anger Management - 6 Critical Steps to a Calmer Life

For your first day on the job and right after you see what the previous programmer left behind.

2

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.

2

Joel Spolsky's "Best Software Writing I"

2

My indication:

The World Is Flat by Thomas L. Friedman

Great book for understand how information changed the world.

2

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.
2

Robot (No, not "I Robot") by Hans Moravec.

alt text

Not only is it an imaginative view of where robots and humans may be heading, but he also throws in some stuff about orbital elevators and time circuits with probability fuses. Cool.

2

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.

2

alt text

Collected Works of G. K. Chesterton, vol 33: London News editorials

Chesterton was not a scientist or mathematician or anything like that, but I think his way of thinking should appeal to software people: applying rigorous logical deduction to all aspects of life. I think his newspaper editorials were among his best writing.

He was also a fountain of clever quotes. Like -- not an exact quote, this is from memory -- "People are always saying that young men are idealistic while old man are pragmatic. But as I have gotten older, I have lost none of my idealism, but all of my pragmatism. I still believe in democracy, I just no longer believe in Parliament. I still believe in freedom of the press, I just no longer believe in the London Times." In "The Ball and the Cross" he wrote that in the history of humanity, there have been only two institutions which have consistently stood for seeking truth and progress: physical science, and the Catholic church. Even as a Baptist I love that quote.

2

If you're a Python developer, you will not get around viewing Monty Python stuff. But to quickly look up a quote you find in any Python doc, I really recommend those:

alt text

(as well as part two, they're great; Amazon) and

alt text

(Amazon)

Reading doesn't give you the great look of a puzzled Michael Palin or the anger of a furious John Cleese, but it still is a worthwhile lecture.

Cheers,

2

The Fifth Discipline:.

Several important things: System thinking, System Archetypes, etc.

alt text

2

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

2

Fire in the Valley

by Paul Freiberger and Michael Swaine Fire in the Valley Cover

The best history of the personal computer revolution I've ever read -- starting with the birth of the Altair 8800 through the Apple I and first PCs. It is a fascinating look at the birth of microcomputing for those of us (like me) who weren't around to experience it.

2

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

Charles Stross - Writers Site which includes Writings On Linux.

2

I found Zero: The Biography of a Dangerous Idea to be pretty decent. He has a followup to this called Decoding the Universe: How the New Science of Information Is Explaining Everything in the Cosmos, from Our Brains to Black Holes which I have but haven't read yet so I can't comment on how it is.

alt text

2

"Notes on the Synthesis of Form", by Christopher Alexander, one of the best books about the process of design. Probably not so well known as Alexander's books on patterns, this book is a great mind opener.

Cover of "Notes on the Synthesis of Form"

2

JPod

alt text

How was JPod not posted? It's like a (already posted) Microserfs with internet. It's typical Coupland novel, must read for every techie, geek, webz hipster.

Here are some quotes

"You googled her?" "Of course I did. Didn't you?" I'd somehow forgotten to perform this essential task.

?After a week of intense googling, we?ve started to burn out knowing the answer to everything. God must feel that way all the time. I think people in the year 2020 are going to be nostalgic for the sensation of feeling clueless.?

?It turns out that only twenty percent of human beings have a sense of irony ? which means that eighty percent of the world takes everything at face value. I can?t imagine anything worse than that. Okay, maybe I can, but imagine reading the morning newspaper and believing it all to be true on some level.?

Amazon

2

I recommend

The Emperor's New Mind

by Roger Penrose

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

2

If on a Winter's Night a Traveller

By Italo Calvino.

alt text

Two reasons you should read it:

  • You like meta
  • You like twisted convoluted stories and not quite knowing what the hell is going on.

Quoting Wikipedia:

This book is about a reader trying to read a book called If on a winter's night a traveler. The first chapter and every odd-numbered chapter are in the second person, and tell the reader what he is doing in preparation for reading the next chapter. The even-numbered chapters are all single chapters from whichever book the reader is trying to read.

2

Infinite Loop

Not just about Apple, but a great behind the scenes look at Microsoft and all the other big players at the time. And essentially history lesson for anyone who makes their money out of making computers do things.

2

Reasoning about Knowledge.

Highly mathematical, highly rewarding.

2

Bill, the Galactic Hero

by Harry Harrison

alt text

Simply the funniest Science Fiction book ever written.

2

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.

2

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.

2

Genius: Richard Feynman and Modern Physics

by James Gleick

This very well written biography of Richard Feynman is inspirational.

2

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)

2

This one is my Favorite :

alt text

2

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

2

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.

2

The Game

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

The game

2

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.

2

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.

2

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.

1

The Evolution of Cooperation

by Robert Axelrod

cover

How to work effectively with people in a competitive work place. A bit dry and academic, but it has loads of useful information.

Originally taken from @John Channing's post

Comments by Daniel:
I'm not sure I can express why I think this book is important. It has to do with logic and philosophy, which are both important to programmers if they mean to grasp the harder concepts. Also, it's a good mental exercise. Finally, required reading for any work on multi-agent systems.

1

Beyond Code by Rajesh Setty

alt text

Also read these free manifestos

  1. 25 Ways to Distinguish Yourself
  2. Making the Most of Your Time: Going Beyond To-Do Lists

(Note: moved the other book to a separate answer)

1

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

1

Matt Ruff: Fool on the Hill

I love it!

1

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.

1

Flight of the Old Dog - Dale Brown.

High tech planes and shit getting blown up. =)

1

Kicking the Sacred Cow

Questioning the Unquestionable and Thinking the Impermissible

by James P. Hogan

alt Kicking the Sacred Cow

1

The first chapter of 'Espresso Coffee: The Science of Quality", edited by Andrea Illy and Rinantonio Viani, which does a great job defining what quality is and how it can be measured both scientifically and subjectively.

alt text

1

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

1

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.

1

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.

1

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

1

alt text

Design for the Real World by Victor Papaneck is a little outdated in some of the views and opinions but anyone involved in the design process should read it. Some of the lessons and skills taught are essential and timeless, but most computer programmers are involved in the design process in one way and a book that gives such a good grounding in the skill of design is an essential read.

1

Charles Perrow's "Normal Accidents" investigates what can happen when complex technology goes horribly wrong, and formulates his theory of the "normal accident": complex, tightly coupled systems will have accidents, because minor faults interact with catastrophic consequences. We see this all the time in programming and systems administration, and yet, as far as I know, few of these concepts are understood outside safety engineering.

(He also writes very well, and brings life to what could have been a rather dry book).

alt text

1

Short stories by Alice Munro.

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

1

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.

1

Understanding Media: The Extensions of Man

by Marshall McLuhan

alt text

A book that every technologist should read, especially regarding "social media". Every chapter is a discussion of a technology or medium, and how it changes our individual and collective behavior through a reconfiguration of sense perception.

It was written in 1964 and still presages social and psychological aspects of technology we continue to encounter. It profoundly impacted my education and ongoing search for metaprinciples in designing, inventing, communicating, and thinking about technology in general.

From Wikipedia:

McLuhan says that the conventional pronouncements fail in studying media because they pay attention to and focus on the content, which blinds them to see its actual character, the psychic and social effects. Significantly, the electric light is usually not even regarded as a media because it has no content. Instead, McLuhan observes that any medium "amplifies or accelerates existing processes", introduces a "change of scale or pace or shape or pattern into human association, affairs, and action", resulting in "psychic, and social consequences"; this is the real "meaning or message" brought by a medium, a social and psychic message, and it depends solely on the medium itself, regardless of the 'content' emitted by it. This is basically the meaning of "the medium is the message".

1

I've been really enjoying haiku recently. To that end, I'd very strongly recommend The Haiku Handbook: How to Write, Share, and Teach Haiku by William J. Higinson.

Book Cover

I recommend reading/writing haiku as a way to relax.

1

Code: The Hidden Language of Computer Hardware and Software

alt text

This book is a great read for anyone interested in how computers work from a very high level. The material starts by discussing the whole idea of communication and eventually builds up into computers in today's day and age. Very fun read, not dry at all, and will keep you reading until the very end.

1

Introduction to Languages and the Theory of Computation.

alt text

A great book for understanding sets, languages, expressions, grammars y mas.

Contents:

  • Basic Mathematical Concepts
  • Regular Languages and Finite Automata
  • Context-Free Languages and Pushdown Automata
  • Turing Machines and Their Languages
  • Unsolvable Problems and Computable Functions (impress your friends!)
  • Introduction to Computational Complexity
1

The Four Steps to Epiphany

I can not believe this book has never been mentioned!! It is one of the best book about product management I have read in years. If you are working for a startup, it is a must read.

alt text

1

The Effective Executive

Concise, bare essential and time-less!

alt text

1

Very enjoyable book, good insight into Jobs and Apple and the large part they've played in computing history:

alt text

(sorry if this is already listed, I couldn't find it)

1

Rebel Code: Linux and the Open Source Revolution

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

1

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".

1

Fearless Change

Patterns for Introducing New Ideas
by Mary Lynn Manns and Linda Rising

alt text

1

To Infinity and Beyond!: The Story of Pixar Animation Studios

alt text

The story of a few guys who set out to create the first animated feature. I enjoyed it from the standpoint of seeing how these individuals made a company where the creativity that we are all familiar with could thrive.

1
  • Dark Elf Trilogy - R.A. Salvatore
  • Icewind Dale Trilogy - R.A. Salvatore

alt text alt text

1

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?

1

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

1

Charles Bukowski - Post Office

This books is great and so funny. I also like other Bukowskis books, but this is the most famous and the best in my opinion.

alt text

1

Love is the Killer App by Tim Sanders - it's for every professional.

Nothing too programmer-specific, but being in the industry that we are, it helps immensly to have a positive mindset depicted in this book.

alt text

Note: I had to move this book from my previous answer to here, to comply with the question's specific rule that one post -> one answer

1

Robert Jordan's Wheel of Time, the sheer amount of text alone is awesome :-D. 12 books and counting (3 more I believe)

alt text

1

The Milkshake Moment: Overcoming Stupid Systems, Pointless Policies and Muddled Management to Realize Real Growth by Steven Little

The Milkshake Moment

1

alt text

I'm not a film editor but I found what Walter Murch had to teach about what's behind the blink of an eye and human behavior as fascinating and insightful. Well worth the read.

LAFCPUG Review of the book

1

Spin by Robert Charles Wilson.

alt text

Another great science fiction novel.

1

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.

1

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!

1

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.
1

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!

1

The Stand by Stephen King

1

"Outliers" by Malcolm Gladwell

1

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.

1

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.

1

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.

1

Fortune's Formula

alt text

Information theory, betting, value of information, etc.

Fantastic read.

1

Flirting for Dummies

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

0

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.

0

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

0

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

0

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

0

Dan Lyons - Options: The Secret Life Of Steve Jobs

Fake Steve Jobs in print.

Originally taken from @John Channing's post

0

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.

0

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]

0

The First Quarter : A 25-year History of Video Games. Unabashed old-school video game geekery.

alt text

0

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.

0

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).

0

I recently read Never Eat Alone by Keith Ferazzi.

Never Eat Alone

I did not think that I would like it before I got the book but I really enjoyed it. It is basically about how to build a relationships. Prior to reading it I expected it to be very trite and about how to use people for your own ends. Instead it was the opposite in how to be used to everyone's ends. Very interesting.

0

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.

0

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

0

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.

0

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

0

Secret Rendezvous by Kobo Abe. Abe's the frickin' man, man.

http://www.fantasticfiction.co.uk/images/n4/n24878.jpg

But seriously, if you like Murakami, you owe it to yourself to check out Abe.

0
0

"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.

0

"My System" by Aron Nimzowitsch.

It is the best chess manual ever.

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

0

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.

0

Women, Fire, and Dangerous Things

by George Lakoff

alt text

It's a book about how people categorize things, and about reasoning in general. It's long and extremely boring for some people, but it is still great.

0

Winning

alt text

0

First Things First - another equal great book from Stephen R. Covey.

alt text

0

Awaken the Giant Within by Anthony Robbins.

alt text

0

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 ;)

0

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.

0

The Back of the Napkin:

Solving Problems and Selling Ideas with Pictures
by Dan Roam

alt text

0

And my absolute favourite, the hyperion saga, by Dan Simmons, the way he doesn't describe everything but lets you guess on your own what a certain piece of future tech does (he only gives it a name and what it's used for you have to make up yourself when reading).

alt text

0

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).

0

Peak Performance by Jon R. Katzenbach

0

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.

0

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.

0

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.

0

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.

0

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.

0

Yep the Dilbert Scott Adams

0

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!

0

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.

0

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.

0
0

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.

0

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.

0

JPod:) It's funny and it's about programmers.

-1

Enders Game by Orson Scott card

alt text

-1

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.

-1

Blink:

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

-1

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

-1

I'm surprised nobody has yet mentioned the 7 Habits of Highly Effective People, by Steven Covey.

alt text

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.

-2

Pragmatic thinking and learning written by Andy Hunt.

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

-2

Dealers of Lightning

by Michael Hiltzik

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

-2

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

-3

Seven Habits of Highly Effective People by Steven Covey

The Elements of Style by Strunk & White

-3

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

-3

Classic science fiction, by creator of the "cyberspace" word ;) and much more: Gibson@wikipedia

alt text

-5

Digital Fortress by Dan Brown, very interesting.

-5

joel on software - you can read some of the articles in here.

-6

This post has been removed as it contained multiple answers. However, the books cited were good recommendations so the have been given individual answers.

Vote this answer down to get it removed.

-8

You shouldn't read any non-programming books!

-8

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.

-42

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