Woodworking has been one of my passions for about 5 years now. 99% of what I do is with hand tools - dimensioning wood, planing it smooth, joinery, everything. Some people think it is crazy, but I truly believe it has made me a better developer.
It has caused me to slow down
The choices I make are more deliberate. I stop to think more. I make sure what I am doing is elegant, extensible, and testable. The result is that I spend less time trying to build something and more time actually building it.
I'm not saying I write perfect code (I should tell you about some of the bugs I have caused!) but I understand the code more and find it easier to pinpoint a problem when found.
I pay more attention to the details
Consistency is a sign of a good, clean code base. If you aren't paying attention to the structure and style of code, then the result is a messy project.
Nothing screams "legacy" more than seeing several different code styles intermixed. Unless you have seen it, you might not understand, but the code feels messy, unkempt, and buggy. It doesn't mean it is - it just comes across like that.
Visualizing the design in my head
Woodworking is a 3Dimensional space. You need to know how components are going to interact, move, join together, and assemble. Being able to take a design and visualize how it fits into the system gives you a feeling of freedom. Once you can do that, then you are able to make changes as you go and be confident of the result.
Recognizing mistakes early
This dovetails with the previous one. "Fail early and often" is a phrase I hear a lot, but recognizing when something is going to fail is even more important. Nobody wants to spend the time solving an issue only to find out it won't work or causes another problem upstream.
Recognize not only when something has failed, but will fail. That will ultimately make you a better developer.
Cover Photo by Will Suddreth on Unsplash
Top comments (10)
I see what you did there 😏
But I've recently been getting into woodworking, myself, and have been thinking these exact same things! Do you have any pics of things you've made recently?
Not on me, I typically stick to furniture, but I have a few min furniture things on my abandoned Instagram. @raisedgrain
I miss woodworking. I like being able to create tangible things.
With programming or graphic design your final product is typically digital and not something I can hold in my hands. If I ever end up in a house I definitely want a workshop of sorts to make things.
I couldn't agree more. There is something about holding a physical object you made that the best side project can't do
Woodworking is my hobby. I've built a few pieces of furniture, some of which I'm even proud of.
And though I have a garage full of power saws (miter, table, scroll, band, jig), as I focus more on joinery, I find myself using more hand tools. Recently, in fact, I've started working on a TV stand made with castle joints and mortise & tenon.
Woodworking has made me a better programmer. I spend more time thinking about my materials. More time planning how I do something before I do it. I spend more time experimenting on small innovations before I build a new piece with it.
Case in point, I built a desk with z-shaped legs doing pure joinery.
It seemed like a good idea at the time. I did my POC on a small piece of wood and thought, "oh, this won't take long"
I built those legs five times before I finally got to the end product. And in the mean time, I learned that you shouldn't cut a joint in the winter and add pieces to it in spring (the wood shrunk, and joints didn't fit smoothly)
I might equate this to a "hello world" in React and then building a full blown, production-level app with it. I knew the basics of how to do it, but didn't account for the fact that things would change if I didn't stay up on it.
I also didn't do something basic like consider that the bottom part of the leg was part of my overall height, and that my desk would be 4 inches taller than anticipated.
That's a bit like the unit tests passing, but not ever doing integration tests.
Having to make a real thing, in the real world, with real resources that might be limited makes me more cautious about trying new things until I'm confident I know how to use them well.
Well said! 👏🏻
I hope you enjoy your time using hand tools. I find it so relaxing to get out and be free to think without the noise and dust - very enjoyable!
For many furniture contracts use saw machines & tools because without these tools they can't make furniture. Here I want to share some saw tools reviews for such furniture contractors who looking to buy tools & guide new techno-based tools. I always visit this site to pick the best tools before starting any construction sites.
Measure twice cut once 😉
I used to be a builder and it one of many crossovers is choosing the right tool for the job
Let's be honest.
Well I'll give it a go it will look OK from my house..... Ah sheeeeeet this is my house 😂👌