What Do Bridges and Software Tell Us about the Philosophy of Engineering?