Ask HN: Which non-programming books are a beneficial read for programmers?

209 points by tomerbd ↗ HN
.

87 comments

[ 3.3 ms ] story [ 158 ms ] thread
Getting More: How to Negotiate to Achieve Your Goals in the Real World by Stuart Diamond[1].

I didn't actually enjoy reading it - it's written in a pompous, braggy way that struck me as over-the-top even for a business book. However, the negotiation and communication tools it explains have been really helpful both at work and in my personal life.

[1] https://www.goodreads.com/book/show/8095067-getting-more

Here's a few I enjoyed:

Soft Skills: The Software Developer's Life Manual

The Lean Startup

The Idea Factory: Bell Labs and the Great Age of American Innovation

Contrary to the self-help nature, "The Subtle Art of Not Giving a F*ck: A Counterintuitive Approach to Living a Good Life" has a set of somewhat structured ideas on how spending time/attention a bit more selective and sometimes going deep instead of broad gives you a better return on your efforts.

Say you're in a position where you can work on any aspect of a project, in any language, framework, SDLM, and with whoever you want. Some advice would be to learn new things all day long, but if you do that 100% of the time, you end up with a lot of nothing. Diversity is good, but not at the expense of in-depth knowledge, just like change is good, but change for the sake of change doesn't really do much by itself. Doesn't mean you should stagnate all development of course ;-)

As with all books on ideas and processes: it's just ideas someone else wrote, take what works, leave what doesn't work.

The Systems Bible
(comment deleted)
Seconded again. Fundamentally changed how I think about systems, and makes me smile every time someone says, "We need a new system for x!"
Thirded.
Tractatus Logico-Philosophicus
Is this serious? I'm hard put to imagine anybody who doesn't get paid to do philosophy (or at least have regular access to such a person) getting anything out of this book.
I think there's plenty useful to meditate on in the Tractatus, 6.0+ has most of the exciting stuff but it's worth working through to get there.

But at the same time I totally get what you mean.

Crossing the Chasm, for anyone trying to launch a product or startup.
"Never split the difference" has made a huge difference for my communication style.

Reading that book represented a step change in my productivity, because I learned to communicate in a way that better prioritized my tasks. I've read it three times now.

I like that the techniques in that book work even if both parties have read the book -- especially if both parties have read the book.

Some psychological books teach a person to play psychological games, and if both parties have read the book, they both just play games and no communication actually happens. Not so with "Never Split the Difference", the book teaches that simply listening is one of the most effective yet difficult things you can do to get what you want.

Lila - "Enquiry into Morals" (R.Pirsig) .. "good" is a noun.. and MoQ in general, with all the orthogonal layers, and identity being the most basic characteristic of things

probably also C.N.Parkinson laws (of burocracy)... as computing is the ultimate burocracy.

and... Winnie the pooh, and the Little prince. aloud (to a kid probably). Really. esp. if u muse over what u just read aloud..

the little prince is really one of the best books I have ever read about enjoying life while subsequently understanding the decisions I make/Will make/Have made.
Soft Skills: The software developer's life manual is a unique guide, offering techniques and practices for a more satisfying life as a professional software developer. https://www.amazon.com/Soft-Skills-software-developers-manua...
In that section, would like to add recommendations for:

- "Being Geek: The Software Developer's Career Handbook" https://www.amazon.com/Being-Geek-Software-Developers-Handbo...

- "Team Geek: A Software Developer's Guide to Working Well with Others" http://shop.oreilly.com/product/0636920018025.do -- Software engineering teamwork a-b-c. I'd love to work on teams where everyone has read this one.

[edit: 2nd edition of "Team Geek" is titled "Debugging Teams"; having read both, no difference which you get]

"Drive" by Dan Pink (or his Ted Talk if you want the short version)

and/or

"Flow: the psychology of optimal experience" by Mihaly Csikszentmihalyi (or any of his other publications as they overlap a lot)

Understanding the psychology behind motivation and productivity is going to buy you way more than most productivity hacks IMHO, and even more helpful if you have to work with people.

"Pragmatic Thinking and Learning" by Andy Hunt

https://pragprog.com/book/ahptl/pragmatic-thinking-and-learn...

I found it tremendously useful both in my career (where I can legit say I'm pretty good) and with outside activities like karate (where I'm very early in the learning cycle). It's one thing to tell people they need 10,000 hours to be competent at something, but quite a lot more helpful to explain all the steps along the way.

