* 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.
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.
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 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.
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.
Nowadays, on weird books or ideas, I’d say:
* The technique of Focusing by Eugene Gendlin
* Shinzen Young’s writing on his See-Hear-Feel noting meditation technique
* Or, similar to focusing but much, much weirder: Jack Willis’s Reichian Therapy for Home Use (available free on the internet)
Every single book here has its own issues, but they all elaborate on listening to the body, and the subtle ways we hold stress in our bodies. They’ve helped me understand too that there’s a difference between being emotionally fat and emotionally expressive: the former is like a McDonald’s meal, the latter like a fine dining meal.
I’ve struggled with generalized anxiety all my life, and this stuff has really helped me deal with it without pushing it away. On the actual real reduction-of anxiety I still feel fairly clueless.
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.
* Operating Manual for Spaceship Earth - specialisation is for insects.
* Propaganda - 1928 book by the inventor of public relations and modern media. Know how they influence you.
* The war of art - being a professional. Honesty I don't think this book was written by a human this book completely changed my life and any other person I for to read this book had a similar experience.
I have more but I don't want to information overload anyone.
This has got me into the habit of always listening as I speak and it has been extremely worthwhile.
[1] https://en.m.wikipedia.org/wiki/California_Psychological_Inv...
This book taught me so much about how to manage my life, and taught me how to review my own systems.
* SICP, On Lisp, and Let over Lambda
It's hard to pick one exactly, because really it's about opening your mind to radically different programming paradigms than what's popular.
Learning lisp well enough gives you confidence to attempt to create new programming languages, through code generation, or even mentally thinking about an API as a language rather than just a series of functions.
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.
* Never Split the Difference. Don't even think about it - read it. The book is a life coaching chapter that everyone should learn.
* The Seventh Sense: Power, Fortune, and Survival in the Age of Networks. Everything is a network. From wars, to economy, to minorities, to terrorism. Understanding what truly lies behind the concept of "network" is just as well one of those life coaching chapters everyone should learn.
Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App by Lance Halvorsen
Elixir and Phoenix have been fantastic for my productivity. I had a fairly short, but steep learning curve in the early days, but LiveView is amazing and replaces quite a bit of client side javascript that previously felt redundant to me. I've been getting a quicker time to completion, and correspondingly being paid faster than when I was working with more traditional stacks like Django or Rails.
Greatly improved my efficiency in gaining understanding from printed works, so acted as a force multiplier across several aspects of life.
Learn (self-)hypnosis. "TRANCE-formations" by Bandler and Grinder (and Bandler's other books as well) and "Monsters and Magical Sticks: There's No Such Thing as Hypnosis?" by Steven Heller.
Robert Anton Wilson's books are pretty good too. Also "Angel Tech: A Modern Shaman's Guide to Reality Selection" by Antero Alli.
Personal Finance is one subject that is not taught is any school across the board. Previously, my spouse and I were influenced by whatever the insurance seller peddled as the best.
Post this course, we can identify most bad investments from good ones and have a basic but solid financial plan for the future.
I have taken many courses, but certainly this one has stuck with me. And I took this one a decade back!
* The Selfish Gene
* Probability: For the Enthusiastic Beginner
* How to Measure Anything
* Rationality: From AI to Zombies
* Cynefin: Weaving Sense-making into the fabric of our world
* Major works of Friedrich Nietzsche
Coder’s At Work is a collection interviews with several brilliant programmers. This book gave me confidence during a time where I didn’t have much. My main take away was that every programmer was different and have different values. There was no archetype, it destroys the notion of identity (all programmers are this, went to this school, care about these things, are good at this, wear hoodies, etc). Must read.
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.