Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What three books impacted your career the most?
99 points by saasinator on July 22, 2016 | hide | past | favorite | 83 comments
A young version of yourself is about to start their career and you can give them three books, but only three books, what would they be?

1. The Bible. It encourages me to live in a way that's also good for others, especially when I'm feeling selfish and cynical, and it teaches me how to interact with them in a healthy way (e.g. the book of Proverbs).

2. The Elements of Style. I always enjoyed writing, but at first school taught me to write in a flowery, longwinded way. This was the book that cracked the code for me to good writing. It dispelled a lot of self-serving and ultimately self-defeating habits and paved the way to clean, helpful English. When I finally got into programming in my late twenties, I found that many of the same principles make good code.

3. The Visual Display of Quantitative Information. This is like the Elements of Style but for graphs. Again, it encouraged me to cut through the hype and deliver the content as clearly and succinctly as possible --- to serve the reader, not stroke my ego.

1) Outliers by Malcolm Gladwell: I bought this book after it was referenced in one of Alex Ferguson's books. It's a fascinating tale of how people became to be successful by being the right person in the right environment at the right time, from how Bill Gates dominated the world of software, to how The Beatles became one of the best bands in the world. It's a great reminder that a mixture of hard work, the right environment, and dumb luck will help you do well.

2) C# in Depth by Jon Skeet: Buying and reading this book is what led me to continue down the deep rabbit hole of .NET development, and following the C# language from version 1 onwards via the book is a great way to appreciate the language, as well as use it. As someone that writes C# daily this is the main book I recommend to existing devs.

3) Introduction to Algorithms by CLRS: This is a bit of a cheat, because I've only glanced at various pages of this book. I have a degree in Computer Science, but my maths knowledge is lacking (to put it kindly), so despite my degree I have only a practical understanding of a lot of the algorithms talked about in the book. It's been my goal for years to build up my knowledge of maths to the point where I can read this book cover-to-cover and actually understand what's going on. I'm still not there, but hopefully one day I'll make it.

I can't agree more on #3. But there are few other books which take a less mathematical approach and I have found it quite useful.

I've picked up quite a few over the years, with my favourite being Algorithms by Sedgewick.

With that being said, I've tried to teach myself about the most important data structures and algorithms, but I find that I'm not "really" understanding them, and am purely just remembering the gist of what I need to know.

Perhaps it's imposter syndrome, but despite being a passable developer, there's a part of me that feels that I need to be able to read the CLRS book and actually understand what's going on, because until I can read that book I don't feel that I know the ins-and-outs of these algorithms.

1) Hackers and Painters, by Paul Graham—This book had a huge influence on me and is why I left a successful and growing low tech business in Asia to move to California and become a software engineer.

2) Zero to One, by Peter Thiel—Zero to one opened my eyes to several angles of business that I hadn't been thinking about. It made me think much harder about making long-term plans towards a concrete goal, even if changes must be made along the way. It also clarified my thoughts about the nature of competition and non-conformity. Courage is in even shorter supply than genius.

3. The Hero with a Thousand Faces, by Joseph Campbell—While it's not a business book, this book is a deep look at mythology and psychology. I find it helpful both for understanding people and for understanding myself.

Same top two, 3) Softwar: Larry Ellison and Oracle by Matthew Symonds

1. Godel, Escher, Bach -- Because it sparked my interest and got me started down the path.

2. The Pragmatic Programmer -- a classic. Reminds me that I need to re-read it.

3. Effective Oracle by Design, by Tom Kyte -- Not that I use Oracle any more, thankfully, but really provided a lot of insight about how databases function and how it pays to deeply understand their internals when writing webapps.

+1 on the Pragmatic Programmer.

For anyone that is ready to stop consuming themselves with all things esoteric and start writing generally good code by default.

If more devs followed the relatively simple patterns and practices in this book the phrase "legacy code" might not be a curse-word.

Sartre's "Nausea", which demonstrates the pointless nothingness of life, so one should not get too stressed out at work because Frank doesn't like your indentation style but that's how everyone at university does it ...

Practical skills are easily acquired. Personal skills and greater self-awareness are what really fast-track you.

1) Scott Adams 'How to fail at almost everything' for life strategy.

