Ask HN: Which book or course gave you an unfair advantage?

197 points by ronyfadel ↗ HN
Is there a book you’ve read or a course you’ve taken that leveled up your game so much that it felt almost unfair?

118 comments

[ 2.8 ms ] story [ 212 ms ] thread
Deep work by Cal Newport. It helped me learn how to be vastly more productive in the same amount of effort and time.
Cal Newport sounds like a made up Chappelle Show character that Dave does in whiteface.
Even having read a lot of Cal Newport, and am a fan of the principles he writes about, this was hilarious to read. Needed that. Thank you.
Having met Cal, the description tracks.
I've had a copy of this book for so long, but it reeks to me of something that should be a blog post I can read in 5 minutes, and so I've never been able to muster the interest to crack it open.

How seriously would you recommend it?

I find many "productivity" books tend be easily summarizable... but reading the book is really to drill the concept in your head so that you're conscious of the tips/advice in your day to day.

Plus, if you spread out the reading over a few days/weeks, you can apply what you've learned throughout the day as you read along.

It could be a blog post. Hell I can even summarize it with a few sentences.

Work on one thing without distractions for big blocks of time, 1-4 hours. You will make great progress by concentrating on one thing at a time.

....there you have it

I didn't get anything from the book. What was the best insight you got from the book?
I feel the same. Not a bad idea, but really just a blog post stretched out.

My takeaway was that I wasn’t crazy for only answering email every few hours and helped quell the anxiety that people “needed” my response.

I dont have an exact book or course to recommend, but rather how to approach school courses...

I'm Canadian, and went thru post secondary in Canada. This is coming from someone who did not program for fun in highschool, had no family support/introduction to IT, no extra curricular programming introduction, etc.

I went to a collage instead of university. My first year computer courses had lab sessions where our teacher helped with programming assignments. There was ~10 kids in class. Uni classes were a few hundred kids in a single class and lab sessions were ~30 kids. They had TAs (teaching assistants, graduate students with no industry experience) instead of their professors during programming lab sessions. I got the same course credit, much cheaper tuition, and a much more practical programming education. I transferred to a university to finish my degree and I was embarrassingly ahead of everyone else when it came to programming.

Whatever course you do take, look for passionate people with a teaching background and a small class size.

(comment deleted)
The Holy Bible. It taught me that vanitas vanitatum et omnia vanitas.
All the nihilistic HN are people downvoting because they are envious of having a faith.
I think providing advice in Latin, a language almost no one on HN speaks, is a more likely reason. It started getting upvoted again after someone else provided a translation.
“I often feel that the American programmer would profit more from learning, say, Latin than from learning yet another programming language.” -- Edsger Dijkstra https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...

I don’t know Latin, but the meaning of the quoted phrase was pretty obvious.

still dont know what it means in english
Having read the linked Bible passage, I think it probably means "A wise man is humble. We are all dust in the wind. Nothing you do matters anywhere near as much as most people like to imagine."

In a thousand years, the sun will still rise. The wind will still blow. Your name will probably not be remembered.

We have trouble coming up with solid info on historic kings. We know vastly less about historic commoners.

Even if you are relatively well off and important in the world today, in the grand scheme of things, you still don't really matter all that much. So check your ego at the door.

I know why this crowd downvoted you, but "Try to find a Christian Mechanic, open on Sunday? No David you are bunking with us."

Line out of a movie.

If I know a person lies some of the stuff in a book that teaches honestly, and kindness; they are my first choice for anything.

Are they more talented than let's say a Zuck? No. Would I trust them with my money, or the keys to my house? Yes.

(I don't need a debate. I'm not a bible thumper. I know the bible has some crazy ideas. I do think some people need a reminder that ethics are important, or at least appreciated in some crowds. Do you need a book in order to be a respectable person-- no.)

I have no interest in the “god” concept and I think the Bible is the most overrated book around. Also, I know it’s bad form to talk about comment voting, and I’ve never done it before. But I saw the greyed-out vanitas comment and gave it my upvote to undo a bit of the damage. I mean, come on.
Once you can let go of the world and everything in it, you have an amazing amount of freedom. It makes you invincible, you no longer feel like you have to grip on to wealth for your safety or your family's. You don't feel like you have to prove yourself to anyone. You focus on the things that matter, the things that do good.
Okay, Ecclesiastes is one of my favorite books ever, but referring to its message as if it were the message of the whole Bible is incredibly disingenuous, misleading, and unlikely to get anyone to actually read what you're talking about -- how would they know it was that _one_ section?

