This is a list of talks, articles, books, and interviews that have significantly influenced the way I work.
- Simple Made Easy by Rich Hickey
- Guice talk <-- has a good intro to dependency injection
- Protocol-Oriented Programming in Swift from WWDC 2015
- Controlling Complexity in Swift by Andy Matuschak and the linked talk:
- Boundaries by Gary Bernhardt
- Advanced iOS Application Architecture and Patterns from WWDC 2014
- Especially the source-of-truth section featuring Andy Matuschak
- Architecting iOS Apps with VIPER from objc.io
- This is the source of the router and entity ideas I've used in several apps.
- Related: Coordinator Pattern by Soroush Khanlou
- Expert to Expert: Brian Beckman and Eric Meijer - Inside the .NET Reactive Framework (Rx)
- Rewatch this from time to time. It makes more and more sense as you gain experience in Rx.
- SICP chapters 1–3
- One Page Intro To Microtests by GeePaw Hill
- GeePaw Hill's Change-Harvesting theory & associated ideas like MMMSS and ENOF
- Crucial Conversations by Kerry Patterson, Joseph Grenny, Ron McMillan, and Al Switzler
- The Five Dysfunctions of a Team by Patrick Lencioni
- Tackling Technical Debt at TransLoc by Curtis Martin
- Peopleware: Productive Projects and Teams by Tom DeMarco & Timothy Lister
- What Google Learned From Its Quest to Build the Perfect Team from The New York Times Magazine (Multiple Authors)
- Scrum by Jeff Sutherland
- This is a good intro to the reasons behind Scrum rather than a how-to guide.
- Agile Product Ownership in a Nutshell by Henrik Kniberg
- Forged in Crisis: The Power of Courageous Leadership in Turbulent Times by Nancy Koehn
- On Grand Strategy by John Lewis Gaddis
- Reed Hastings on Masters of Scale, especially:
HASTINGS: Well, the mistakes in Pure was that every time we had a significant error – sales call didn't go well, bug in the code – we tried to think about it in terms of what process could we put in place to ensure that this doesn't happen again, and thereby improving the company?
And what we failed to understand is by dummy-proofing all the systems, that we would have a system where only dummies wanted to work there, which was exactly what happened. And so the average intellectual level fell, and then the market changed and we were unable to adapt to it, because we had a bunch of people who valued following the process rather than the first-principle thinking.
- Every Good Endeavor: Connecting Your Work to God's Work by Tim Keller
- I especially appreciated the commentary on how work is not intrinsically bad or something to be avoided even though it is often challenging and doesn't go the way we want it to.
- Fruit At Work by Chris Evans