We were doing a panel discussion on agile perspectives, and a book recommendation came up from Jamie Phelps. And folks asked if we had a book list …
Well, we do, in fact, have a list. We call it our Reading List for Consultants. And it’s really more a mix of books, wikis, talks, screencasts, and tutorials. Part of our onboarding at Test Double for all Double Agents is recommending reading/viewing these during growth time.
This reading list evolves over time, and the content covers topics in software development, business, people, and productivity. Why business? Our consulting developers often help engineering teams figure out things like how to communicate with stakeholders or influence decisions across the entire business organization. And understanding how and why business decisions are made can make you more effective in any role.
We start out with must read and must watch and then have more good stuff. Really all of these are awesome, but we emphasize the must read and must watch because they have been really impactful at Test Double. If you haven’t read or watched these yet you really should as soon as humanly possible.
Must read books
Read them in this order.
- Practical Object Oriented Design in Ruby — Definitely read ALL of this book. It’s fantastic.
- Working Effectively With Legacy Code — Read the first few chapters to get comfortable with “extracting things and giving them names”
Must read Test Double wiki content
Must watch conference talks
- Ben Orenstein — Refactoring from good to great
- Gary Bernhardt — Boundaries
- Jim Weirich — Writing SOLID ruby
- Justin Searls — How to program and How to stop hating your tests
- Michael Lopp — The New Manager Death Spiral
- Nikolas Means — How to crash an airplane
- Sandi Metz — Nothing is Something and SOLID Object Oriented Design
- Simon Sinek — Leaders Eat Last (also a book)
Good screencasts
- Destroy All Software
- JavaScript courses from Egghead (especially React)
- Ruby Tapas & More on Graceful.dev
Good tutorials
- Exercism
- Rails for Zombies
- RubyMonk
- Ruby on Rails Tutorial (book), Michael Hartl
Good developer books/reading
- Agile Coaching, Rachel Davies & Liz Sedley
- Agile Retrospectives, Esther Derby & Diana Larsen
- Badass, Kathy Sierra
- Coaching Agile Teams, Lyssa Adkins
- Escape Velocity, Doc Norton
- Extreme Programming Pocket Guide, Shane Warden
- The Five Dysfunctions of a Team, Patrick Lencioni
- Growing Object Oriented Software Guided by Tests, Steve Freeman & Nat Pryce
- Helping, Edgar Schein
- Lara Hogan’s blog
- Leading Lean Software Development, Mary & Tom Poppendieck
- Management 3.0, Jurgen Appelo
- Mythical Man Month, Frederick Brooks
- Refactoring, Martin Fowler
- The Pragmatic Programmer, Andy Hunt and Dave Thomas
- The Effective Engineer, Edmond Lau
- Thinking in Systems, Donella Meadows
Good business books
- Competing Against Luck, Clayton M. Christensen, Taddy Hall, Karen Dillon, David S. Duncan
- Good to Great, Jim Collins
- The Goal, A Business Graphic Novel, Eliyahu M. Goldratt & Dwight Jon Zimmerman followed by Critical Chain, Eli Goldratt (And follow this up by searching for Theory of Constraints criticism.)
- How to Measure Anything, Douglas W. Hubbard
- Influencer, Brittany Hennessy
- Never Split the Difference, Chris Voss & Tahl Raz
- Obviously Awesome, April Dunford
- Organizational Culture and Leadership, Edgar Schein
- Spin Selling, Neil Rackham
- To Sell is Human, Daniel H. Pink
- The Challenger Sale, Neil Rackham
- The Toyota Way, Jeffrey K. Liker
Good people track books
- Crucial Conversations, Kerry Patterson, Joseph Grenny, Ron McMillan, Al Switzler
- Drive, Daniel H. Pink
- How to Win Friends and Influence People, Dale Carnegie
- A Human Error Approach to Aviation Accident Analysis, Douglas a. Wiegmann, Scott A. Shappell
- Radical Candor, Kim Scott
- Secrets of Consulting, Gerald M. Weinberg
- Switch, Chip Heath & Dan Heath
- The Trusted Advisor, David H. Maister, Charles H. Green, Robert M. Galford
- Thanks for the Feedback, Douglas Stone, Sheila Heen
Good productivity books
- Deep Work, Cal Newport
- The Productive Programmer, Neal Ford
- Atomic Habits, James Clear
- The Power of Full Engagement, Jim Loehr, Tony Schwartz
- 7 Habits of Highly Effective People, Stephen R. Covey
More good content
- Justin Searls — Breaking Up With Your Test Suite, How to Trust Again, Good Migrations, Test Double vs Sinon
- Steve Jackson — Looking For Failure
- Sandi Metz — All The Little Things, Get A Whiff Of This
- Katrina Owen — Therapeutic Refactoring, Here Be Dragons
- David Copeland — Overcoming Our Obsession With Stringly Typed Ruby
- John Cinnamond — Extreme Oo Ruby
- Simon Sinek — The Finite & Infinite Games Of Leadership
- Jim Weirich — The Grand Unified Theory Of Software Engineering