Re:Things Every Programmer Should Know
by jefffoster on Friday September 20, 2013 @02:28PM
(#6419587)
Jack Reeves essays on software design are also worth a read http://www.developerdotstar.com/mag/articles/reeves_design_m...
The parallels between software and physical construction are pretty amazing.