> If you’re a programmer, you might think that the fiddliness of programming is a special feature of programming, but really it’s that everything is fiddly, but you only notice the fiddliness when you’re new, and in programming you do new things more often.
I think I'm drawn to programming because the fiddliness is tractable, and fixable.
In which other domain can I:
* introspect the relevant processes/state, step by step
* snapshot/undo
* fix niggles, once and for all, and for everyone; and get their fixes too
* probe and test my inputs and outputs, checking for quality. Get notified if a part changes in a way that breaks me.
And the only tool I need is a commodity general purpose PC.
When I try woodwork, or even electronics, I'm struck by much friction is in even simple tasks: tools, parts, lead time, safety, space, physical effort, cost, ...
I think this is a very common sentiment among a lot of people, including me.
And also that’s why AI tools create mix reactions. A couple of months ago a post went viral which was really insightful on what I was originally drawn to cs.
Until the next OS update...
With wood you are up against nature. With software you are up against corporations and comities.
Unless you have endless budget, many things can be one-shot. You can't do a test run first, or roll back a cut if the length is too short. You can patch misplaced nail holes, or re-dig a hole (messing up filling a hole with concrete is another matter) and hope you don't kill a tree transplanting it, but the end result isn't clean.
The best I could do with woodworking in the end to approximate programming was live with wasting some timber, leave a lot of margin on the main cuts and size all the pieces as a whole.