2) Robert Glover's 'No more Mr Nice Guy' for assertiveness and being your authentic self no matter what.

3) As cliche as it is, 'The Power of Now' is a great source to return to in times of personal and professional woes.

Good luck and Godspeed in your career(s).

I've not read any of those, but the title of #2 struck a chord.

I remember years ago complaining to someone that the manager of a project whose code I needed kept refusing to fix the showstopping bugs in it. His answer was "go over his head to his manager. No more Mr Nice Guy."

I thought it over and he was right: I'd tried being reasonable for as long as I could and this guy was preventing me from doing my job properly. I spoke to his manager (who I had a great relationship with BTW) and the problem was fixed literally within minutes.

Since then I've taken that approach to heart: either work with me or get the hell out of my way because I won't be held back.

As a christian, I found parts of No More Mr. Nice Guy a bit less worthy, but I can highly recommend the book as a whole if you find yourself unbalanced.

The author isn't recommending anybody to be a jerk, but his admonitions to being more forthright, up-front, and a bit less scheming will help people find balance. And in consequence actually treating people with respect rather than project a somewhat false "nice-guy" facade.

>3) As cliche as it is, 'The Power of Now' is a great source to return to in times of personal and professional woes.

I tried reading The Power of Now but sometimes I felt it became really mumbo jumbo with all the spirituality. Would you advise me to just power through it?

As someone who had an almost allergic reaction to Tolle or 'spirituality', I can now say that if you can get past his style/tone/voice, it's actually pretty good.

But for me it first took about two years of study into Zen Buddhism and easing into the 'spiritual' terminology and things like 'meditation'. Tolle can be a bit of a leap if you're not already comfortable with mumbo jumbo (even if it's mostly style and has real substance underneath).

First part of the question (actual influences):

1) Philip and Alex's Guide to Web Publishing (not strictly a book). http://philip.greenspun.com/panda/

2) The "Dragon Book" https://en.wikipedia.org/wiki/Principles_of_Compiler_Design

3) Computer Architecture: A Quantitative Approach

Second part (at hindsight):

1) https://en.wikipedia.org/wiki/Rich_Dad_Poor_Dad (cheesy, but useful)

2) http://toddkashdan.com/upside.php

3) https://www.schranner.com/de/news/2012/04/16/-verhandeln-im-... - German book about negotiations written by an experienced hostage negotiator.

1. "The Adventures of Sherlock Holmes" by Arthur Conan Doyle.

This may sound like an odd one, but years ago, I almost never took the time to read. My girlfriend, who knew that I loved Sherlock Holmes books when I was younger, convinced me to try this book as an audiobook while I did my ~40 minute commute to work. I was skeptical, but within days, I was hooked. It made my work commute much more interesting (a British person was reading me Sherlock Holmes!); then I started listening to audiobooks during all my driving (instead of wasting time, I can learn!); then I got an iPod, put audiobooks on that, and started listening to them during all sorts of odd chores (e.g. cleaning, walking, biking); after that, I was so hooked on books, that I started making time to read them too. This had a profoundly transformative effect on my career.

2. "The Lean Startup" by Eric Ries.

I got a copy of this book when I went to a talk by Eric Ries. Eric seemed like a humble, down-to-earth person and helped dispel the notion that to be a successful entrepreneur, you need to be a prescient, superhero, god-like visionary. Instead, what you need to do is to treat your startup and product ideas as hypotheses and test them, as quickly and cheaply as you can (i.e. lean development, MVPs, etc). This fit very well with what I had seen in the real world and with how I thought about problem solving as a software engineer, and gave me a lot of confidence to try out many of my ideas. Since then, I've used these ideas to start a company (http://www.gruntwork.io/) and written quite a bit on what I learned, including an article on The Macro about MVPs (http://themacro.com/articles/2016/01/minimum-viable-product-...).

3. "On Writing Well" by William Zinsser.

If Conan Doyle taught me about the fun of reading, then William Zinsser taught me about the fun of writing. If you want to learn how to write, what it's like to write, or why you should write ("Writing is not a special language owned by the English teacher. Writing is thinking on paper."), it's hard to find a better guide. This book significantly improved my writing skills and even gave me the confidence to write a book (http://www.hello-startup.net/).

> "On Writing Well"

Love that book

I'll add my current three,

    1) "How to Win Friends and Influence People"
    2) "The War of Art" 
    3) "The Pragmatic Programmer"

