I think we need to also educate people on the difference between software development as a hobby and as a profession.
If I just need to build a storage shed or garden sun-shelter for my backyard, I can build it to any standard of quality, or lack thereof, that I want. It can be completely wonky, as long as it works for me. But if I want to build storage sheds for other people, the rules change. I need to build them to at least a minimum standard of quality, people will expect the trim and paint and the like to not fall off or peel, the doors can't fall off the hinges if you push them wrong, that sort of thing. And if I don't build to those minimum standards I'm going to be held legally liable for the shortcomings.
The same thing applies to software development. Just because you can slap together a to-do list app that works for you, doesn't mean it's ready to market to others. One of the problems is that you can market it without facing any liability for poor quality, and the absolute maximum liability you may face is to have to refund the purchase price. There's no other field where that's the case. Besides education, IMO we need to remove the ability for software publishers to disclaim liability for damages and the implied warranties of merchantability and fitness for purpose. Make it clear that when you move from writing quick apps for yourself or your friends to marketing your software to the public, you're moving into a realm where you're going to be required to meet certain minimum standards of quality whether you like it or not and you'd better be prepared for this.
Yes, this would hurt many software publishers. IMO they need hurt, because the quality of their work is far from what I'd call professional or even reasonable for what they advertise it as.