Given all of the comments on here, I think I might have not stated the central point clearly enough. It isn't about getting things 100% correct 100% of the time. No engineering does that.
What we like to call "software engineering" isn't actually engineering, and more like a craft than anything. Actual engineering in software is possible.
I take issue with calling our field software engineering. It's a buzzword.