"But fifty years' worth of attempts to turn software development into a legitimate engineering practice have failed."
Nobody has really tried to do this: There's more money to be made by keeping programmers as fungible low-level serfs and pumping out piles of "good enough" code, so all the pressure is against the creation of a proper professional practice.
Why are engineers professional? Because the failures in the past of unprofessional engineers killed a lot of people. (I'm thinking pre-Brunel, not recently.) So societal pressure pushed engineers to self regulate and/or be regulated, and that pressure forced a profession to emerge.
When a LOT of people start dying from bad software, then you'll see people wake up to the dangers: Hopefully you'll see a grassroots push to start to force liability on the producers of software and see some heads roll. That may lead to a push to regulate and control the standards that software needs to meet, and that may lead to some sort of professional software and ITSec organisation that will serve to raise the devs above serfdom and into a professional practice.
IMHO, Linus Torvalds is a heck of a lot closer to a "software professional" than anyone at Microsoft.
(If you take my tone as being critical of engineers, don't. I have the highest respect for engineers and I only wish that software developers and IT security people had the same level of professionalism!)