Can you explain what you liked about The War of Art? I read it because I have seen it mentioned on this site many times, but I did not enjoy it at all. I found that the first two sections contained very little useful information, and the third got somewhat silly when it started evoking angels and muses. I could see it being a motivational read for some?

I find it strange that it's mentioned in the same context as your #1 and #3, which I think are absolutely essential.

As a reader of books, one of the good things about growing older is that the books the younger version of myself read are books that this older version of myself hasn't and there is great pleasure in rereading the books the younger version of myself read as the older person I am.

And that makes this exercise impossible for me. The books I would tell the younger version of myself to read wouldn't resonate the same way (or not at all) with that other person I used to be. Picking books that might have appealed to the younger version of myself accurately would mean picking the books I actually read -- e.g. The Fifth Discipline -- and not books that the younger version of myself tried to read but couldn't but that I read and recommend today: e.g. TAoCP.

Part of the complexity is that the world in which I read books today is radically different from that of my younger self. Today I can get a MIX interpreter from the internet [1]...there's even help on StackOverflow. My younger self couldn't because even in the time when there was an internet bandwidth was low and Google didn't exist.

Like I said it's great to pick up a good book and realize it is better than I remember when I remember it being really good, but it's hard to see how it could have been better for my younger self.

1. Neuromancer

2. Blood Meridian

3. A Pattern Language


1. Assembly Language and Computer Architecture Using C++ and Java , Course Technology, 2004 by Anthony J. Dos Reis

2. Compiler Construction Using Java, JavaCC, and Yacc, IEEE/Wiley, 2012 by Anthony J. Dos Reis

3. An Introduction to Functional Programming Through Lambda Calculus by Greg Michaelson

I'm lazy now so just look on my previous comment:

[0] - https://news.ycombinator.com/item?id=12099943

The C Programming Language, Kernighan and Ritchie, for its simple elegance.

The Elements of Style, Strunk & White. On clear writing.

Hitchhiker's Guide to the Galaxy (series), Douglas Adams. So you don't take yourself too seriously.

Thinking Fast and Slow, Daniel Kahneman

How I raised myself from failure to success in selling, Frank Bettger

Thinking in Systems: A Primer, Daniela Meadows

Most important thing is to get up and start doing stuff, understand how you personally f$$k things up and reap benifits of compound interest in personal development. I think these three bookshave a lot of information that is usable in any career or path one might choose.

Donella* Meadows is the author of #3

Great primer for folks unfamiliar with systems engineering.

If I were to go back and be young - I would dedicate myself to read plenty of books and probably find three genres which would appeal. A measure of a good book is how likely will it lead you to read another great book or how likely is that it changes the perception of another book/knowledge or makes you question-argue fundamental value systems. Wish there was kind of backlink algorithm to measure a book like that. I've found below genre-and-author that appeal more over time and you keep going back to them.

> Tech : C - Kernighan & Ritchie (may be a good python/nodejs book today).

> About tech people : Made in Japan - The Google Speaks - The Everything store - Hatching Twitter - Steve Jobs - Zero to One - Hard things about hard things.

> About non-tech people : Founding fathers - Obama - Einstein - Darwin - Feyman - Teresa - Montessori - Gandhi - Mandela - Che Guevera - Churchill.

> Last but important: Tolstoy - Plato - Enlightenment-Era-Books - Religions(all) - Military fitness.

1. "Meditations" – Marcus Aurelius

2. "The Practicing Mind" – Thomas Sterner

