Although there are methodological similarities, engineering is not science (see the previous post). But there's an important methodological artifact that science and engineering share.
In science, theories must be intelligible. You want to explain something to other people, so they can understand it. This is true in many human endeavors, and it's true in engineering as well.
But there's more: we program within the context of what seems to be an 'explanatory theory' of a computational model, one we have implemented as a development environment on the machine. It's not a theory about some universal principles in the natural world ... it's a 'theory' about something that we have created. In an important sense, it is not a theory ... it's an explanation of our construction.
This explanation is similar to an explanatory theory in an important way: technical terminology only makes sense, and is only intelligible, in the context of the explanation.
So, the practice within technological work -- defining highly restricted terms within the context of an intelligible explanation -- uses the same criteria of intelligibility that scientists use, when explaining results in terms that are understood only within an explanatory theory!
No wonder science and engineering can seem so similar! Both have a need for precise jargon, in the context of a long explanation!
But one is a theory, because it attempts to explain, not something we've built, but something that we believe is going on in nature. The other, I'm sad to say, is just an explanation.
That's my pre-theoretical guess about a factor involved in the human organism's common confusion between engineering and science. There are many other factors, but no terminology, and no theory ... because there's no scientific work on this topic.