And quoting it in Latin with no translation is incredibly pompous.

sitting next to a 10xer for 2 years.
What's the best way to get this effect while working from home?
Twitch a 10xer?
I'd love to do this but I don't know who. The closest is leaving the Molly Rocket channel playing in the background.
Read people's commits and try to understand what and why. Ask questions. The most talented people I worked with love getting good questions. With git or even CVS (ha my age) programming is a completely transparent activity, you can see what everyone is doing. You can read code 1/2 the day and probably be more productive than if you don't.
What did you learn from this person?

It would save me two years.

A lot. One important thing is, that it is possible to focus and work for 10-12 hours per day. Before I bought the "only 4 hours of productive work per day are possible for avg human". Not true. Hard to achieve though. You really have to have good self discipline to do it on your own.
The course: Object Oriented Programming at the University of Minnesota The book: Structure and Interpretation of Computer Programs

This was back in the early 90s, we learned OO with Scheme. SICP is where I credit my programming ability even today. I think that if I'd taken OO via C++ my eyes wouldn't have opened like they did with Scheme and SICP.

I was, at the time, programming products in C++ for my father's software company while taking classes and I remember a student ask the professor (Dr. Maria Gini, an amazing instructor) why we were learning OO with a dead language instead of a language we'd actually use like C++. And I remember thinking to myself "I'd like to learn something other than C++ anyway". Dr. Gini simply said "because this is how I choose to teach the subject." (something like that).

It was an amazing experience, definitely one of my top 3 classes taken at University.

Gini is a legend. We were all lucky to get her and SICP.
If you are working a lot in Linux user space, The Linux Programming Interface is 10/10.
Indeed, reading the documentation is often an unfair advantage =)
As a long-time writer of networking based user-land code, I find reading the implementation of the socket API to be extremely helpful. There used to be a few "annotated source code" books that were giant but interesting, tho the last I read was from 2.4 I think or maybe early 2.6. But the general understanding of how it works is useful for using the APIs.
Zen Buddhism. I dabbled with the concepts and played with the idea of taking it seriously for about 15 years before I finally surrendered to the idea and it changed everything.
How did you learn it? Which books/teachers?
No books. Just sit. Follow your breath if you must "do" something. A teacher and a community to sit with make it a lot easier.
I became interested through books but ultimately if it’s something you’re interested in pursuing you’d want to find a temple or community and practice with those that have more experience.

Two books I read early on that I recommend are The Tantric Distinction and Zen Mind Beginners Mind.

Code Complete (https://en.wikipedia.org/wiki/Code_Complete).

I hear that it's probably not as relevant these days, since it's been nearly 20 years since the 2nd edition was released, but the attitude towards professionalism it instilled in me was invaluable, and the fact that all the recommendations were backed up by studies made it so that I could back up my decisions with facts.

* Fooled By Randomness (NN Taleb): Taleb is a complicated personality, but this book gave me a heuristic for thinking about long-tails and uncertain events that I could never have derived myself from a probability textbook.

* Designing Data Intensive Applications (M Kleppmann): Provided a first-principles approach for thinking about the design of modern large-scale data infrastructure. It's not just about assembling different technologies -- there are principles behind how data moves and transforms that transcend current technology, and DDIA is an articulation of those principles. After reading this, I began to notice general patterns in data infrastructure, which helped me quickly grasp how new technologies worked. (most are variations on the same principles)

* Introduction to Statistical Learning (James et al) and Applied Predictive Modeling (Kuhn et al). These two books gave me a grand sweep of predictive modeling methods pre-deep learning, methods which continue to be useful and applicable to a wider variety of problem contexts than AI/Deep Learning. (neural networks aren't appropriate for huge classes of problems)

* High Output Management (A Grove): oft-recommended book by former Intel CEO Andy Grove on how middle management in large corporations actually works, from promotions to meetings (as a unit of work). This was my guide to interpreting my experiences when I joined a large corporation and boy was it accurate. It gave me a language and a framework for thinking about what was happening around me. I heard this was 1 of 2 books Tobi Luetke read to understand management when he went from being a technical person to CEO of Shopify. (the other book being Cialdini's Influence). Hard Things about Hard Things (B Horowitz) is a different take that is also worth a read to understand the hidden--but intentional--managerial design of a modern tech company. These some of the very few books written by practitioners--rather than management gurus--that I've found to track pretty closely with my own real life experiences.

Fooled By Randomness was a really great book, I second your suggestion.
High Output Management was an interesting read. Grove took timeless computer architecture techniques and mapped it onto management.
(comment deleted)
>gave me a heuristic for thinking about long-tails and uncertain events

If it's possible to summarize and share the heuristic in this forum format, I request you to please do. Am always learning from Taleb's books and ideas.

I'm hard pressed to summarize the book because it introduces so many ideas. Perhaps I can point you to summaries other folks have written, like [1]. That said, I can rattle off some heuristics from Taleb that I've applied in real life:

1) Look out for fat tails and rare events in real life. Don't obsess over trying to predict them (you cannot -- rare events are such that they are inherently difficult to predict. They're rare!); instead protect yourself against their downsides by designing the appropriate defenses for when they do happen (e.g. having some form of insurance, setting up legal clauses that limit liability, etc.) For instance, contracts can be set up to limit liability from very rare events that have damages that scale infinitely. This can be done by adding a clause that says if said rare event happens, one will only pay damages up to $x, which contains the downside. (Insurance companies do this a lot)

2) When to take risks? In situations where there are low downsides if you're wrong and high upside if you're right. When to not take risks? When the opposite is true.

