Eric Drexler talks about at least two important differences between science and engineering, in spite of their sharing the same language:
The information flows that link these levels are antiparallel: In scientific inquiry, physical systems shape their descriptions through measurement, and the results constrain and shape general, abstract models (theories) by testing them. In engineering design, by contrast, descriptions (specifications) shape physical systems through fabrication, and general, abstract models (system concepts) shape descriptions through design.
While science aims (ideally) to produce exact descriptions of all parameters of all members of a general class of physical systems, engineering aims to manufacture instances of a single kind of system, making choices to ensure that itsfunctional parameters will equal or exceed those specified by a design description.
Likewise, while science aims to formulate a single theory that exactly fits all parameters of every description, engineering aims to design at least one description of a system having functional parameters that equal or exceed those required by one of a potential multiplicity of system concepts.
In this connection, is a proliferation of possible ways of satisfying a constraint good, or bad? In science, finding more possibilities creates greater uncertainty; in engineering, finding more possibilities provides greater freedom of design. This is a basic question with opposite answers — and there are many more.