3. "Better: A Surgeon's Notes on Performance" – Atul Gawande (I'm not a surgeon; the principles herein are universal)

(honorable mention: "How to Win Friends and Influence People" – Dale Carnegie; various biographies by Caro and Chernow)

1. Head First Design Patterns - Didn't learn patterns in school. This book made a lot of difference in communication with more experienced programmers.

2. Pragmatic Programmer - A classic, learned many practical tips for day to day programming job.

3. Founders at Work - Motivated me to work on my side projects and be constantly learning.

Head First Design Patterns is awesome. I read a couple other Design Pattern books, but didn't really get it. I didn't want to buy a "Head First" book because it looked kind of silly, but this book has finally opened my eyes to what Design Patterns are about.

Thinking, Fast and Slow - Daniel Kahneman. Learn why we're fools by nature.

Incerto - Nassim Nicholas Taleb (4 volumes, with The Black Swan as my favourite). Learn how not to be a fool, or at least, minimize its impacts.

The Startup Owner's Manual - Steve Blank. Learn how to find your way through the market.

Code complete was a great early read for someone who already knew the basics of programming

L'etranger Albert Camus, for the same reasons as jjgreen

A Herbert Shilt book on C programming but could have been K&R instead, was part of the process from moving from simple basic coding to software development

"Thinking Forth" by Leo Brodie --> http://thinking-forth.sourceforge.net/

"How Buildings Learn: What Happens After They're Built" by Stewart Brand --> http://www.openculture.com/2015/07/watch-stewart-brands-6-pa...

"Programmer's Guide to the 1802" by Tom Swan --> http://www.tomswan.com/store/

1. "Zen and the art of motorcycle maintenance" by Robert Pirsig

2. "The art of war" by Sun Tzu

3. "Meditations" by Marcus Aurelius

1) "how life imitates chess" Garry Kasparov

2) "how life imitates chess" Garry Kasparov

3) "how life imitates chess" Garry Kasparov

Highly recommended, very good read and smart book. I would call it the modern version of The Art of War.

Such a coincidence that they have the same title and author name.

1. "The Age of Spiritual Machines" (2000) by Ray Kurzweil. This futurist book sparked my imagination at a young age as to what was possible with technology. Several of its predictions that have come true today.

2. "Creativity Inc." (2014) by Ed Catmull. Fascinating stories and lessons from the man who ran Pixar, the animated film company with 11 straight number 1's at the box office.

3. "Outliers" by Malcolm Gladwell. Along with talent and hard work, being well-positioned is a big part of success. Put in 10,000 hours to be great at anything.

1. "The Seven Habits of Highly Effective People" by Stephen Covey. Taught me how to be more productive and simplify thinking about productivity. One of the books I re-read every year.

2. "The Bible" - I am not too religious, but I am a spiritual person. I find the new testament to be a good blueprint on how to live a righteous life.

3. "The Pragmatic Programmer: from journeyman to master" - such a timeless classic. Just get it...

1. Peopleware 2. The C Programming Language 3. Design Patterns: Elements of Reusable Object-Oriented Software

Honorable mention: Compiler Design in C

1. Start with why, Simon Sinek - to get my younger self to figure out why I am doing what I am doing

2. Drive, the surprising truth..., Daniel Pink - to understand happiness and motivation

3. Crucial Conversations, to learn how to talk and listen and talk to people without ruining the conversation and the possibilities from it

Career not life, so:

K&R C (Draft ANSI Edition) - A small book that shows how you should write. Many of the examples are not really good code anymore, but it traveled and inspired.

Perl Little Black Book - I needed to learn Perl and it was packed. Much like many of the ORA pocket references, except with a lot more examples. My copy is in rough shape with flags, notes, and highlights.

I will have to dig it out of a box, but I had a system process and design book from a college class that I used extensively in my first decade of work. I think I internalized it all. I put the book in a crate with my K&R C book waiting for a good shelf to put it on when I get somewhere a little more permanent.

The headline and the body are posing two different questions. Regarding books that impacted my career in software. The top three are:

1) K&R C

2) Zen of Graphics Programming

3) C++ Programming Language, 2E

I wouldn't recommend any of these to a young version of myself today.

1. Think and grow rich: Thought me about goal setting, opened my eyes to the fact that a man can rise from his humble beginnings to any height he want's to attain if he is willing to work for it.

2. PHP for dummies: My first exposure to the world of programming, since then I've never looked back.

3. Rich Dad, Poor Dad: Changed my thinking about finance, I don't know how I would have handled my finances if I hadn't come across this book as a teenager, I feel so lucky to have read this book. I would have been stuck in society's harmful way of handling finance.

I'm pretty early in my career. There's just one book on my list now (and that's simply because I haven't made time to read others): The Clean Coder, by Robert Martin

