These books have helped shape my view of business and software development. I highly recommend them all.
General/Business (by Author)
- 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.
- First Break All the Rules
- The One Thing you Need to Know
- Now, Discover Your Strengths
- Go Put Your Strengths to Work
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.
- The Tipping Point
- David and Goliath
Gladwell is more theoretical in nature but fascinating to read. He has some excellent insights in these books.
- 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.
- The World is Flat
- Hot, Flat, and Crowded
These are excellent books about the trends developing in the world around us.
- 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.
- 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.
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.