@zwol But "Writing a program that works for sure, always, for everyone" should be the definition of programming, at least (semi-)professionally. I sing in my shower, with good pitch, I can sing in a karaoke, with success, but am I a singer? No! Real singers have voice techniques and train for hours so they're able to sing and perform in any circumstance, at the drop of a hat, whatever the weather. I can't do that, and it's okay, because I'm not putting in the work to do that.
Programming is the only "engineering" discipline where we somehow think it's okay to deliver something that works approximately in the common case. Would you live in a house made by an amateur Sunday architect? Would you fly in a plane made by a dilettante avionics engineer? Why do we accept from the programming discipline what we do not accept from anything else? We often say "because the consequences aren't as dire", but is it true? Haven't lives been lost because of bad programming? If not lives, how much money has been set on fire because of bugs and/or security holes?
So when you say "Programming isn't all that difficult", I disagree. Being a script kiddie or a wannabe programmer isn't all that difficult. But programming includes the enormous amount of fiddly, tedious detail work that you're talking about, and it is because we as a society fail to recognize this that "software is bad". Yeah, any human construction would be bad if they were also made by DIYers who never properly learned a discipline that was never properly formalized or secured or regulated.