Since I started in the early 80's every generation thinks they can standardize things, license programming, make things from perfect reusable parts that work perfectly, and generally turn programming into recipes. Every generation fails.
In reality software is a mess because none of those things are possible because complexity is inherent in what we do, and what is expected of us, and there has never been any way to satisfy everything we are asked to do with some magical silver bullshit, err, bullet.
Even if you wanted software "Professional Engineers" to be a thing, how would you even do that, with 100's of programming languages, operating systems, software environments and industries all with different needs, and in an industry that changes every single day. Bridges have been built for thousands of years, software has changed radically and continuously since I started in 1981. As soon as you defined some standard to test against, it would be obsolete.