I like this practical (rather than philosophic) formulation:
A scientist observes and describes what is but which has not been observed before, or causal relationships between existing or new observations or – when necessary – creates the language to make such descriptions possible.
An engineer uses what is together with known causal relationships to create artefacts.
Where such artefacts are created for the first time he is also an inventor.
Tags: difference between a scientist and and engineer, engineer, scientist