BTW, there are people who definitely “Engineer” software they are rare, but they exist, especially at the FAANGs. There are lots of people who have the word “Engineer” in their title that shouldn’t, a fine alternative is “Developer”.
What’s the difference? A developer is implementing a known solution in a specific domain. An engineer is dealing with a significantly unique problem space that has only been addressed by theory, if that. Engineers spend a lot less time programming than Developers do, because their primary occupation is solving tough problems with their colleagues through documentation, RFCs, etc. They often are not the ones who even implement their own ideas. Wait, isn’t that a Software Architect? No. Software Architects plan and documents in known solution space, they aren’t solving unknown problems.
Most people that I’ve worked with in Software have never worked with a Software Engineer before.
Sorry but 100 times no. Engineering is about understanding and using the laws of nature in scientific terms (mathematics). Strength of materials, thermodynamics, hydraulics, that's the stuff engineers study and do.
For me to call myself an engineer legaly I have to have an Engineering degree. I don't have one, so I will not call myself that.
I am a Software Developer. I do the exact same things as the Software Engineer sitting in front of me. We work on the same type of problems in the same Avionic Project. The difference is that he has a PhD and I dont.
This is a very high standard for defining engineer and I'd guess most practicing engineers don't meet it. Sure, there's people bridging the gap between theory and practice, but most engineering effort goes into applying the same well-understood theory and practice to slightly different situations. I'd posit that your definition of software engineer is closer to what most people would call a research scientist.