I'd say that you get to be an engineer if the "Engineer" is printed somewhere on your diploma.
Unless you drive trains.
Engineer is a professional designation. It requires a BS, a series of exams, and years of work experience. Engineers are regulated by professional organizations. Unless you've gone through the training and the tests, you aren't an engineer. You're a developer.
That said, I strongly discourage software developers from using the term "engineering", mainly because I don't want the PE folks to start thinking they have any sort of business licensing software practitioners or getting involved in evaluating their competence.
As a math major (abet one with an MS in Industrial Engineering), I put no claim on engineering, and I dispute any claim engineering has over software. I think CS is more a branch of math than of engineering - so if the PE folks want to interfere in this, they can start by going back to college and taking a couple years of real analysis, abstract algebra, complex analysis, advanced linear algebra (with proofs, not some watered down "applications" course), and number theory. When they're ready to pass an in-depth exam on those subjects in order to get licensed to write code (after failing the first time), they'll have a taste of what regulatory capture really means.
It is, but designing software isn't CS any more than designing bridges is physics.
I'm not really in favor of a professional license for software "engineering" - but if there were, I'd say it should stand completely apart from the PE.
The PE exam writers should feel free to include whatever software questions they like as they license, say, civil engineers, but they should stay in the business of civil engineering.
If you want a title to mirror your ability, choose one that refers to abilities. (And again, yes, due to hystorical reasons, those are rare. Want to start a trend?)