What non-programming books should a programmer read to help develop programming/thinking skills? [closed]

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/966

  •  16-10-2019
  •  | 
  •  

Question

There are a lot of questions about what programming books should be on the programmer's bookshelf. How about non-programming related books that can help you become a better programmer or developer? It would also be interesting to know why they would help.

My first choice would be Sun Tzu's "Art of War" (however cliché), because it made it obvious that the success of any project depends on the strength of its weakest link (and warfare is a big project).

Was it helpful?

Solution

OTHER TIPS

Getting Things Done

David Allen

Cover

Gödel, Escher, Bach: An Eternal Golden Braid by Douglas Hofstadter.

If you haven't read this, put it on your list. It's still breathtaking over 30 years later. While I am a Strange Loop contains a more complete and convincing argument about where consciousness comes from, GEB explores the realms of symmetry, intelligence and logic systems through the music of Bach, the mathematics of Gödel and the art of Escher. It's as infuriating and entertaining as it sounds.

Gödel, Escher, Bach: An Eternal Golden Braid

How to win friends and influence people

As mentioned here: What non-programming books should programmers read? "How to win friends and influence people" is a VERY good book.

You don't acquire programming skills directly by this book, but indirectly I'll argue that you do. If you're not very good at dealing with people this will help you with socializing with people that may influence you and your programming skills.

The title of the book may sound a little superficial but it´s not. You learn what others do naturally, and Dale Carnegie encourage you not to be superficial.

Worth a read :-)

How to win friends and influence people

Don't Make Me Think! A Common Sense Approach to Web Usability

Relevant to all user interface design.

Also includes general common sense for design that every programmer should know.

Don't Make me think

The Art of War Sun Tzu

alt text

Peopleware: Productive Projects and Teams Tom DeMarco and Timothy Lister

alt text

The 7 Habits of Highly Effective People Stephen Covey

alt text

Zen and the Art of Motorcycle Maintenance

Robert Pirsig

It teach us how to do right maintenance on software.

alt text

I'm going to recommend a triplet of books that are about being a programmer (rather than programming), or a leader of programmers. While all are over 30 years since their original publication all are (especially with updates, commentary in their anniversary editions):

I would say any introductory book on graphic design would be useful for a programmer and help them while programming for some aspects of their work.

For example:

The Non-Designer's Design Book: Design and Typographic Principles for the Visual Novice

alt text

alt text

A Pattern Language: Towns, Buildings, Construction

It will teach you how to see that wildly disparate things can have underlying patterns in common that can be applied in an entirely different context. The aspect of a CEO's office that makes it a great office can be present in an undergrad's residence room, or missing from your million dollar mansion. Once you get this concept, you can apply it to software, as the Gang of Four did, and you will understand Design Patterns so much more completely. You will also have nicer living and working spaces for the rest of your life.

Cryptonomicon:

Cryptonomicon Cover Art

Recommended for the morale boost. :)

The Back of the Napkin, by Dan Roam.

The Back of the Napkin http://www.coverbrowser.com/image/bestsellers-2008/302-7.jpg

A great book about visual thinking techniques. There is also an expanded edition now. I can't speak to that version, as I do not own it; yet.

I'm surprised nobody has suggested any fiction. I would have though reading some fiction every now and then would improve your thinking skills. Anyway, here's my 2c.

The Hitchhiker's Guide to the Galaxy is a wholly remarkable book. Perhaps the most remarkable, certainly the most successful book ever to come out of the great publishing corporations of Ursa Minor - of which no Earthman had ever heard of. More popular than the Celestial Home Care Omnibus, better selling than Fifty-Three More Things to do in Zero Gravity, and more controversial than Oolon Colluphid's trilogy of philosophical blockbusters Where God Went Wrong, Some More of God's Greatest Mistakes and Who is this God Person Anyway? It's already supplanted the Encyclopedia Galactica as the standard repository of all knowledge and wisdom, for two important reasons. First, it's slightly cheaper; and secondly it has the words DON'T PANIC printed in large friendly letters on its cover.

This is a very inspirational book on creativity. Something sorely needed in this 'new' tech world full of 'best practices' and 'accepted methodologies'.

Ignore Everybody

Pragmatic Thinking And Learning by Andrew Hunt.

alt text

Though the targeted audience is programmers, non-programmers can read it as well. It just uses some programming metaphors. But the book is really about how the brain functions, and how we can optimize how we use it.

"How to solve it" by George Pólya. While targeted for mathematics, the problem solving strategies can readily be applied to programming.

The Inmates are Running the Asylum has been helpful to me during the planning stage of any software, or interaction project.

Math Refresher for Scientists and Engineers

John R. Fanchi

alt text

While Strategy of the Dolphin is geared more towards adjusting one's mindset to solving problems arising from dealing with others, applying the adaptive skills in dealing with the absolute world of developer tools will help intuit new ways of addressing problems.

Strategy of the Dolphin

The single best book on writing I've ever read is The Sense of Structure: Writing from the Reader's Perspective.

The Sense of Structure

It can help you think logically about your writing. It gives concrete advise about the structure of what you say. It's not a book about grammar mistakes or rules, nor a bunch of platitudes-- which distinguishes itself from most other writing books. [At least that I've seen, and I've read "the classics" too.]

Better writing can help you compose better emails, write write clearer comments, and help you realize what you think it important or not.

Stephen Kings - On Writing, No I'm serious so stick with me! :) I realized that the coding process actually have a lot in coming with the authoring process. First you need to get things down on paper/code, then you need to edit/refactor it. You need to let the book/code "rest" a little sometimes before coming back to it with new realizations etc etc

Read the book and think about how it applies to coding

Made to Stick - Absolutely essential for building skills on getting your ideas across to others (especially non-programmers) and looking at things from others' (read customers') perspectives.

Patterns of Home

Patterns of Home front cover

An excellent reference on 10 patterns for the process of designing homes. Instead of being a catalog of patterns for elements of a home (such as living room, alcove, patio, etc.), it's a catalog of principles that should shape the design of homes; a guide to the factors that are critical to making a home livable for its habitants.

I've translated the 10 design process patterns they catalog to the design of software and it's remarkable how effective they are in helping you focus on the details relevant to big-picture thinking before you get bogged down on the specifics of designing and coding classes.

Alice In Wonderland and Through The Looking-Glass. Read Alice's conversation with the White Knight and see if you don't come away with a deeper appreciation for indirection and reference variables!

Licensed under: CC-BY-SA with attribution
scroll top