A Philosophy of Software Design , by John Ousterhout describes his general strategies for designing software.
Ousterhout published a second edition in July 2021. For the benefit of those who bought the first edition, he has made the new material available for free download at book extract