More succinctly: there should be no term "software engineer", unless people need certifications to become them, and face legal consequences when their engineering product breaks and kills people.
Okay, but real engineers can rely on the quality of their building materials, like mortar, brick, concrete and iron, with constant quality through decades or even hundreds of years.
Contrast that with the building blocks the 'software engineer' has to work with. Microsoft might upgrade some DLLs your product depends on, overnight. Will your product still work? Your application probably relies on components written by others. Are they infallible? Can you even inspect the components for defects?
I sometimes have the idea that software is built upon quicksand, and the building blocks can and probably will change before the project is completed.
I don't think real engineers can rely on the quality of their building materials. They do calculations to specify what quality of building materials and assembly is sufficient to surpass a safety threshold, then contractors use the specs are used to procure materials and assemble to meet the threshold.
Real problems occur when an engineers specifies a particular quality and lower quality is used. Or the engineer designs for a set of conditions, and that set is exceeded.
There were three black women at my last workplace. One of them had a positive attitude and everyone treated her wonderfully. She seemed happy, and her and I were good friends. The other two complained constantly, and would whisper to the other black woman (who relayed it to me) that race 'kept her down'. Those two weren't happy, and if they were excluded it was due to their attitude more than anything.