"The Goal" - Started my interest in Lean principles, along with how to apply them to programming - imagining my programs as little data "factories", that need to be made efficient and efficiently.

"How I Found Freedom in an Unfree World" - Taught me I don't need to follow the standard path that "everyone else does", and to focus on how I can actively change my world - instead of waiting for someone else to to change it for me.

"Code Complete" - Get it. Read it. Live it.

"Cracking the Coding Interview" (probably wouldn't even have a career without this book)

"The Little Schemer"

"Stories of Cats and the Lives They Touch" by Peggy Schaefer

I strongly recommend The Little Schemer to any programmer.

How to Win Friends and Influence People by Dale Carnegie.

All of your working life is built on relationships, even if you code all day.

There were different book that impacted different stages of my career:

As a programmer :

1. The C++ Programming Language by Bjarne Stroustrup.

2. Operating System Concepts by Silberschatz

3. Compilers by Aho

As an agile software developer:

1. eXtreme Programming by Kent Beck

2. Pragmatic Programmer by Hunt and Thomas

3. Continuous Delivery by Jez Humble

As an architect:

1. Domain Driven Design by Evans

2. Pattern-Oriented Software Architecture by Buschmann

3. Envisioning Information by Edward Tufte

As a CEO:

1. Good To Great by Collins

2. Lean Startup by Eric Ries

3. Beyond Budgeting by Pfläging

1. "The Lean Startup" by Eric Ries

2. "Insanely Simple" by Ken Segall

3. "How to Measure Anything" by Douglas W. Hubbard

Carol Dweck's "Growth mindset". This book changed my view of diligence and intelligence.

- The Pragmatic Programmer (Hunt/Thomas)

- Computer Architecture - A Quantitative Approach (Hennessy/Patterson)

- Expert C Programming - Deep C Secrets (van der Linden)

I woud call the Pragmatic Programmer though by far the most influential.

Interesting that this book is mentioned in this thread several times. I didn't find this book bringing almost any value to me. What it did was giving names (e.g. orthogonality) that I didn't know before to the common programming concepts that all developers with some practical experience should be aware of anyway as a common sense. But that might just be due to a different approach to programming.

I find the books such as Andrew Tanenbaum's "Computer Networks" which are bringing historical perspective as well as a lot of technical information without going into the tiny details the best balance of useful and interesting.

Therefore "Computer Architecture - A Quantitative Approach" is much better for me in that aspect and the C programming should be really interesting too, although I haven't read it.

1.The Trouble with Lawyers - an early introduction to conflicts of interest

2.One Up On Wall Street - insiders view of the markets and other lessons

3.Consilence - how to distinguish real things from unreal things

- The Peter Principle: Why Things Always Go Wrong by Lawrence J. Peter & Raymond Hull

- The Upside of Irrationality by Dan Ariely

- Screw It, Let's Do It: Lessons In Life by Sir Richard Branson

The Pragmatic Programmer, Dave Thomas, Andy Hunt

Fooled by Randomness, Taleb

Linchpin, Seth Godin

1.How to fail at almost everything and still win big- Scott adams 2.The Surrender Experiment - Michael Singer 3.Choose Yourself - Jamel Altucher

1. Beating the Street - Peter Lynch 2. More Money than God - Sebastian Mallaby 3. Dark Pools - Scott Patterson

1) The Art of Unix Programming 2) TCP/IP Illustrated 3) 97 Things Every Programmer Should Know

1. Ego Is the Enemy - Ryan Holiday

2. sidebar from /r/theredpill

3. The Millionaire Fastlane: Crack the Code to Wealth and Live Rich for a Lifetime

Book number 3 has probably the most 'click baity' and the most douchey title of all times. It sounds like one of those self help books or one of those get rich fast schemas but in fact, it's an eye opener and it encourages hard work.

TRP has a horrible reputation. What did the sidebar help/teach you?

Can you elaborate on what you would recommend re: #2?

Is #2 a joke? I sincerely hope it is. Such a hateful ideology has no place on Hacker News

You know there are always 3 different perspectives, mine, yours and the truth.

It's not a joke, one hasn't to take all for granted in that sub and 90% of those people are pathetic but there is some truth in the sidebar.