3) Don't mistake individual risk for systems risk. The startup community valorizes risk-taking (after all, nothing ventured nothing gained). However never fall into the trap into thinking that risk-taking makes everyone stronger. When individuals fail, they don't always get stronger (many are destroyed) -- instead their failures make the system/ecosystem stronger. It's like airplane crashes, which are themselves unrecoverable failures. But each airplane crash actually improves airline safety for everyone through learnings obtained from post-mortems and blackboxes, which lead to new FAA guidelines.

4) Don't obsess over probabilities alone -- pay attention to payoffs (or better yet, focus on "expectation", which is the sum/integral of probabilities times payoffs). (everybody learns this in statistics class but no one has thought about how to apply this). You want to maximize expectation, not probability.

[1] https://tylerdevries.com/book-summaries/fooled-by-randomness...

Thanks -- good distillation of Taleb.
Wonderful. I am such a Taleb fan boy but have been putting off Designing Data Intensive Applications. I am starting on it this afternoon from this post.

I just started on Daniel Kahneman's Noise. It will be disappointing if it isn't one of these type of books.

I'm also a huge Taleb fan. However for a first book, I'd recommend his Antifragile book instead since it was written 10 years later in his career and further explores the ideas addressed in Fooled by Randomness with the benefit of more hindsight and discussion with peers in the field.

For anyone interested, I discuss the key takeaways from Antifragile, specifically for software engineers in https://youtu.be/jP6UQPSAk58.

Find someone in the top 10% in the world who does what you want to learn and try to get them as a mentor.
Top 10% in the world is not very high... Top 0.01% is still only top 100 in a city of a million, seems a bit more aspirational
Far easier to get a top 10% as a mentor than one of a hundred people in a million
Eh that’s kinda misleading because not the entire population of the one million has any idea about the thing, so top 10% is probably fairly small.
Good luck getting access to the top 0.01% for a mentor
E603, Research Methods, in the writing department.

Among other things, I learned how to read academic papers and how to think like a researcher.

A fun last day of that course was considering "real world situations" through various research lenses ("If I were an anthropologist, what would I make of this situation?", "If I were trying to understand, using critical discourse analysis, why my roommate won't open the chicken door in the morning") has proven super valuable in corporate-life. There's different reasons for different things ("Why don't we have an onboarding doc?") and it's important to consider all of them and figure out what the best course forward is to achieve your objective.

Ah, another offshoot of Critical Theory.
"How To Fail At Almost Everything And Still Win Big" and "Loserthink" by Scott Adams.
(comment deleted)
Nand2Tetris, the book, and actually coding the entire project. It earned me a prestigious internship, from a no-name school, which subsequently lead to a FANG position.
Book is called “Elements of Computing Systems”. There is a second edition coming out this August from MIT Press I think.
It's actually already out. I just got my pre-order copy in the mail this week.
The Great Gatsby taught me the folly of silent sentimentalism.

Awareness of your emotional state is like a super power, or a Cassandra complex. Awareness that you've arranged your fortunes around a one-sided attachment to an illusion is the last bulwark against self destruction, especially when the marketing department eggs you on. Being able to identify it in others can be useful and alienating.

