I believe that having a side hobby like wood working makes you a better developer.
A key aspect of physical hobbies is that there is no backspace key.
If you've been working on a piece of wood for an hour, and you muck up and make a cut where it shouldn't be, or split the wood due to hand holding it on the router table instead of clamping to a jig, you're going to experience an unparalleled level of frustration.
After a while, by osmosis, you will develop a "measure twice and cut once" style of working that is more efficient (for wood working anyway).
I believe that attitude trickles into and benefits your coding. Of course you do have a backspace key, so it's not efficient to be measuring everything twice, but somehow that extra level of care pays off on the keyboard as well.
It somewhat flies directly opposite to one of my main attractions to coding and computing in general - there IS a backspace key, metaphorically and literally.
And yet, I dunno. I think I'm feeling what you're saying.
One of the main downsides of coding and particularly working software development is that it is expected to be endlessly plastic. There are always other decisions you could have made. There's always a little voice saying you could go back and make it better. The anxiety of choice. Maybe you could rewrite it in a different language? Or with a different framework? Could we have it in cornflower blue?
With things like woodworking: to cut is to choose. You can't go back, so you've also cut away a huge part of the decision tree looming behind you.
Surely it's not quite such a big difference, especially as you included "could rewrite it in a different language?" - isn't throwing away the bit of wood you made the cut in to start on a new bit of wood pretty much identical to throwing away the code you wrote in language 1 to start again in language 2? In both cases the you make the decision to consider the work done initially as now waste, in both cases you might have learned from the experience to improve the next version enough that it was worth trashing the first? In both cases it could be a very minor thing (it was the first cut you made in a small, cheap bit of wood / you'd only built the first bit of a basic POC for a small and simple bit of software) or a massive decision (you've nearly finished building your boat or program, and decide a mistake means you need to completely start from scratch).
I suppose the biggest difference is that thanks to the backspace key most mind-changing in development doesn't have to be as major as rewriting in a new language, you so always have the option to undo the last cut rather than throw it away to start again. So maybe my argument is less against there being a significant difference and more against "rewriting in a new language" being a relevant example.
It's true for the code. But not always for the system that the code becomes, or for the consequences caused by outputs of the system.
Examples: Not all database migrations in production are easily undoable without impacting service. Or if the output is used to make say financial decisions, money lost on that might not be recoverable.
So at least a conscious relationship to these potentials is very advantageous when making changes. And also when designing a system, try to minimize the amount of actions that are not undoable without negative side effects. An also to build systems where one can roll forward to effectively undo a change (even if one does not / cannot technically go back).
I feel like Woodworking is mostly about removing material, while blacksmithing is a little less so? Disclaimer all my woodworking experience is from shop class in elementary and all blacksmithing is from YouTube.
> A key aspect of physical hobbies is that there is no backspace key.
Getting a hobby lathe has taught me this VERY well. Something about running a machine that removes a lot of metal very quickly but where your end goal is to be precise to 0.05mm makes you really double check your next move. Bumping a hand wheel is enough to ruin hours or possibly days of work.
A key aspect of physical hobbies is that there is no backspace key.
If you've been working on a piece of wood for an hour, and you muck up and make a cut where it shouldn't be, or split the wood due to hand holding it on the router table instead of clamping to a jig, you're going to experience an unparalleled level of frustration.
After a while, by osmosis, you will develop a "measure twice and cut once" style of working that is more efficient (for wood working anyway).
I believe that attitude trickles into and benefits your coding. Of course you do have a backspace key, so it's not efficient to be measuring everything twice, but somehow that extra level of care pays off on the keyboard as well.