I wrote this for several reasons. Of course, self-interest is one of them. I wanted it to be available to potential employers or consulting customers as an example of my written communication skill and to show that I do spend time educating myself in my chosen field. But I also like discussing many theories.
Some of these books may not appear to be related to software development, but they did have an effect on the way I work, so I list them.
- Peopleware: Productive Projects and Teams, by Tom DiMarco and Timothy Lister
- If I could only recommend one book, this would be it. (And I have recommended many times over the years.) It was one of the books they should have made me read in college.
- This book is about the people working on projects. It shows exactly why problems for people are problems for the company project. If you something is a problem, but you have a hard time getting others to help fix it, this book can help you explain the problem in terms that get attention.
- I got very lucky when my wife bought the audio version for me as a gift. The audio version is no longer available to buy except as used cassette tapes.
- Writing Solid Code, by Steve Maguire
- This book is the second I would recommend. It details practices that are so effective for producing bug-free code that they are timeless (even though the provided code examples are somewhat obsolete.)
- Debugging The Development Process, by Steve Maguire
- The sensible practices in this book show why Steve gained a reputation for turning projects around.
- The Innovator’s Dilemma, by Clayton Christenson
- Lateral Thinking: Creativity Step by Step, by Edward De Bono
- Hacking and Securing iOS Applications, by Jonathon Zdziarski
