
A Philosophy of Software Design, 2nd Edition

it is more important for a module to have a simple interface than a simple implementation.
John Ousterhout • A Philosophy of Software Design, 2nd Edition
Another thing to consider is that one of the most important factors for success of a company is the quality of its engineers. The best way to lower development costs is to hire great engineers: they don’t cost much more than mediocre engineers but have tremendously higher productivity. However, the best engineers care deeply about good design. If y
... See moreJohn Ousterhout • A Philosophy of Software Design, 2nd Edition
All programming requires is a creative mind and the ability to organize your thoughts. If you can visualize a system, you can probably implement it in a computer program. This means that the greatest limitation in writing software is our ability to understand the systems we are creating.