Responses from https://news.ycombinator.com/item?id=33854815, but sans the drama and only containing books not about coding.
- The Goal by Eli Goldratt: It is a novel about optimizing a factory, but it is immensely valuable in thinking through what are the actual constraints on your team's ability to deliver software and how do you fix it without making other things worse. The Phoenix Project is kind of a modern retelling, but I'd start with The Goal.
- The Principles of Product Development Flow by Reinersten: Great for thinking deeply about how you deliver value through your system and the tradeoffs you are making in what you choose to focus on next. Once again it isn't specific to software, but very relevant.
- The 5 Dysfunctions of Teams by Lencioni: Common team problems and what to do instead.
- Influence: Science and Practice by Cialdini - How to get people into agreement so you can move forward--a skill that can be used for both good and evil.
- The Little Schemer by Friedman and Felleisen: It is kind of hard to describe why this would be useful, but I felt it made me think more deeply about what it means to program a computer in ways that indirectly supported the topics you mentioned. Or maybe I just happened to work through it at a point in my life when I was growing in those other areas too.
- The Effective Engineer by Edmond Lau: Covers how to focus on what you work on based on the leverage it provides you.
- The Design of Everyday Things by Don Norman: That book changed my life. I would consider it required reading, for anyone that develops anything that will be used by other humans.
- The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks: still relevant re: people are the key to getting things done; understand how people work together.
- Becoming A Technical Leader by Gerald Weinberg: Jerry, working for IBM, designed the telemetry system NASA used to track early manned space flights and then spent a career helping organizations, teams, and people achieve their goals, both technical and personal. He wrote many books on the topics you mention, all of them worthwhile. I picked this one as a place to start.
- Making Things Happen by Scott Berkun: Berkun was a successful developer and product manager at Microsoft and the book captures his reflections and research on project management.
-
Peopleware: simultaneously very insightful and very obvious. It’s also a bit of a marker in time of how software development worked. I’d say a lot has improved with remote work, at least for some companies.
-
The Mom Test: pretty helpful for honing a product mindset. I’ve fallen into the trap of writing code simply because I find it less daunting than talking to users. The Mom Test is a good reminder on priorities.
- Staff Engineer: Leadership beyond the management track by Will Larson
- Deep Work by Cal Newport: What you need to know from this book is that to write good software (both quality and quantity) you need to go deep. You need to fully absorb and understand the problem in your mind, BEFORE you begin writing code. And then, you need quiet undistracted time to map the thoughts in your mind, to code on paper. This process of turning a mental model in your mind, into a well designed code model, takes more focus than you think (if you want to do it well). Give yourself a quiet room with no visual distractions. Just you, and your code. Set aside a few hours. Most importantly of all - Remove the possibility in your mind, that a distraction could happen. I cannot emphasize this enough. Your mind will not go deep if, even on a subconscious level, you think a distraction could come. A text message, a spouse walking in, a co-worker asking a question, etc. These all need to be (as reasonably as possible) NOT possible so that your mind can go quiet, and you can take on the work.
- Drive: The Surprising Truth About What Motivates Us by Daniel Pink: some of the concepts it talks about are also of interest (on how to ensure workers are motivated and I’m not talking about “the beatings will continue until morale improves” :)
- A Philosophy of Software Design by John Ousterhout
-
The Manager's Path by Camille Fournier
-
An Elegant Puzzle by Will Larson
The Science of Storytelling - Will Storr
Influence - Robert Cialdini
Thinking Fast and Slow - Daniel Kahneman
Antifragile - Nassim Taleb
How Innovation Works - Natt Ridley
The One Thing You Need to Know - Marcus Buckingham
Team of Teams - General Stanley McChrystal
- The Missing Readme: The Missing README fills in that gap—a distillation of workplace lessons, best practices, and engineering fundamentals that the authors have taught rookie developers at top companies for more than a decade
- The Staff Engineer's Path by Tanya Reilly and it’s really good (so far). It’s a great thing to read at the point it sounds like you have reached, where programming a little better is no longer going to move the needle, even if you aren’t in a position to apply everything in it yet.
Assorted Non-Book Readings:
- https://randsinrepose.com/dont-skip-this/
- http://www.stilldrinking.org/programming-sucks
- https://sysadvent.blogspot.com/2019/12/day-21-being-kind-to-...
- https://donellameadows.org/archives/leverage-points-places-t...
- https://grugbrain.dev/
- https://changelog.com/posts/rich-hickeys-greatest-hits
- https://github.com/papers-we-love/papers-we-love/blob/master...
- http://www.cs.unc.edu/techreports/86-020.pdf