I am a computer scientist and when someone calls me engineer I feel insulted. My brother is a software engineer and he doesn’t want to be called other thing.
My assumption is that the work engineer was used to describe those who build things. The same way as architect was used to describe those that draw things and manager to the one that wants thing done. IT also adapted others words before to be better understood (keyboard, monitor, mouse, storage, folder…).
I consider development a science because each person has a different approach to solve a problem, we experiment, algorithms are our theories and they are valid until someone comes up with something better. An engineer just builds based in mathematical models developed by someone else. What’s fun in that?
Even if the name doesn’t limit what a person can in fact do, I consider that having anything but scientist in the description makes it sounds monotonous and dull.
About the when, we can always check on Google. Google Ngram on this case. Coder was used long before computers. Computer programmer was the first job-specific term (of the ones I could remember) then came CS, SE and SD.
CS started a small fall in the late 80s, but all the others took a blow in 2000. Maybe the .com bubble crash?
Now some other terms are rising like data scientist, machine learning specialist, and some strange designations like code ninja, jedi developer or unicorn hunter. If they feel comfortable with that, the name doesn’t matter.