This is a poll [1] asking the Stackoverflow community what non-programming books they would recommend to fellow programmers.
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.
Note: this article [2] is similar and contains other useful suggestions.
by Douglas Adams
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
[1] http://rads.stackoverflow.com/amzn/click/0345453743by Dale Carnegie
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.
[1] http://rads.stackoverflow.com/amzn/click/1439167346This book will inspire anyone to think and be original.
[1] http://rads.stackoverflow.com/amzn/click/0393316041Another one from a different angle from prior posts: Gödel, Escher, Bach: an Eternal Golden Braid [1], by Douglas Hofstadter.
alt text http://upload.wikimedia.org/wikipedia/en/thumb/f/f1/GEBcover.jpg/200px-GEBcover.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0465026567The Design of Everyday Things by Donald A. Norman [1].
alt text http://ecx.images-amazon.com/images/I/719KFS67JBL._SL500_AA240_.gif [2]
[1] http://rads.stackoverflow.com/amzn/click/0465067107by David Allen.
alt text http://ecx.images-amazon.com/images/I/4104N6ME70L._SL500_BO2,OU01_AA240_SH20_.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0142000280Don't Make Me Think [1] by Steve Krug. An essential book about web usability. As Krug says, "Common sense isn't always obvious."
alt text http://ecx.images-amazon.com/images/I/51W8l2Zy3WL._SL500_AA240_.jpg [2]
(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.
[1] http://rads.stackoverflow.com/amzn/click/0789723107by Tom DeMarco and Timothy Lister
alt text http://ecx.images-amazon.com/images/I/51MlUgcSICL._SL500_BO2,-64_OU01_AA240_SH20_.jpg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0932633439by Robert M. Pirsig
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 [2]:
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:
Long story short its a good read :-)
[1] http://rads.stackoverflow.com/amzn/click/0061673730by Edward Tufte
Discusses how to graphically represent different types of complex data
[1] http://rads.stackoverflow.com/amzn/click/096139210Xby 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!
[1] http://rads.stackoverflow.com/amzn/click/0060512806by William Strunk & E.B. White
We got a copy in our R&D library after coming across Joshua Bloch's (of Effective Java fame) recommendation [2] 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 [3] 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 [4]. Perhaps he's an even better known figure around here than Josh Bloch ;)
[1] http://rads.stackoverflow.com/amzn/click/020530902XI can't believe I didn't see this already listed:
by Frank Herbert
Dune Cover http://upload.wikimedia.org/wikipedia/en/5/5a/FrankHerbert_Dune_1st.jpg [2]
Dune is the pinnacle of Sci-Fi novels!
[1] http://rads.stackoverflow.com/amzn/click/0441013597The Art of War - Sun Tzu
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... :)
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.
Snow Crash [1] By Neal Stephenson
alt text http://g-ecx.images-amazon.com/images/G/01/ciu/49/b4/8cbff0f9e7a0d2eb66a78110.L.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0553380958Lewis Carroll "Alice's Adventures in Wonderland"
Isaac Asimov's Foundation Series [1] is brilliant!
http://www.vavatch.co.uk/books/asimov/found1as.jpg
[1] http://www.vavatch.co.uk/books/asimov/Really? No one has yet mentioned the Lord of the Rings [1]?
alt text http://upload.wikimedia.org/wikipedia/en/6/62/Jrrt_lotr_cover_design.jpg [2]
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.
[1] http://en.wikipedia.org/wiki/Lord_of_the_ringsFlatland, by Abbott
A Brief History of Time [1] - Stephen Hawking
[1] http://rads.stackoverflow.com/amzn/click/055305340Xby C. S. Lewis
Imagine a demon "programming" a human...
[1] http://en.wikipedia.org/wiki/The_Screwtape_LettersBy William Gibson. He coined the term cyberspace, and the sprawl triology is the reason I wanted to be a code cowboy.
[1] http://en.wikipedia.org/wiki/Neuromancerby Mark Haddon
alt text http://g-ecx.images-amazon.com/images/G/01/ciu/d8/3c/71657220eca034a9e9c19010._AA240_.L.jpg [2]
It will give you some perspective of your odd co-workers.
[1] http://rads.stackoverflow.com/amzn/click/1400032717by Alan Cooper
alt text http://ecx.images-amazon.com/images/I/51AGVJzr9LL._SL500_BO2,204,203,200_AA219_PI.jpg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0672316498Philip K. Dick: Do Androids Dream of Electric Sheep? [1]
And everything else he wrote, of course:)
His mind-bending stories sure help to think more out of the box.
[1] http://www.amazon.ca/Do-Androids-Dream-Electric-Sheep/dp/0345404475by 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 [2].
Comments by
Julie
[3]:
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.
by Richard Dawkins [2]
A great book about evolution and strategies. In this book he also coins the concept about memes [3]
Richard Dawkins was a friend to Douglas Adams [4] and is appointed Simonyi [5] Professor of the Public Understanding of Science in the University of Oxford.
[1] http://en.wikipedia.org/wiki/The_Selfish_GeneCatch22 http://ecx.images-amazon.com/images/I/41F230P1N6L._SS500_.jpg [1]
"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.
[1] http://ecx.images-amazon.com/images/I/41F230P1N6L._SS500_.jpgby Steven Levitt and Stephen Dubner
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!
[1] http://rads.stackoverflow.com/amzn/click/0312863551by Ayn Rand
Helped me to understand the world and think outside the box.
[1] http://en.wikipedia.org/wiki/Atlas_ShruggedKevin Mitnick explains social engineering attacks
[1] http://en.wikipedia.org/wiki/The_Art_of_Deceptionby Andy Hunt
http://oreilly.com/catalog/covers/9781934356050_lrg.jpg
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"
[1] http://pragprog.com/titles/ahptl/pragmatic-thinking-and-learningGoing Postal by Terry Pratchett. Actually anything by Terry Pratchett but I have suggested this one because of his unique take on telecommunications.
[1] http://ecx.images-amazon.com/images/I/51JLZShSC1L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpgHere's a strange one for you all to think about.
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.
[1] http://rads.stackoverflow.com/amzn/click/0140283293The Joy of Sex, by Alex Comfort.
alt text http://ecx.images-amazon.com/images/I/21Ntf6%2BaLGL._SL500_AA216_.jpg [1]
Because all programmers need some distractions.
[1] http://ecx.images-amazon.com/images/I/21Ntf6%2BaLGL._SL500_AA216_.jpgby Scott Rosenberg ( Amazon [1] Wikipedia [2])
A great book about the development process. It also highlights how developers are doomed to keep repeating the same mistakes over and over again
[1] http://rads.stackoverflow.com/amzn/click/1400082463The Non-Designer's Design Book by Robin Williams
The Non-Designer's Design Book http://ecx.images-amazon.com/images/I/51u7SMEkJJL.jpg [1]
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 [2] is a fan too and he has far more to say about it than I want to post here.
[1] http://ecx.images-amazon.com/images/I/51u7SMEkJJL.jpgDon'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".
The Timeless Way of Building [1] by Christopher Alexander. This architecture book inspired the software design patterns movement.
[1] http://en.wikipedia.org/wiki/A_Timeless_Way_of_BuildingEvery 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.
by Tracy Kidder
http://ecx.images-amazon.com/images/I/51HE0AG1V8L.jpg
[1] http://rads.stackoverflow.com/amzn/click/0316491977The Tipping Point [1] is one of the best books that I have ever read.
[1] http://rads.stackoverflow.com/amzn/click/0316346624Dan Simons
http://crucialtaunt.com/popimages/books/Hyperion.jpg
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 :)
[1] http://books.google.com/books?id=uxTqmsv66RUC&dq=dan+simmons+hyperion&printsec=frontcover&source=bn&hl=en&ei=ekz0SaPZEYTF_Qbp-PTRCQ&sa=X&oi=book_result&ct=result&resnum=5I liked this one
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.
[1] http://www.amazon.ca/Pattern-Language-Towns-Buildings-Construction/dp/0195019199Anybody Can Be Cool — But Awesome Takes Practice
http://g-ecx.images-amazon.com/images/G/01/ciu/ba/f9/69847220eca0489514065010.L.jpg
Just because of the title.
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." [1]
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.
[1] http://orwell.ru/library/novels/Animal_Farm/english/efp_goSimon Singh's The Code Book [1] is a great book about how cryptography was born and how people is always trying to challenge it.
[1] http://rads.stackoverflow.com/amzn/click/0385495323Niccolo Machiavelli's The Prince [1]. After wondering why people acted so strangely at work, this book was the first of many, that taught me why.
[1] http://rads.stackoverflow.com/amzn/click/1440428034Why nobody posted?
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.
[1] http://en.wikipedia.org/wiki/I,_RobotThe Psychology of Computer Programming: Silver Anniversary Edition by Gerald M. Weinberg.
[1] http://ecx.images-amazon.com/images/I/518B8Q32VVL._SL250_BO2,204,203.jpgby Mihaly Csikszentmihalyi
alt text http://www.all-about-psychology.com/images/psychology-of-optimal-experience.jpg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0060920432A Short History of Nearly Everything [1] by Bill Bryson
[1] http://rads.stackoverflow.com/amzn/click/0767908171by Randall Munroe
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. :)
[1] http://store.xkcd.com/xkcd/#xkcdvolume0This 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.
by Dave Ramsey
The Total Money Makeover http://ecx.images-amazon.com/images/I/51MAB3XTFYL._SL500_AA240_.jpg [1]
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.
[1] http://ecx.images-amazon.com/images/I/51MAB3XTFYL._SL500_AA240_.jpgThere are so many. Pick of the day:
by Daniel Keyes
http://ecx.images-amazon.com/images/I/416FS402G8L._SS500_.jpg
Because coding is all about your cranial abilities.
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.
[1] http://en.wikipedia.org/wiki/How_to_Solve_ItI read The Player of Games [1] by Iain M Banks [2] 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 [3] and religion which is common in Banks' science fiction work.
The Player of Games http://ecx.images-amazon.com/images/I/410fggXV-5L._SS500_.jpg [4]
[1] http://www.amazon.co.uk/Player-Games-Culture-Iain-Banks/dp/1857231465/ref=sr_1_1?ie=UTF8&s=books&qid=1246485892&sr=1-1Nassim Taleb - The Black Swan and Fooled By Randomness [1].
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.
[1] http://www.fooledbyrandomness.com/by Scott McCloud.
cover http://www.scottmccloud.com/2-print/images/uc.jpg [2]
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.
[1] http://www.scottmccloud.com/2-print/1-uc/index.htmlby Jessica Livingston
Founders at Work cover http://www.foundersatwork.com/files/theme/bcm.gif [2]
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 [3] to see if it catches your interest. Gotta love the example about suits. :)
[1] http://www.foundersatwork.com/Simon Singh's Fermat's Last Enigma [1] 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.
[1] http://rads.stackoverflow.com/amzn/click/0385493622by 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.
[1] http://rads.stackoverflow.com/amzn/click/1592402038Joel Spolsky's list is quite good http://www.joelonsoftware.com/articles/FogCreekMBACurriculum.html. My favourites are Peopleware & Mythical Man Month
by Spencer Johnson
All about accepting change will happen. Can easily be read in an hour on a plane.
[1] http://en.wikipedia.org/wiki/Who_Moved_My_CheeseAnother 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.
Beyond Fear
[1] by Bruce Schneier.
Beyond Fear Book http://images.barnesandnoble.com/images/14590000/14596034.JPG
[2]
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...)
[1] http://rads.stackoverflow.com/amzn/click/0387026207The Tao of Pooh [1]
[1] http://rads.stackoverflow.com/amzn/click/0140067477Juggling for the Complete Klutz [1]
Juggling is mandatory. All programmers must juggle. Sorry, it's a rule.
[1] http://rads.stackoverflow.com/amzn/click/0932592007The Tao of Physics [1] by Fritjof Capra [2]
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 http://www.atom.rmutphysics.com/charud/oldnews/176/Tao/41R319CNA0L.jpg [3]
My second choice would be to read Neuromancer [4] by William Gibson (or watch The Matrix [5] which is along the same lines I guess).
[1] http://rads.stackoverflow.com/amzn/click/1570625190Masters of Doom [1] !!
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.
[1] http://rads.stackoverflow.com/amzn/click/0812972155by Timothy Ferriss
alt text http://images.barnesandnoble.com/images/13690000/13697117.JPG [2]
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 [3]:
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.
[1] http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?z=y&EAN=9780307353139&itm=1Stranger in a strange land [1] because every programmer should grok the word "GROK".
[1] http://rads.stackoverflow.com/amzn/click/0441788386Extracted from this answer [1].
I think this was covered pretty well in another question ( Best non-development book for software developers [1]).
[1] https://stackoverflow.com/questions/31274/best-non-development-book-for-software-developers#31453by 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 [2] to compliment the book as well as an included film on DVD [3]. There is also an audio book [4] narrated by the author and a blog [5].
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.
[1] http://www.brainrules.net/"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 http://ecx.images-amazon.com/images/I/5178BH5A3GL._SS500_.jpg [1]
see Amazon.com [2]
[1] http://ecx.images-amazon.com/images/I/5178BH5A3GL._SS500_.jpgWhat is the name of this book? [1], by Raymond Smullyan. It is a wonderful book of puzzles about the intricacies of logic.
[1] http://rads.stackoverflow.com/amzn/click/0671628321Made to Stick [1] written by Chip Heath and Dan Heath.
http://www.gettingattention.org/my_weblog/images/stick_03.gif
It can help improving your
presentations and ideas
[2], helping you
pitching your story
[3] behind your ideas.
But not any story.
One which is a:
And you will have a success ;)
alt text http://madetostick.com/resourcedownloads/images/presentationsthatstick_on.jpg [4]
[1] http://www.madetostick.com/by Vernor Vinge
book cover of A Deepness in the Sky http://ecx.images-amazon.com/images/I/512JJ470T4L._SX200_.jpg [2]
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 [3].
book cover of A Fire Upon the Deep. http://ecx.images-amazon.com/images/I/51NN90NW2PL._SX200_.jpg [4]
[1] http://en.wikipedia.org/wiki/A_Deepness_in_the_SkyJust in case...
The Zombie Survival Guide http://files.myopera.com/CthulhuSaves/blog/zombie_survival_guide.jpg [1]
[1] http://files.myopera.com/CthulhuSaves/blog/zombie_survival_guide.jpgby James Gleick
http://www.jedigirl.com/www/cool_books/chaos/chaos_book.gif
Anybody unfamiliar with chaos theory [2] would definitely enjoy this book.
[1] http://en.wikipedia.org/wiki/Chaos:_Making_a_New_Scienceby Garr Reynolds
Presentation Zen http://images.amazon.com/images/P/0321525655.01.LZZZZZZZ.jpg [1]
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!
[1] http://images.amazon.com/images/P/0321525655.01.LZZZZZZZ.jpgby Bobby Henderson
( Wiki link [1])
[1] http://www.venganza.org/worship/fsm-book/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.
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.)
by Eliyahu M. Goldratt and Jeff Cox
http://upload.wikimedia.org/wikipedia/commons/c/c4/TheGoalBook.JPG
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.
[1] http://rads.stackoverflow.com/amzn/click/0884270610The Illuminatus! Trilogy [1] 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.
[1] http://rads.stackoverflow.com/amzn/click/0440539811If you like post-apocalyptic science fiction books then these are probably a must-read:
The other one I recommend is here [1]
[1] https://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/1595302#1595302I can't believe nobody have mentioned " The Elegant Universe [1]" by Brian Greene. The Elegant Universe http://bookraft.com/elegantuniverse.gif [2]
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.
[1] http://en.wikipedia.org/wiki/The_Elegant_UniverseJust a great novel.
Jeffrey K. Liker - The Toyota Way ( Amazon link [1]). A good if at times semi-boring read, but loads of information from the company which invented Lean.
[1] http://rads.stackoverflow.com/amzn/click/0071392319by 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.
[1] http://en.wikipedia.org/wiki/After_Dark_%28novel%29Dale Carnegie - How to Stop Worrying and Start Living [1].
If you have read How to Win Friends, this should be next.
Originally taken from @John Channing's post.
[1] http://en.wikipedia.org/wiki/How_to_Stop_Worrying_and_Start_Living
If you give a mouse a cookie
[1] 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 :-) .
Drangonlance Chronicles - Margaret Weis & Tracy Hickman
alt text http://ecx.images-amazon.com/images/I/5144Y316RXL._SL500_AA240_.jpg [1]
[1] http://ecx.images-amazon.com/images/I/5144Y316RXL._SL500_AA240_.jpgby 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
[1] http://en.wikipedia.org/wiki/The_Cuckoo%27s_Egg_(book)Life of Pi: http://en.wikipedia.org/wiki/Life_of_Pi
Rick Cook - The Wiz Biz [1]
alt text http://ecx.images-amazon.com/images/I/51tNze8htiL._SL500_AA240_.jpg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0671878468by Andrew Hodges
Life of the first programmer.
[1] http://ecx.images-amazon.com/images/I/41KZPRKPFZL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpgby Hugh Sebag-Montefiore
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.
[1] http://rads.stackoverflow.com/amzn/click/0471490350Didn't see it listed yet.. soooo:
Song of Ice and Fire [1] series from George R.R. Martin [2]
By far one of the best fantasy books I have even read...
Song of Ice and Fire http://upload.wikimedia.org/wikipedia/en/1/1e/WikiFullASoIaFSizeEdit.JPG [3]
[1] http://en.wikipedia.org/wiki/A_Song_of_Ice_and_Fireby 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.
[1] http://www.jimcollins.com/article_topics/articles/good-to-great.htmlHarry Potter! It'll give you insight into another arcane discipline practiced by weird and eccentrically-dressed people.
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.
by Geoffrey A Moore
http://a7.vox.com/6a00b8ea07292c1bc000c11413238f22bd-500pi
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.
[1] http://en.wikipedia.org/wiki/Crossing_the_ChasmIf you live on the Unix side of the world, The Art of UNIX Programming [1] by Eric Raymond (see also here [2]). 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.
[1] http://rads.stackoverflow.com/amzn/click/0131429019Outliers: The Story of Success [1] by Malcolm Gladwell [2]
I just bought it on Audible [3] 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!
http://en.wikipedia.org/wiki/File:Outliers.png
[1] http://rads.stackoverflow.com/amzn/click/0316017922Mary Shelley's Frankenstein [1]
Every scientist/programmer should read this book. It tells you to know your limits and be bold at the same time.
[1] http://www.literature.org/authors/shelley-mary/frankenstein/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.
Women
Women http://g-ecx.images-amazon.com/images/G/01/ciu/20/f7/6c22619009a02265e5685110.L.jpg [1]
Just because people like Bukowski [2] always were able to get me away from my PC : tx!
[1] http://g-ecx.images-amazon.com/images/G/01/ciu/20/f7/6c22619009a02265e5685110.L.jpgby 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".
[1] http://en.wikipedia.org/wiki/The_Singularity_Is_Nearby Robert L. Glass
http://www.codinghorror.com/blog/images/facts-and-fallacies-of-software-engineering.jpg
One Flew Over the Cuckoo's Nest [1] 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.
[1] http://en.wikipedia.org/wiki/One_Flew_Over_the_Cuckoo%27s_Nest_%28novel%29
by Keith Ferrazzi
Comments from duplicate answer by
Flory
[2]:
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.
The Deadline by Tom DeMarco
The Deadline http://ecx.images-amazon.com/images/I/51NNN85FKKL._SL500_AA240_.jpg [1]
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.
[1] http://ecx.images-amazon.com/images/I/51NNN85FKKL._SL500_AA240_.jpgI'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.
Influence - the psychology of persuasion [2] is a great intro to the psychology of getting your way. An easy and interesting read, with lots of good examples.
[1] http://ecx.images-amazon.com/images/I/51X2BtrNanL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpgMy favorite book:
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.
by Tom DeMarco and Timothy Lister
Waltzing With Bears http://www.systemsguild.com/JPEGs/WWBCover.jpg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0932633609by Katie Hafner
alt text http://ecx.images-amazon.com/images/I/51M6VG0G1KL._SS500_.jpg [1]
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.
[1] http://ecx.images-amazon.com/images/I/51M6VG0G1KL._SS500_.jpgA Random Walk Down Wall Street [1]
Burton G. Malkiel
Nothing else will teach you better how to get a handle on your money.
[1] http://rads.stackoverflow.com/amzn/click/0393330338As well as the mentioned Gadwell's Tipping Point, Blink [2] is a good choice.
[1] http://rgr-static1.tangentlabs.co.uk/media/9781586217617/blink-the-power-of-thinking-without-thinking.jpgby 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 http://i33.tinypic.com/2yyywia.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0385312105Awesome novel by James Clavell that I would recommend to anyone - great storytelling, characters, plot. Toronaga is a brilliant character.
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 http://images.barnesandnoble.com/images/15250000/15257312.JPG [1]
[1] http://images.barnesandnoble.com/images/15250000/15257312.JPGHagakure: The Book of the Samurai
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".
I can't believe this one isn't posted yet!
The Princess Bride
[1] 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!
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.
by Michael Hiltzik
The story of Xerox PARC [1].
http://ebooks-imgs.connect.com/product/400/000/000/000/000/160/745/400000000000000160745_s4.jpg
[1] http://en.wikipedia.org/wiki/PARC_%28company%29Tolstoy'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.
Lessons Learned in Software Testing [1] by Kaner, Bach, and Pettigrew. Brilliant book, easy to read.
[1] http://rads.stackoverflow.com/amzn/click/0471081124I would recommend: " Code [1]" by Charles Petzold.
It completely opened my eyes on how computers actually work, explained and illustrated clearly. I learned that computers have no inherent understanding of numbers, letters, words or anything like that. These were human concepts and it was up to the computer programmer (at a very low level) to present they patterns of bits from computer memory to something users would find meaningful.
Despite its title, "Code" has nothing to do with coding, but explains how computers work at the electrical level.
[1] http://rads.stackoverflow.com/amzn/click/0735611319Awakening of Intelligence http://images.barnesandnoble.com/images/14690000/14690679.JPG [1]
[1] http://images.barnesandnoble.com/images/14690000/14690679.JPGOne hundred years of solitude [1]
by Gabriel Garcia Marquez
[1] http://rads.stackoverflow.com/amzn/click/0060929790I recommend Steven Pinker's " How the Mind Works [1]" - 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.
[1] http://www.amazon.co.uk/Mind-Works-Penguin-Press-Science/dp/0140244913Lateral Thinking: Creativity Step by Step [1]
alt text http://g-ecx.images-amazon.com/images/G/01/ciu/b6/9d/f197a2c008a098d37af75010._AA240_.L.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0060903252alt text http://img16.imageshack.us/img16/3228/walden.jpg [1]
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.
[1] http://img16.imageshack.us/img16/3228/walden.jpgI am really surprised to see the classic "Pride and Prejudice" by Jane Austen not posted yet!
It's a must read for every one.
Daniel Dennett's Consciousness Explained:
alt text http://static.bookdepository.co.uk/assets/images/book/large/9780/1401/9780140128673.jpg [1]
[1] http://static.bookdepository.co.uk/assets/images/book/large/9780/1401/9780140128673.jpgby Cory Doctorow
http://www.cs.duke.edu/courses/cps082/fall09/books/brothercover.jpg
This is a great book for readers of any age. Think 1984 mixed with Stealing the Network.
[1] http://en.wikipedia.org/wiki/Little_Brother_%28Cory_Doctorow_novel%29Great book just to laugh at what most of us in IT don't have the guts to do/be like.
I believe Napoleon Hill's Think and Grow Rich is a must read.
I like the collection offered by PersonalMBA.com [1] - 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.
[1] http://PersonalMBA.comDaniel Gilbert - Stumbling Upon Happiness [1]
The long version of Dan Gilbert's Ted Talk
Originally taken from @John Channing's post
[1] http://www.randomhouse.com/kvpa/gilbert/The Age of Spiritual Machines [1] by Raymond Kurzweil. I'll just quote from the linked page:
[1] http://www.kurzweilai.net/brain/frame.html?startThought=Age%20of%20Spiritual%20MachinesThis 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.
Rich Dad, Poor Dad: What the Rich Teach Their Kids About Money--That the Poor and Middle Class Do Not! by Robert T. Kiyosak
[1] http://ecx.images-amazon.com/images/I/5107ZDY0REL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg21st Century Jet: The Making of the Boeing 777 [1], 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.
[1] http://rads.stackoverflow.com/amzn/click/0330328905Herodotus - The Histories [1] - because a bloke at the other end of time still tells a good'n. Seriously.
[1] http://classics.mit.edu/Herodotus/history.htmlHard Boiled Wonderland and The End of the World by Haruki Murakami
If you're into science fiction then anything by Ian M. Banks and Peter F. Hamilton. Genius...it's like they've been there.
Universal Principles of Design [1], by William Lidwell, Kritina Holden, and Jill Butler
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.
[1] http://rads.stackoverflow.com/amzn/click/1592530079by
Michio Kaku
[2]
alt text http://ecx.images-amazon.com/images/I/51%2BC5YDPAPL.jpg
[3]
[1] http://rads.stackoverflow.com/amzn/click/0385477058There's a lot of space out there to get lost in.
-- John Robinson, Lost in Space
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.
I would highly recommend David Platt, Why software suck and what you can do about it.
alt text http://ecx.images-amazon.com/images/I/51KASPAA4PL._SL500_AA240_.jpg [1]
Many stories on what users can use and why you should be a wiser person when developing software, no programming included ;)
[1] http://ecx.images-amazon.com/images/I/51KASPAA4PL._SL500_AA240_.jpgSteinbeck's The Grapes of Wrath - because everybody should read this book. Even programmers.
alt text http://ecx.images-amazon.com/images/I/4116N72D7GL._SS500_.jpg [1]
[1] http://ecx.images-amazon.com/images/I/4116N72D7GL._SS500_.jpgH.P. Lovecraft complete works.
by Apostolos Doxiadis [2]
This is an inspiring tale about uncle Petros, a mathematician who became passionate about proving Goldbach's Conjecture [4] 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:
[1] http://tinyurl.com/yclo9xt/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.
The Black Swan: The Impact of the Highly Improbable [1]
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.
[1] http://rads.stackoverflow.com/amzn/click/1400063515ISHMAEL by Daniel Quinn "Teacher seeks pupil, must have an earnest desire to save the world. Apply in person."
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 http://images.barnesandnoble.com/images/26750000/26759719.JPG [1]
[1] http://images.barnesandnoble.com/images/26750000/26759719.JPG37 signal's Getting Real is an absolute must read. Its common sense stuff that many people ignore.
Johnathan Strange & Mr. Norrell [1] 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.
[1] http://en.wikipedia.org/wiki/Jonathan_Strange_&_Mr_NorrellThe Blind Watchmaker, Richard Dawkins.
Because Life is just another branch of Information Technology....
[1] http://www.amazon.co.uk/Blind-Watchmaker-Richard-Dawkins/dp/0141026162/ref=sr_1_1?ie=UTF8&s=books&qid=1260799850&sr=8-1Ursula LeGuin's Earthsea Quartet [1]. Her chain of stories about Earthsea is deep and philosophical, refreshingly different from the average slash-dragons style fantasy stories.
alt text http://ecx.images-amazon.com/images/I/51s00ojNXkL._SL500_AA300_.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/B002NBQEZ4A 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.
I hope I can post a few books. If not, the first one is Johnathan Livingston Seagull [1]
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:
[1] http://en.wikipedia.org/wiki/Jonathan_Livingston_SeagullJonathan 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.
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:
Just my thoughts!
I easily think Cryptonomicon [1] 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!
[1] http://en.wikipedia.org/wiki/CryptonomiconTimothy Ferris - The 4 Hour Work Week [1]
The book you need if you are working hard saving for a retirement that may never come.
Originally taken from @John Channing's post
[1] http://www.fourhourworkweek.com/For your first day on the job and right after you see what the previous programmer left behind.
[1] http://images.barnesandnoble.com/images/15820000/15829287.JPGLanguage, Truth, and Logic [1] 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.
[1] http://en.wikipedia.org/wiki/Language,_Truth,_and_LogicJoel Spolsky's "Best Software Writing I"
http://g-ecx.images-amazon.com/images/G/01/ciu/c3/07/d3a281b0c8a00bf4be45e110.L.jpg [1]
[1] http://rads.stackoverflow.com/amzn/click/1590595009My indication:
The World Is Flat [1] by Thomas L. Friedman
Great book for understand how information changed the world.
[1] http://www.thomaslfriedman.com/bookshelf/the-world-is-flatI'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 [1] - he writes about all the stuff most programmers are in to.
Just a few examples:
Robot [1] (No, not "I Robot") by Hans Moravec.
alt text http://www.foresight.org/updates/Update36/Images/Moravec.gif [2]
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.
[1] http://books.google.com/books?id=fduW6KHhWtQCMimsy Were the Borogroves [1] 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.
[1] http://en.wikipedia.org/wiki/Mimsy_Were_the_Borogovesalt text http://ecx.images-amazon.com/images/I/41fP3VnuV5L._SS500_.jpg [1]
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.
[1] http://ecx.images-amazon.com/images/I/41fP3VnuV5L._SS500_.jpgIf 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:
(as well as part two, they're great; Amazon [2]) and
alt text http://ecx.images-amazon.com/images/I/514J0Smy-kL._SL500_AA240_.jpg [3]
( Amazon [4])
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,
[1] http://ecx.images-amazon.com/images/I/61S58WJJGFL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpgSeveral important things: System thinking [2], System Archetypes [3], etc.
[1] http://rads.stackoverflow.com/amzn/click/0385260954Not a book really, but you should read The Last Question [1] by Isaac Asimov.
[1] http://www.multivax.com/last_question.htmlby Paul Freiberger and Michael Swaine Fire in the Valley Cover http://ecx.images-amazon.com/images/I/51JAGRS9FVL._SS500_.jpg [1]
The best history of the personal computer revolution I've ever read -- starting with the birth of the Altair 8800 [2] 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.
[1] http://ecx.images-amazon.com/images/I/51JAGRS9FVL._SS500_.jpgAnything for Charles Stross [1] - enjoyed them all but want to point to halting state.
Charles Stross - Writers Site [2] which includes Writings On Linux [3].
[1] http://en.wikipedia.org/wiki/Charles_StrossI found Zero: The Biography of a Dangerous Idea [1] 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 [2] which I have but haven't read yet so I can't comment on how it is.
alt text http://g-ecx.images-amazon.com/images/G/01/ciu/21/41/5265729fd7a0606dabeee010.L._AA300_.jpg [3]
[1] http://rads.stackoverflow.com/amzn/click/0140296476"Notes on the Synthesis of Form" [1], 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.
[1] http://en.wikipedia.org/wiki/Notes_on_the_Synthesis_of_FormJPod [1]
How was JPod not posted? It's like a (already posted) Microserfs [2] 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 [3]
[1] http://en.wikipedia.org/wiki/JpodI recommend
by Roger Penrose
Somehow in the line of Godel, Escher, Bach but, I think, easier to read.
[1] http://rads.stackoverflow.com/amzn/click/0140145346By Italo Calvino.
Two reasons you should read it:
Quoting Wikipedia:
[1] http://en.wikipedia.org/wiki/If_on_a_winter%27s_night_a_travelerThis 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.
Infinite Loop http://ecx.images-amazon.com/images/I/71HWAQGA8RL._SS500_.gif [1]
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.
[1] http://ecx.images-amazon.com/images/I/71HWAQGA8RL._SS500_.gifReasoning about Knowledge [1].
Highly mathematical, highly rewarding.
[1] http://books.google.com/books?id=xHmlRamoszMC&lpg=PR3&dq=Reasoning%20About%20Knowledge&pg=PA49#v=onepage&q=&f=falseby Harry Harrison
Simply the funniest Science Fiction book ever written.
[1] http://en.wikipedia.org/wiki/Bill,_the_Galactic_HeroThe Road To Reality [1] by Roger Penrose.
The Road To Reality http://ecx.images-amazon.com/images/I/51CT2RXTXQL._SL500_AA240_.jpg [2]
An undergraduate physics degree in a book written by one of the most important mathematicians alive.
[1] http://en.wikipedia.org/wiki/The_Road_to_RealityBleak House - Charles Dickens [1]
Because I think everyone should read at least one Dickens novel in their life, and in my opinion this is his best.
[1] http://www.gutenberg.org/catalog/world/readfile?fk_files=37089by James Gleick
This very well written biography of Richard Feynman [2] is inspirational.
[1] http://www.amazon.co.uk/Genius-Richard-Feynman-Modern-Physics/dp/0349105324Dealing with people you can't stand:
http://www.amazon.com/Dealing-People-You-Cant-Stand/dp/0071379444 [1]
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)
[1] http://rads.stackoverflow.com/amzn/click/0071379444This one is my Favorite :
alt text http://amdoar18ani.ro/wp-content/uploads/2009/07/Papillon_book.jpg [1]
[1] http://amdoar18ani.ro/wp-content/uploads/2009/07/Papillon_book.jpgA Scientific Exploration into the World of Phasers, Force Fields, Teleportation, and Time Travel
by Michio Kaku
[1] http://www.amazon.ca/gp/product/0307278824/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=485327511&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=0385520697&pf_rd_m=A3DWYIK6Y9EEQB&pf_rd_r=19PFZZ25TB33K07N9NPZGames People Play [1] by Eric Berne.
IMHO it is a very useful aid to understand and deal with office politics (among others).
[1] http://rads.stackoverflow.com/amzn/click/0345410033We 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.
The Game [1]
Every programmer should read this book to learn how to pick up women.
[1] http://rads.stackoverflow.com/amzn/click/0060554738alt text http://sodamuseum.com/sodapictures/02jul02/Ccgodbk.jpg [1]
For God, Country & Coca-Cola.
It is an inspiration of how something so random and so controversial had found a way to grow and become it's own market. It makes you think of how many things in life are "projects", and how poor/amazing decision making in design & management can change the whole course of an industry.
[1] http://sodamuseum.com/sodapictures/02jul02/Ccgodbk.jpgNeuromancer 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.
http://images.amazon.com/images/P/0156029634.01._SY190_SCLZZZZZZZ_.jpg
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.
by Robert Axelrod
cover http://ecx.images-amazon.com/images/I/51tB9I7p9OL._SL500_AA240_.jpg [2]
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
[3]:
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.
Beyond Code [1] by Rajesh Setty [2]
alt text http://images.barnesandnoble.com/images/14990000/14999122.JPG [3]
Also read these free manifestos
(Note: moved the other book to a separate answer)
[1] http://rads.stackoverflow.com/amzn/click/1590791029I would say that " Beyond Code - Learn to Distinguish Yourself in 9 Simple Steps [1]" 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] http://www.lifebeyondcode.com/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.
Flight of the Old Dog - Dale Brown.
High tech planes and shit getting blown up. =)
Questioning the Unquestionable and Thinking the Impermissible
by James P. Hogan
alt Kicking the Sacred Cow http://ecx.images-amazon.com/images/I/51jx5QpCqdL._SL500_AA240_.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0743488288The 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.
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 [1], 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] http://rads.stackoverflow.com/amzn/click/0451457765I think everyone should read '
Extremely Loud and Incredibly Close
[1]' 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.
The Humane Interface [1] by Jef Raskin.
You can see some of the effects of these ideas in Aza Raskin's (Jef's son) Enso project [2] and the Ubiquity [3] Firefox add-on.
[1] http://rads.stackoverflow.com/amzn/click/0201379376One Minute Manager [1] whether you're a manager or you have one.
[1] http://www.blanchardlearning.com/templates/product.asp?product=11989alt text http://ecx.images-amazon.com/images/I/51129HSMH1L._SS500_.jpg [1]
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] http://ecx.images-amazon.com/images/I/51129HSMH1L._SS500_.jpgCharles Perrow's "Normal Accidents" [1] 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).
[1] http://rads.stackoverflow.com/amzn/click/0691004129Short stories by Alice Munro.
Each one is an intricate puzzle, just as the most satisfying short programs are intricate puzzles.
cover http://ecx.images-amazon.com/images/I/51GMxO3YLjL._SL500_AA240_.jpg [2]
[1] http://www.amazon.co.uk/Intellectual-Property-Open-Source-Protecting/dp/0596517963/ref=sr_1_1?ie=UTF8&s=books&qid=1239322652&sr=8-1One of his books was already mentioned [1], but I'd like to add this:
by Fritjof Capra
http://ecx.images-amazon.com/images/I/41BQDT6BAFL._SL500_AA240_.jpg
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 [2] (good summary; all praise), two [3], more critical ones: three [4], four [5].
[1] https://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/111490#111490by Marshall McLuhan
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:
[1] http://en.wikipedia.org/wiki/Understanding_MediaMcLuhan 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".
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 [1] by William J. Higinson [2].
Book Cover http://www.freeimagehosting.net/uploads/0e495e717d.jpg [3]
I recommend reading/writing haiku as a way to relax.
[1] http://rads.stackoverflow.com/amzn/click/4770014309Code: The Hidden Language of Computer Hardware and Software
alt text http://www.chrismasto.com/delicious/images/255 [1]
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] http://www.chrismasto.com/delicious/images/255Introduction to Languages and the Theory of Computation.
alt text http://img.infibeam.com/img/9064971a/002/2/9780072322002.jpg [1]
A great book for understanding sets, languages, expressions, grammars y mas.
Contents:
The Four Steps to Epiphany [1]
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 http://ecx.images-amazon.com/images/I/51WD47TG0YL.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0976470705Concise, bare essential and time-less!
alt text http://ecx.images-amazon.com/images/I/51NCC3V2DSL._SL500_AA240_.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0887306128Very enjoyable book, good insight into Jobs and Apple and the large part they've played in computing history:
(sorry if this is already listed, I couldn't find it)
[1] http://ecx.images-amazon.com/images/I/51R1ACGEK5L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU02_.jpgRebel Code: Linux and the Open Source Revolution [1]
A good read about the genesis of Linux and the Open Source movement.
[1] http://www.amazon.co.uk/Rebel-Code-Linux-Source-Revolution/dp/0738206709/ref=ed_oe_pBetty Edwards - Drawing on the Right Side of the Brain [1]
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] http://www.drawright.com/Patterns for Introducing New Ideas
by Mary Lynn Manns and Linda Rising
To Infinity and Beyond!: The Story of Pixar Animation Studios
alt text http://ecx.images-amazon.com/images/I/41fl0n16j8L._SS500_.jpg [1]
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] http://ecx.images-amazon.com/images/I/41fl0n16j8L._SS500_.jpgalt text http://ecx.images-amazon.com/images/I/51YGWNH2VWL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg [1] alt text http://ecx.images-amazon.com/images/I/51QFP9CJR4L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg [2]
[1] http://ecx.images-amazon.com/images/I/51YGWNH2VWL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpgI'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?
Ok, I didnt see it here but the Wheel of Time series by Robert Jordan [1].
[1] http://books.google.co.za/books?as_auth=Robert+Jordan&source=an&ei=P-ilSrfBPIrbjQeKzpTEDg&sa=X&oi=book_group&ct=title&cad=author-navigational&resnum=5Charles 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.
[1] http://ecx.images-amazon.com/images/I/51t-oLr6N9L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpgLove is the Killer App [1] by Tim Sanders [2] - 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 http://images.barnesandnoble.com/images/19380000/19387940.JPG [3]
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] http://rads.stackoverflow.com/amzn/click/1400046831Robert Jordan's Wheel of Time, the sheer amount of text alone is awesome :-D. 12 books and counting (3 more I believe)
[1] http://www.audiobooksonline.com/media/The-Wheel-of-Time-In-the-Beginning-New-Spring-Robert-Jordan-unabridged-compact-discs.jpgThe Milkshake Moment [1]: Overcoming Stupid Systems, Pointless Policies and Muddled Management to Realize Real Growth by Steven Little
The Milkshake Moment http://images.barnesandnoble.com/images/26080000/26089755.JPG [2]
[1] http://rads.stackoverflow.com/amzn/click/0470257466alt text http://www.lafcpug.org/images_review_blink_eye_murch/blink_eye_murch.jpg [1]
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 [2]
[1] http://www.lafcpug.org/images_review_blink_eye_murch/blink_eye_murch.jpgSpin [1] by Robert Charles Wilson.
alt text http://www.fantasticfiction.co.uk/images/n28/n141886.jpg [2]
Another great science fiction novel.
[1] http://rads.stackoverflow.com/amzn/click/076534825Xfor those more into game development.
[1] http://rads.stackoverflow.com/amzn/click/0812972155alt text http://ecx.images-amazon.com/images/I/410T0FYSE6L._SS500_.jpg [1]
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] http://ecx.images-amazon.com/images/I/410T0FYSE6L._SS500_.jpgThe Trial By Franz Kafka
alt text http://ecx.images-amazon.com/images/I/41DE476V86L._SL500_AA240_.jpg [1]
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] http://ecx.images-amazon.com/images/I/41DE476V86L._SL500_AA240_.jpgThe Mind's I: Fantasies and Reflections on Self and Soul [1]
[1] http://www.shelfari.com/books/80379/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.
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 [1], actualize it, and put it into practice yesterday!
[1] http://rads.stackoverflow.com/amzn/click/1594481717The Stand [1] by Stephen King
[1] http://www.amazon.co.uk/Stand-Complete-Uncut-Stephen-King/dp/0450537374/ref=sr_1_3?ie=UTF8&s=books&qid=1270642629&sr=8-3"Outliers" by Malcolm Gladwell
I cast my vote for "Treatise on Efficacy: Between Western and Chinese Thinking" by Francois Jullien
alt text http://ecx.images-amazon.com/images/I/5110oFC3I-L._SL500_AA300_.jpg [1]
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.
Amazon Blurb:
[1] http://ecx.images-amazon.com/images/I/5110oFC3I-L._SL500_AA300_.jpgIn 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.
Something Wicked This Way Comes [1] 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] http://en.wikipedia.org/wiki/Something_Wicked_This_Way_Comes_(novel)This might not be a popular one, but
by Thomas Pynchon
Gravity's Rainbow http://ecx.images-amazon.com/images/I/4160804CXTL.jpg [2]
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] http://rads.stackoverflow.com/amzn/click/0140188592Information theory, betting, value of information, etc.
Fantastic read.
[1] http://rads.stackoverflow.com/amzn/click/0809046377Seriously — great book on communication and body language, a nice complement to How to Make Friends and Influence People.
[1] http://www.amazon.co.uk/Flirting-Dummies-Elizabeth-Clark/dp/toc/0470742593The 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.
The Hitchhikers Guide to the Galaxy. Best book I ever read.
Cryptonomican, unquestionably. A little warped, but really hilarious.
Michael Neil - You Can Have What You Want [1]
Densely packed with insights into how to be successful and happy.
Originally taken from @John Channing's post
[1] http://www.geniuscatalyst.com/Dan Lyons - Options: The Secret Life Of Steve Jobs [1]
Fake Steve Jobs in print.
Originally taken from @John Channing's post
[1] http://fakesteve.blogspot.com/Sensation & Perception [1] 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.
[1] http://rads.stackoverflow.com/amzn/click/0534558100This is now an unnecessary entry and Garth's review has been merged into the main entry on Zen and the Art of Motorcycle Maintenance [1].
Just to provide some more depth on Zen and the Art of Motorcycle Maintenance
[snip]
[1] https://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read#77875The First Quarter : A 25-year History of Video Games [1]. Unabashed old-school video game geekery.
alt text http://ecx.images-amazon.com/images/I/51CFS0CMH1L._SL500_AA240_.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0970475500The Economic Naturalist: Why Economics Explains Almost Everything [1] - 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.
[1] http://www.amazon.co.uk/Economic-Naturalist-Economics-Explains-Everything/dp/0753513382/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).
I recently read Never Eat Alone by Keith Ferazzi.
Never Eat Alone http://ecx.images-amazon.com/images/P/0385512058.01.AA110_SCLZZZZZZZ_V257715253_.jpg [1]
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.
[1] http://ecx.images-amazon.com/images/P/0385512058.01.AA110_SCLZZZZZZZ_V257715253_.jpgThis is similar to another question. Here is a link [1] to my answer over there.
Now, Discover Your Strengths [2] 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.
[1] https://stackoverflow.com/questions/31274/best-non-development-book-for-software-developers#174630Walter Murch's " In the Blink of an Eye [1]"
[1] http://rads.stackoverflow.com/amzn/click/1879505622The Thermodynamics of Pizza [1] 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.
[1] http://rads.stackoverflow.com/amzn/click/0813517745Eli Goldratt's The Goal - Sounds like a cliche, but it changed my life.
Secret Rendezvous [1] by Kobo Abe. Abe's the frickin' man, man.
But seriously, if you like Murakami, you owe it to yourself to check out Abe.
[1] http://rads.stackoverflow.com/amzn/click/0375726543"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.
"My System" by Aron Nimzowitsch.
It is the best chess manual ever.
Most world chess champions were geniuses. Nimzowitsch was a Guru.
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.
by George Lakoff
alt text http://www.press.uchicago.edu/Images/Chicago/0226468046.jpeg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0226468046Winning [1]
alt text http://ecx.images-amazon.com/images/I/51dP9NPESqL._SL500_AA240_.jpg [2]
[1] http://rads.stackoverflow.com/amzn/click/0061240176Who Says Elephants Can't Dance? [1]
[1] http://rads.stackoverflow.com/amzn/click/0060523808First Things First [1] - another equal great book from Stephen R. Covey [2].
[1] http://rads.stackoverflow.com/amzn/click/0684802031Awaken the Giant Within [1] by Anthony Robbins.
[1] http://rads.stackoverflow.com/amzn/click/0671791540by Will Ferguson
http://www.willferguson.ca/images/biggerbooks_happiness.jpg [2]
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 [3] on my bookshelf, and I think that says it all ;)
[1] http://www.willferguson.ca/books/happiness.htmlClaude Steiner - Scripts People Live [1]
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.
[1] http://www.claudesteiner.com/spl.htmSolving Problems and Selling Ideas with Pictures
by Dan Roam
alt text http://images.barnesandnoble.com/images/24900000/24905531.JPG [2]
[1] http://www.thebackofthenapkin.com/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).
I would heartily recommend Jennifer Government to any software developer. Amazon [1] Wikipedia [2]
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).
[1] http://rads.stackoverflow.com/amzn/click/1400030927Peak Performance by Jon R. Katzenbach
Could not put this one down, The Evolution of Cooperation [1] by Robert Axelrod. Its a fascinating read and as game theory books go it's pretty accessible.
[1] http://rads.stackoverflow.com/amzn/click/0465021212A 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.
[1] http://books.google.com/books?id=SB--XX_ndo4C&cd=1&source=gbs_ViewAPISpeed Reading, by Robert L. Zorn [1]:
alt text http://ecx.images-amazon.com/images/I/218T9Y9K94L._SL500_AA300_.jpg [2]
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.
[1] http://rads.stackoverflow.com/amzn/click/0061093017A Brief History of Everything [1] by Ken Wilber.
[1] http://rads.stackoverflow.com/amzn/click/1590304500In 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.
Raymond Smullyan's other book is already on the list [1], but I couldn't find its sequel, The Lady or the Tiger? [2].
Front cover http://ecx.images-amazon.com/images/I/51AdhAVJS4L._SL500_AA300_.jpg [3]
[1] https://stackoverflow.com/questions/38210/what-non-programming-books-should-programmers-read/180902#180902"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.
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!
Happiness is a Choice [1] 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.
[1] http://rads.stackoverflow.com/amzn/click/0449907996For Whom The Bell Tolls [1] 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.
[1] http://en.wikipedia.org/wiki/For_whom_the_bell_tollsThe entire Aubrey Maturin Series [1].
alt text http://img1.fantasticfiction.co.uk/images/n12/n61209.jpg [2]
[1] http://en.wikipedia.org/wiki/Aubrey%E2%80%93Maturin_seriesThe Dirty Dozen [1]
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.
[1] http://rads.stackoverflow.com/amzn/click/1935308270John 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.
Enders Game by Orson Scott card
The Fountainhead [1] 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] http://rads.stackoverflow.com/amzn/click/0452286751Blink [1]:
This is an amazing book that details some very counter-intuitive conclusions about the LACK of THINKING actually predominates our decision process.
[1] http://rads.stackoverflow.com/amzn/click/0316010669Maybe any kind of motivation books, articles will do the job for me :)
Pragmatic thinking and learning [1] written by Andy Hunt.
One step further: The Pragmatic Programmer [2]. Buy the PDF version, it is not expensive.
[1] http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-learningby Michael Hiltzik
A fantastic history of PARC [1] and a time when we made progress instead of money.
http://ebooks-imgs.connect.com/product/400/000/000/000/000/160/745/400000000000000160745_s4.jpg
[1] http://en.wikipedia.org/wiki/PARC_%28company%29"The Seven Habits of the Highly Effective People" by Stephen R Covey.... This book is relavant to all people especially professionals
Seven Habits of Highly Effective People by Steven Covey
The Elements of Style by Strunk & White
The Four Hour Work Week [1] by Tim Ferris. [Content removed - was merged with another entry.]
[1] http://www.thefourhourworkweek.comDigital Fortress by Dan Brown, very interesting.
You shouldn't read any non-programming books!
The Holy Bible [1]
Because you can't program forever and you shouldn't program just for yourself. Glorify God with your work. He can see your code.
[1] http://www.gnpcb.org/esv/Written in 1950, Dianetics: The Evolution of a Science [1] describes the optimum computer as an introduction to a science of the mind.
[1] http://rads.stackoverflow.com/amzn/click/0884043428