Personally.... My father's an engineer (mechanical). I know what goes into studying to be an accredited engineer. I will never use the title Engineer for myself (I'm not one)
When, several years ago, my official title was "Database Engineer" I refused to use that title and made up one that I was more comfortable with and used that in email (wasn't important enough to have business cards at the time)
I sort of approve of that, but I have a sneaking suspicion that you could teach most so-called software engineers and some real software engineers too a few things about software engineering.
I used to refuse to be have a title which included "engineer" because I thought of myself as first and foremost an applied mathematician even though much of what I was doing was really engineering and I had passed my instutution's (the BCS's) professional level 1 examination and been exempted from their level 2 examination as a result of my other (academic) qualifications. But then I became a Chartered Engineer and later a European Engineer (that's a pretty pointless qualification, I think) and had been approved by the Institution of Electrical Engineers as a mentor for formal training and mentoring of graduate engineers seeking professional membership, and eventually I joined the Institute of Electrical Engineers. At that point I realised it would be silly to argue about Engineer in a job title if my business card had "Eur Ing Tom Thomson CEng FIEE" on it so I ought to admit that somewhere along the line I had mutated from a mathematician into an engineer. After that of course no-one ever suggested a job title for me with Engineer in it :hehe:.
I agree with the comment someone made about most so-called software engineers not being engineers; in general people with that job title are run-of-the-mill programmers. They would never think of using queuing theory to help predict performance or response latency or storage requirement in systems whose components communicate by passing messages, they generally haven't a clue how to generate random data with a particular distribution or even know that it is often useful to do that for simulation or for performance prediction or for testing let alone why it is useful for those things, and they usually believe that formal methods are valuable neither in design nor in testing (if indeed they have ever heard of formal methods at all) and they tend to think that error management is a bizarre concept rather than a central principla of engineering - and any one of those failings makes it clear that they are not software engineers (and having all those failings together, which seems to be the norm, indicates that they are not engineers of any sort).