Recommended Reading

These books have helped shape my view of business and software development.  I highly recommend them all.

General/Business (by Author)

Clayton Christensen

  • The Innovator’s Dilemma
  • The Innovator’s Solution
  • Seeing What’s Next
  • Disrupting Class

Christensen’s insights are outstanding and provide a foundation for understanding disruptive technologies.

Marcus Buckingham

  • First Break All the Rules
  • The One Thing you Need to Know
  • Now, Discover Your Strengths
  • Go Put Your Strengths to Work
  • Standout

Buckingham’s interpretation of voluminous research on effective companies and individuals is invaluable and somewhat counter-intuitive.  These books are a must read if you manage teams.

Stephen Covey and son

  • The 7 Habits of Highly Effective People
  • Principle Centered Leadership
  • The Speed of Trust

The Coveys publish some great stuff if you care about what really matters and want to address the core of success.

Malcom Gladwell

  • Blink
  • The Tipping Point
  • Outliers
  • David and Goliath

Gladwell is more theoretical in nature but fascinating to read. He has some excellent insights in these books.

Joel Kurtzman

  • Startups that Work

Kurtzman looks at the 10 critical success factors that make new companies succeed. If you have done, or are doing startups, this is a good read.

Thomas Friedman

  • The World is Flat
  • Hot, Flat, and Crowded

These are excellent books about the trends developing in the world around us.

Jim Collins

  • Good to Great
  • How the Mighty Fall

These books describes the common traits of companies that produce sustained results.  And, common stages of companies’ failures.  They are very well researched and clear in presentation.

Daniel Pink

  • Drive:  The Surprising Truth About What Motivates Us

This is a fantastic book.  If you manage people, it is a must read – especially knowledge/creative workers.  The odds are pretty good that what you are doing to motivate your people may, in some cases, have the opposite effect.  This book will help you understand what is likely to work and why.

Software

Note: No single author has consistently delivered a series of outstanding books (in my opinion), so these are just listed together.

  • The Mythical Man Month, Fred Brooks. This is a classic that everyone should read.
  • Peopleware, Tom DeMarco & Timothy Lister. What makes teams effective, these guys have some good ideas here.
  • The Software Project Survival Guide, Steve McConnell. A very practical approach to managing software projects.
  • Design Patterns, Gamma, Helm, Johnson, and Vlissides. Don’t reinvent the wheel.
  • Enterprise Integration Patterns, Hohpe and Woolf. Don’t reinvent bigger, larger collections of interdependent wheels.
  • Concurrent Programming in Java, Doug Lea. This book introduces many of the concepts of multi-threaded programming while illustrating them with specific Java examples. This is a must have, given that most of the gains in computing power will be achieved through concurrency rather than clock speed in the foreseeable future.
  • Scaling Software Agility, Dean Leffingwell. Leffingwell provides an overview of agile methodologies and common practices. He then shows how to extend agile methods beyond the small team to a larger group or enterprise.