One thing I've been enjoying about working as a technical writer is that the minute-by-minute texture of the work feels right. Something about formatting text, faffing about with SVGs, trying to rewrite a sentence more clearly... it's just enjoyable in itself, and I feel at home with it.
...Working as a programmer was very much not like that. There's something in the rough vicinity of professional dev work that I do like, which I could probably label as 'iterative hobbyist tinkering with websites'. I like working on something with a strong visual component, and I like to be inside of a fast feedback loop, and I'm mostly interested in just somehow bodging through until it works. I'm not very interested in either the computer-sciencey side of programming — data structures, algorithms — or the software-engineerey side of making things run reliably at scale in a maintainable way. So maybe it's not surprising that the minute-by-minute texture of professional programming was just... kind of bad. Occasional fun bits when I got into something, but the background experience was not fun.
What keeps me busy in my classes is trying to help my students learn how to think. They say, "Rob holds his hands like this...," and they don't know that the reason I hold my hands like this is not to make myself look that way. The end result is not to hold the gun that way; holding the gun that way is the end result of doing something else.
…The more general issue is that a person who doesn't understand the thing they're trying to copy will end up copying unimportant superficial aspects of what somebody else is doing and miss the fundamentals that drive the superficial aspects. This even happens when there are very detailed instructions. Although watching what other people do can accelerate learning, especially for beginners who have no idea what to do, there isn't a shortcut to understanding something deeply enough to facilitate doing it well that can be summed up in simple rules, like "omit needless words".