Engineering reading list
This page contains references to books about engineering. There is nothing specifically to software engineering on this list, although I would argue that these books on engineering do also apply to software engineering.
Alas, there are few engineers who write about engineering. Two significant exceptions are Henry Petroski and Samuel Florman: both authors appear multiple times in this list.
The Civilized Engineer
Samuel Florman, St. Martin's Griffin, 1988.
Florman is the rare engineer with a liberal arts undergraduate degree. This book cuts across multiple topics that relate to engineering and society, such as history, ethics, education, and risk.
To Engineer Is Human: The Role of Failure in Successful Design
Henry Petroski, Vintage, 1992.
Petroski's big idea is that the field of engineering only advances because of failures. If a building stays up, we don't get any information about whether the building was actually designed and built correctly. However, if it collapses, we know for certain that there was a flaw somewhere.
As a consequence, when there are no failures, engineers will push the boundaries over time until a failure happens, and then the engineering community learns from the failure and takes the failure mode into account in future designs.
Note: this also appears in my systems and failure reading list.
Existential Pleasures of Engineering
Samuel Florman, St. Martin's Griffin, 1996.
This is a collection of essays about engineering, technology, and society.
What Engineers Know and How They Know It: Analytical Studies from Aeronautical History
Walter G. Vincenti, Johns Hopkins University Press, 1993.
From one perspective, engineers and scientists use similar tools for doing their work. In particular, both communities make heavy use of differential equations. However, there are important differences in the kinds of knowledge and tools that the two communities employ. In particular, scientists want models that will help them best understand the underlying reality. By contrast, engineers want models that will accurately predict how some system interest will behave under certain specific conditions. In other words, scientists want explanatory models, and engineers want predictive models.
Vincenti uses the history of avaiation to illustrate the specific type of knowledge that engineers are interested in. The image on the cover of the book is a wonderful example: it shows a collection of alternate propeller designs. Engineers ran empirical tests to determiine which design would perform best, a kind of experiment that would have no interest to a physicist, who is interested in the general principles and would have no use of knowing that one propeller is better than another without the insight into why it is better.
The Essential Engineer: Why Science Alone Will Not Solve Our Global Problems
Henry Petroski, Vintage, 2011.
Engineering is not simply applied science. Petroski describes how engineering differs from science.
On the reading list
I haven't read these books yet.
Engineering progress through trouble
R.R. Whyte, Institution of Mechanical Engineers, 1975
Unwritten laws of engineering
W.J. King, James G. Skakoon American Society of Mechanical Engineers, 2001