Two that I particularly liked:

1. "How to win friends and influence people" - Dale Carnegie

2. "The seven habits of highly effective people". - Stephen Levy

Here are some books I listened to on Audible in the last year and a half, listing those that I enjoyed the most. Each of these books changed me in some ways, I never thought how much fun it is to listen to biographies and how many lessons there are.

0. Crucial Conversations: Tools for Talking When Stakes Are High, Second Edition

1. The Five Dysfunctions of a Team: A Leadership Fable

2. Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future

3. Grit: The Power of Passion and Perseverance

4. Steve Jobs: The Exclusive Biography

5. What Got You Here Won't Get You There

6. The Power of Vulnerability: Teachings of Authenticity, Connection, and Courage

7. The Obstacle Is the Way: The Timeless Art of Turning Trials into Triumph

8. The Like Switch: An Ex-FBI Agent's Guide to Influencing, Attracting, and Winning People Over

9. Influence: The Psychology of Persuasion

10. Pre-Suasion: Channeling Attention for Change

11. Thinking, Fast and Slow

12. Mindset: The New Psychology of Success

13. Emotional Agility: Get Unstuck, Embrace Change, and Thrive in Work and Life

14. Originals: How Non-Conformists Move the World

15. Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity

16. Sapiens

17. The Everything Store: Jeff Bezos and the Age of Amazon

18. If you like space: Endurance: A Year in Space, a Lifetime of Discovery

19. Shoe Dog: A Memoir by the Creator of Nike

20. Quiet: The Power of Introverts in a World That Can't Stop Talking

21. Long Walk to Freedom: The Autobiography of Nelson Mandela

22. The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations

> The Five Dysfunctions of a Team: A Leadership Fable

I need to give this a try again. When I originally read it, it was part of a team activity a decade ago and left unmoderated, so it devolved to everyone being at each other's throats by the end of the day.

Note that it is in "Business Novel" style. If you don't like that style, you should read The Advantage by Lencioni instead.
I love 14. Different but equally interesting, you might like Superforecasting
I'd add two here both from Dale Carnegie: 1. How to Win Friends and Influence People 2. How to Stop Worrying and Start Living

Both of these books helped me immensely when I was down and I think DC's writing style (by examples) is what I found very useful.

Thank you for the list! I've read and enjoyed 6 of your top 10, so naturally you've now given me a great reading list for the rest of the year!
Did you manage to absorb the material from Thinking, Fast and Slow by listening to it? I tried to start reading it, went back over lines I didnt understand, reread chapters, and in the end gave up because it was too difficult.
In what ways? From an ethical perspective, books like Orwell's famous 1984 are good reads that can help reflecting on privacy and its implications on societal and individual levels, helping decide on whether or not to participate in produciton of software that is antagonistic to data privacy. Also, Aprender a rezar na era da técnica of Tavares is a contemporary novel that can be useful in a similar vein. So also the Anarchist Banker of Pessoa. Maybe also the A Caverna of Saramago. All these books depict the clash of morality and modernity in some ways, and us as programmers are of a profession that is central to the change of times; thus, our perception of ethics is of immense importance to the furthering of the world.

P.S.: also, given many of us publish open source stuff and write blogs etc., reading some literature will always help regardless of whether the contents are relevant or not. I observe from various past threads and this one that the crowd here really likes sci-fi novels and self-help stuff, and also biographies to some extent; but the rest of literature is not as popular. Certainly many lack the time, but reading a 200-300 page novel in a week or two should still be possible even with a very tight schedule (hint: less driving and more public transport helps, if available).

It’s got a little bit of tech, but I can’t recommend “The Soul of a New Machine” (Tracy Kidder) highly enough.
"Never Split the Difference" by Chris Voss https://www.amazon.com/Never-Split-Difference-Negotiating-De...

Chris was an FBI hostage negotiator. His book takes you through some of his hostage negotiations and demonstrates his techniques.

As a software developer, I "negotiate" all day long from code reviews to getting a promotion. His advice has helped more times than I can count.

A basic book on finance or accounting to help you scan over the Annual Reports of companies. Their write-up on finance, product strategies, marketing, sales tactics, pricing, compensation, company valuation, etc can familiarize you with many aspects of creating a viable company on your own.
I would suggest "Zen and the Art of Motorcycle Maintenance" by Robert M. Pirsig.