I have a client who (prior to meeting me) had sent programming of a module to some other folks - a dead simple thing, so I thought from her description. She'd been expecting me to produce a review of it, and I'd told her I thought there were some things radically wrong with it. But my self-confidence was wibbly-wobbly because it was weird....
I've been programming informally for a lot longer than I've been doing it for a living, entirely because I had the fortune to be introduced to an environment way back in 1996 (a complex variation on a chatroom; MUSH, for you other oldtimers) in which something considerably more than a mere scripting language was available to everyone using the software. The moment I figured out that I could use that language to do things, I was hooked. But it took that Ah-hah! moment of even recognizing that I had a problem, and then that I had been given the tools to solve it.
Preparing Wysiwyg support is easier in Drupal 7, but still takes a lot of configuration in a lot of places. Here's my to-do list for a brand-new setup (with my preferred library, TinyMCE):