What the redpill tries to teach people, is to take control over their lives.

Don't focus on woman but on your dreams, if one can manage to take control over those things, woman will come naturally.

There are so many things wrong with your post. Women are NOT objects to be acquired as some sort of sick goal or prize for being a productive society member. Women do not exert a control over men from which they must be freed. In fact, patriarchal society most often (and visibly) keeps women out of control and away from success and the kind of sick thinking you demonstrated above and is exalted by red pill communities actually perpetuates the oppression of women. I'm going to repeat this because you clearly lack an understanding of this fundamental concept: WOMEN ARE NOT OBJECTS

It seems like you just had that text saved somewhere and you didn't know when and how to use that phrase.

Well I'm sorry this isn't the right moment for that.

I never said that I treat them like objects, in fact I value woman even more since the red pill.

I just don't focus on woman but on myself.

How does your last paragraph not degrade women as goal based objects. This is disgusting and I can not believe you are feigning ignorance to the meaning of the words you posted.

Slow down, I didn't post anything from the Redpill, I just mentioned it, you can't determine my personality, my mindset or my opinions in just one post.

You mentioned women coming to you as a result of working hard. How is that not objectifying towards women?

No I didn't, that's what you wrote.

Here is what I wrote.

> Don't focus on woman but on your dreams, if one can manage to take control over those things, woman will come naturally.

It's about order. So many people are so much obsessed with dating and woman that they lose focus on the really important things.

Listen, I'm not here to argue with some guy over the internet, if you don't like ignore it.

Pretty sad this got flagged. Honestly, I would flag the Bible before it. I think I understand your reasoning. While I don't agree with it, it's no worse than Ayn Rand or Timothy Ferris.

I don't think the books were the cause.

Could you explain that further please ?

I began reading the sidebar as per parent's recommendation and I see a lot of valid points in it. Also your post reinforces some points the author(s) mention in the sidebar. You should read it

+1 to number 3. It's been a life changer for me. I'm working on these principles now.

"The Defining Decade: Why Your Twenties Matter" by Meg Jay

Is this going to make me sad if I read it by the age of 32 ?

Perhaps not. I'm 42 and I'm tend to think of my station in life as just being delayed by 15 years - I had to get over a rather crappy childhood and a protracted adolescence.

(That said, I'd admonish anyone your age that if you don't have children, have them now rather than a series of compensating house-pets for the rest of your life)

> (That said, I'd admonish anyone your age that if you don't have children, have them now rather than a series of compensating house-pets for the rest of your life)

I should give up my dreams in order to have kids ?

Two years ago, I had an idea ( that failed but that's not the point here ), I wanted to finish it so I simply walked into the office and quit.

I worked 6 months on my project, I didn't care about someone else, just me and my project.

I value your opinion and if you think that you should have kids, do it but for me, right now it would be like a prison.

Note: I'm not necessarily wise.

Having children don't preclude following personal dreams - for my own situation - children enhanced my ability(and necessity) to discern if any potential dream was plausible, actionable, and worth the extra effort.

For example, I've given up trying to become a billionaire - my financial security is fine, so it would be regrettable to trade away going hiking with my family for extra money.

And as a practical matter, children are only horribly disruptive when very small - and they're quite fascinating as a source of entertainment in themselves.

But... here's the problem... biologically, female humans seem to be designed to have children easily up until about their mid-thirties (apparently longer if the specimen is fit and active.)

I like your perspective.

Because this:

> And as a practical matter, children are only horribly disruptive when very small - and they're quite fascinating as a source of entertainment in themselves.

Is actually very insightful.

> But... here's the problem... biologically, female humans seem to be designed to have children easily up until about their mid-thirties (apparently longer if the specimen is fit and active.)

No one told us that we have to choose a female of our own age. That's societies attempt to brainwash us. While it looks quite disgusting when people are 20-30 years apart, 10 years is totally ok.

"The Art of Learning" by Josh Waitzkin

I didn't realise he wrote a book. His chess videos in Chessmaster made me a much better player, I'll definitely have a look at the book.

1) Shogun

2) Noble House

3) Excel by Que Publishing

Probably the Dale Carnegie book, as dumb as that sounds.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact