Do what they do for all other engineering fields: require a certified engineer sign off on a product delivered to a regulated entity, and be able to hold that engineer criminally liable if someone comes to harm from the product they signed off on. The quality of software for lolzcat apps could remain shitty, but the quality of firmware for FCC approval would go way up. In order for quality to increase for infrastruct…
Do what they do for all other engineering fields: require a certified
engineer sign off on a product delivered to a regulated entity, and be able
to hold that engineer criminally liable if someone comes to harm from the
product they signed off on.
Right, but that's not what OP asked. OP is already assuming that we're in a situation where we recognize the need for certification for software engineers. Let's say, for example, that a plane crashed because of a software bug, and now people are saying that there should be a certification program to ensure that certified engineers have to sign off on software delivered for the aviation industry. The only problem is that no certified engineers currently exist, since this is the first year of the certification program. How would you proceed? Requiring certified engineers to sign off on code is great, assuming you already have a pool of certified engineers available to train up new certified engineers. It doesn't answer the question of how you get that initial pool.