Yes, there's much to reflect on in The Great Gatsby. In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since. Whenever you feel like criticizing anyone, he told me, just remember that all the people in this world haven't had the advantages that you've had.
In my world, taking a dimensional modelling class from Ralph Kimball was almost instant enlightenment.
This may be unusual but in my business school, we had a department that focused on Psychology and Org. Behaviour. They offered a free evaluation (they used the California Psychological Inventory [1]) and consultation for all students. The main upshot of what I discovered from that interaction was that relatively shorter term, expertise based project style work is what suited my personality the best. I only applied to consulting style jobs out of college and joined what was effectively an internal consulting arm of a large multinational and am now a globally recognised expert in some domains within the company. Compared to my peers, this knowledge did help me avoid a lot of angst finding a role fit.

[1] https://en.m.wikipedia.org/wiki/California_Psychological_Inv...

Pro Git(https://git-scm.com/book/en/v2). You'd be surprised how many people in our professional community try to get by in life having never just sat down and read the documentation on their tooling. Obviously the git man-pages are terrible enough that we have goofy parody generators, but its okay because this book exists.
So, I went to bookmark this and I already had it bookmarked in exactly the place where I was planning to file this. Sigh.
So much this. I’d absolutely recommend everyone read the internals chapters, since they’re approachable and really give you a sense for how git thinks. I feel like after reading that chapter, all the superstition around git faded away for me
Seriously, after reading this book I have never had any doubt or fear using git. I have to google all the commands that I don't use everyday due to the peculiar lack of consistency in the TUI, but my understanding never wavers.
This. Learn your ide shortcuts, it crazy how fast you can do things with keys o ly
OED. Growing in the Soviet Union, where English proficiency was pretty low, I learned English in a specialized school. I chose to improve and maintain my language skills by procuring and reading English books and taking additional classes. When computers become popular, I had an instant advantage by understanding user interface and documentation and having access to books that were unaccessible to my peers unless translated to Russian.
I love the OED. I have a paper copy of the older edition (the 2 volume one with a magnifying glass). The histories of words is so interesting. I always tell people (English non-native speakers or my kids learning English spelling etc. in school) that in English the spelling of a word is telling you the history of the word. But the ways meanings slip around and so on is infinitely interesting.
When I started making money I bought the full 22 volume version. Awesome fun.
Never Split the Difference - a negotiation book by famous hostage negotiator.

It's so immediately useful and practical, my entire team used it to collect massive amount of debts and enact other business changes. It was invaluable, and I make everyone I know read it.

This is a very good read. Useful from the start, very pragmatic.
+1 especially the bits about how No Deal is better than a Bad Deal (that was a massive realization for me).

What makes the book unique is how the emphasis is on the emotional aspect of negotiation rather than the pure rational, as rarely are negotiations emotion-free. Furthermore, it's important to be empathetic with your opposing party to understand their viewpoint, and how the enemy isn't your opponent, rather the issue at stake.

I see a good amount of overlap with the other excellent book Nonviolent Communication.

Geoff Hinton's Coursera course on neural networks in 2012. Today everyone knows about deep learning. Knowing about deep learning in 2012 was a superpower. And being able to take a course from a pioneer of the field, for free, was just incredible.
During my senior year, my government teacher called people out for saying like every 5 words. For the entire year. He used to be a former lawyer.

This has got me into the habit of always listening as I speak and it has been extremely worthwhile.

"He used to be a former lawyer."

This sounds like the start of a Mitch Hedberg joke.

> called people out for saying

I'm not quite sure what you're trying to describe but -- are you referring to the socratic method?

Called people out for saying the word "like" every 5th word
Oh, that makes way more sense!
I am sure it's not this way for everything but, for my own experience, I will answer with no. I would also doubt anyone in recent times who said they had a book or course like that.

I've found competition to be so intense that, for example, my university restricts access to course syllabi and class information of certain courses because so many people would go through it and try to get a head start on it, sometimes years in advance, so they could have a shot at an A. There are old course notes and syllabi from 2012 that float around the internet that people use now since it's mostly the same.

It's hard to picture a book that could give you an edge without anyone else knowing about it.

There are so many books that have given me an unfair advantage. I could easily list a dozen but the question asks for one.

I'd say we live in an age of overinformation. There are books that give you an edge, like Never Split the Difference, and then everyone reads it, and then everyone reads the summary of it, then everyone criticizes the summary (which the original book itself has addressed), then everyone reads the criticism and concludes that the book is bad.

You can ask people what a startup is, or what a MVP is, or TDD, and I assure you most would not have the original definitions or purposes from the books. A lot of people think TDD is 100% test coverage or that a startup is a business, but these are all wrong by definition.