A Philosophy Of Software Design

By John Ousterhout

This is a book that every person building software should read. It talks about how to Design Software and how important this phase is. Why is it important? Because it's the way to reduce the complexity of a system, specially, when the system is big or there are a lot of people working with it.

This book has been written by a professor who teaches Software Design in the Standford University. A person who sees more than 90 solutions every year to the same problem. This is something that it's not happening in the corporate world.

Some of the highlights of book.

- Tactical vs strategic coding.

- Deep vs shallow modules.

- Designing things twice: An interesting approach for finding the best design possible is to compare more than one solution.

About John Ousterhout

John is professor of Computer Science in Standford University since 2008.

A book suggested for

This is a book for everyone that work creating software. It does not matter how much experience you have, you will find value when reading this book.