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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
>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.
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.
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.
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.
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.
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.
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 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.
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.
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.
+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.
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.
118 comments
[ 2.8 ms ] story [ 212 ms ] threadHow seriously would you recommend it?
https://www.calnewport.com/blog/2012/11/21/knowledge-workers...
"Last week I introduced the deep work philosophy" in this blog post links to the one above: https://www.calnewport.com/blog/2012/11/27/some-notes-on-dee...
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.
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
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'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.
I don’t know Latin, but the meaning of the quoted phrase was pretty obvious.
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.
"Please don't comment about the voting on comments. It never does any good, and it makes boring reading." - note also https://hn.algolia.com/?dateRange=all&page=0&prefix=true&sor...
https://news.ycombinator.com/newsguidelines.html
Please especially don't start religious flamewars. We can, and prefer to, avoid that hell here.
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.)
And quoting it in Latin with no translation is incredibly pompous.
It would save me two years.
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.
Two books I read early on that I recommend are The Tantric Distinction and Zen Mind Beginners Mind.
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.
* 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.
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.
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...
I just started on Daniel Kahneman's Noise. It will be disappointing if it isn't one of these type of books.
For anyone interested, I discuss the key takeaways from Antifragile, specifically for software engineers in https://youtu.be/jP6UQPSAk58.
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.
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.
[1] https://en.m.wikipedia.org/wiki/California_Psychological_Inv...
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.
[0] https://www.amazon.com.au/Start-No-Jim-Camp/dp/0609608002/re...
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.
This has got me into the habit of always listening as I speak and it has been extremely worthwhile.
This sounds like the start of a Mitch Hedberg joke.
I'm not quite sure what you're trying to describe but -- are you referring to the socratic method?
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.
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.