To call yourself an engineer you need an Engineering degree from a qualified institution (4 or 5 years), at least 2 years of apprenticeship (effectively), and to pass a difficult examination.
They're not typically huge fans of people who haven't done those things calling themselves "sanitation engineers" or "software engineers" instead of "janitors" and "programmers". The argument I usually hear is that it undermines their profession; people can hold the work of an engineer to a particular standard. If suddenly I can say "oh, I'm a software engineer" without anything backing that up, it damages the reputation of "engineer" if I behave poorly.
Unfortunately some higher ups don't seem to understand what the title engineer means. I have a formal comp sci education and I have heard things like "We can't pay you $x, you aren't even an engineer!".
Walk into an interview with a ring on your pinky (I am serious) and you have an edge on the field.
However, this is only for someone offering engineering services directly to the public. If you do engineering work for an employer, then you enjoy an "industrial exemption." At my workplace, we design stuff, then the design is checked by a third party (such as a regulatory approval outfit), which provides a technical report signed by a licensed engineer.
When people start their own side businesses, they call themselves "technology," "research," and so forth.
From what I've observed, remarkably few engineers do any engineering, such as determining appropriate strengths of structures, etc. Most product design work seems to be done by trial and error.
[0] Lawyers, on the other hand, undergo very extensive examination, and they can only practice law if they are members of the Ordem.
Calling yourself an engineer without a license is like calling yourself a doctor or a lawyer without a license - it's a crime.
Again, software engineers are a little less troubled than say civil Engineers, but you should expect that a potential employer asks to see your dimploma/certification at job interviews (I have been asked that several times, and have asked it from candidates as well).
Well, I wouldn't call it difficult. If you paid attention at all in those years of school and apprenticeship, you'll waltz through the exam without even studying.
There are universities that offer degrees in Software Engineering here in Canada, and it is officially an engineering accredited degree, but in practice I've never met a P.Eng in software. This is relevant since one of the steps in getting a P.Eng is apprenticeship... and if you have nobody to apprentice under? Then you've got no P.Eng.
I'm sure they exist, but I've never met one.
/Systems control engineering grad, but no P.Eng and I just do code-monkey work.
Especially when you look at recommendations that on software engineers with a P.Eng should be able to do any sort of software architecture, and only easy-to-follow tasks should be doled out to the other developers. (I can't find supporting links to this now, but have read these proposals in the past)
In much of the United States, however, the term is not protected. You may be able to call yourself a software engineer without having any training or experience whatsoever.