I don't want a self-taught developer writing flight control, banking systems, or medical embedded systems code. I'd rather have someone formally trained doing that work. On the other hand, there's plenty of places where if the code doesn't quite work right I don't really care that much. From everything of the once-thriving online text based gaming community (the MUSH, MUCK, MOO, MUX, MUD, etcs) to simple web pages or even stupid phone apps, there's a place for "non-professional" programmers.
Similarly, there is a place for non-professional carpenters -- my trained-programmer father has made every bookshelf in my folks house, a couple tables, has redone the 2nd story deck multiple times, and redone the roof (structural and laying shingles) on the horse barn on the back of the garage, and a bunch of brio-compatible track for me when I was ~4. He doesn't redo the main house roof (45 deg slope or more -- too steep), nor does he repoint the structural brick exterior (1920s house) or do plumbing when it involves sweating copper.
He also taught me enough of it (I helped him on most of what I listed above as a teen) that I've done plenty myself; four bookshelves, two desks (one used bookshelves for legs, the other is just an oak plywood surface for a geekdesk base, but stained and varnished a nice deep brown), and one storage cabinet with removable shelves that just happen to be 60x90 LEGO studs in size. Oh and an exterior door on my own 1960s-era house -- that was worlds of fun since while you can order a door and frame to the right opening size, the way houses set doors into the house's wooden structure has changed since my place was built. That was a learning experience (doors are a pain in the ass) and I let professionals have the fun of the next exterior door that needed to be replaced -- who, by the way, cracked the trim worse than I did when they replaced it.
Its about knowing what you know, what you don't, and what you should (or want to) call in a professional for.