Why software engineers like woodworking (2021)
zainrizvi.io
zainrizvi.io
* It's tangible. I can put in a couple of hours of work and then step back and see exactly what's been accomplished.
* The techniques are hundreds/thousands of years old. New tools come along (not as quickly as they do in software), but at the end of the day, we've pretty much decided on a handful of best ways to do things. There's always new stuff to learn, but you're very rarely inventing something from whole cloth.
* And my personal favorite: Every project has a definite end. That jewelry box or coffee table is FINISHED. Sure, after a time I might put a new coat of finish on something, but once a piece leaves my shop it's done. I'm not forever tweaking this or that about it, trying to make it something it was never meant to be or tearing pieces of it apart to redo the joinery or whatever.
> It's tangible.
This is the best part for me. Programming often reminds me of the "I sell air"[1] scene from City Slickers. The down side of this is that there's no undo. You have 300 operations to step through and if you mess one up you probably need to start over.
> The techniques are hundreds/thousands of years old.
Watching Clickspring recreate the Antikythera mechanism[2] has made it obvious to me that loads of secret knowledge was trapped in guilds and missing from the historical record as a result. You can do so much with basic hand tools. The down side is that there's so much temptation to buy expensive shit. Or worse, think you can't build anything because you don't have $15,000 worth of pro tools. I really needed a thickness planer on this project.
> Every project has a definite end.
So much. Fuck maintenance. No down side
1. https://www.youtube.com/watch?v=77xaqFyFET0
2. https://www.youtube.com/playlist?list=PLZioPDnFPNsHnyxfygxA0...
>> It's tangible.
> You have 300 operations to step through and if you mess one up you probably need to start over.
This, but ;)I really like that you don't have undo but you still don't have to start over. You have to learn how to build things and what to do when you inevitably eff up and how to cover it up! And then you go around the house and check how the builders/tradespeople covered up their mistakes or how they were simply never as perfect to begin with as you think you need to be.
The difference being that unfortunately you will know forever where you effed up and even if you cover it up so that nobody will ever notice unless you tell them, you will be able to see it.
I can still see the tile in the bathroom being siliconed in instead of grouted where we opened it up to allow access when re-piping the house vs. the regular grout even though objectively it's exactly the same color and even the texture is close enough. I siliconed it just in case because this was the second to last extra tile, so if we ever need to open it up again, I want to be able to just cut the silicone vs. destroying the tile like the contractor did to gain access the first time.
Same when I do woodworking. I will always remember/see the gap that was too wide after I cut it incorrectly and filled it in with sawdust and glue from the exact same wood. I keep a bunch of containers w/ the different wood types' sawdust for just these cases.
This is why I love ceramics and wheel throwing in particular. It's relatively quick, but at any step something can go wrong, especially at my skill level. Sometimes you throw the same piece, apply the same glaze and it comes out quite different. It prevents you from getting too attached to any one piece and forces me towards a zen-like attitude. In some way it makes it even more a balanced to software engineering.
Plus, before the clay goes into the kiln and is glazed it can always be recycled, so no guilt.
Only if you’re a perfectionist. You can always adjust the plan or do some annoying work with glueing. And usually it’s one part of a bigger thing that can be redone individually. Unless you’re sculpting a giant piece of wood like marble
I’ve heard a couple of people say that the #1 skill of master woodworkers is fixing mistakes. Keep at it and you (usually) won’t have to start over.
You end up with something tangible but it really hurts when you make a mistake many hours into a part and have to scrap it and start again. Especially if it's not plain old steel, so just cost a lot. You do learn to save a part from some types of mistakes but it's not always possible.
I think it's great that software lets you build castles in the air and mistakes generally only cost time, and fixes or improvements can be incremental but it does get old when many projects are scrapped before being used so you feel like you're just wasting time.
I find the 'no undo' and a perfectionistic streak add immeasureably to the stress of my 'hobby' but now I have finally finished my steam loco after 10 years I do like looking at it and driving it.
That sounds fascinating! Could you share some more about your project?
It can haul me and about 8 or 10 other people. It's a pretty popular hobby - look for live steam on YouTube.
I spend most of my time making imperfect tools that I could buy cheaper. It's just so satisfying to build something yourself from a design though.
Being able to take soft silver-steel, machine a point, then harden it with a blowtorch is just magic.
Even just staring at commercially made parts and reverse engineering how/if I could make it on my little hobby lathe with the bar stock I have is really fun.
My favourite projects have been small custom parts for my bikes. Nothing is perfect but it all works and you can save loads of money[1].
-
1. Such lies! I haven't saved any money because it's always "if I just had this 200 quid tool I could make this one time 20 quid part". Best to acknowledge it's just a fun hobby. :D
I agree, being able to harden steel or anneal copper or cut threads is awesome :)
I love having the machines & tools. It's nice to know I can make something, and it's even come in handy for work a few times despite the fact I'm a software developer - brackets or adapters that must be metal and not 3D printed.
You will have saved money at some point... perhaps 40 years from now!
I'll never recoup what I spent on the machines, but other people spend that much on travel and hobbies (like motorcycles) every couple of years so it's not an outlandishly expensive hobby.
As long as this is a hobby and not a job, you don't "need" to start over. If you mess up you got a lot of very useful scrap wood for the next project.
You can use a table saw to do a decent approximation of what a planer or a jointer does by fixing the work pice to a sled. This worked kind of poorly for me, but that was my fault, and next time I'll do a better job. I spend a lot of time sanding out saw marks and never got a great result.
Tamar uses a planer in this video for the first side, but I think you can see how you could do it just with a table saw, for small pieces.
(Reason 4: it tastes better!)
>One drawback I been told many times is that you need a lot of tools and they are not cheap...
There's truth to that. You will find no shortage of people in the woodworking community that insist that you can do woodworking with a couple of hand tools in a small space. I don't think they're necessarily wrong, but that's going to be a very limiting situation as far as projects go. Depending on your personality and wants, maybe that would work for you. But it's not for me. At a minimum I want floor space for a decent sized table saw and a workbench. Those are going to take up the most real estate among the core things.
And yes, it's not a cheap hobby. If you buy used tools, you can save a lot. But you've also go to remember that lumber is pretty expensive too. You can save money on lumber by buying rough-sawn stock but then you need to spend some more money on tools to process it (a good investment once you've decided the hobby is one you want to stick with!)
Japanese woodworkers would spend the first half of the day sharpening their tools. The secret of Japanese woodworking is the steel they used…and their insistence on air dried straight grained softwoods. It helps make their precision joinery possible. It was also a technique designed for longevity so you could remove a piece from a hundreds year old temple, exactly replicate it and put a new one in. No metal fasteners meant no hidden weak spots due to rust which would fail in an earthquake.
One of the big factors in wood selection in Japan is rot and insect resistance. Japan has very high humidity and buildings were open much of the time, demanding resistance to mold, termites, etc.
Another big factor was time. Fast growing species allowed quicker processing, which was helpful considering Japanese buildings have historically not been built to last. Some do last a long time, but most famous Japanese buildings have actually burned down many times, sometimes dozens. Edo (Tokyo) was well known for basically the whole city catching on fire fairly often.
They did use hardwoods, too, but where hard wood was necessary or useful, like in certain beams or components that needed hard wearing.
I'll add software engineering and woodworking to the list.
I wonder what other surprising relationships there are out there.
N.B. Never aspired to an advanced degree, but I know a lot of people with them.
I'd rather guess the following relationship: IQ is positively correlated with "openness to experience" in the five-factor model: https://en.wikipedia.org/wiki/Big_Five_personality_traits
Concerning this particular trait: https://en.wikipedia.org/wiki/Big_Five_personality_traits#Op...
"Open [to expererience] people can be perceived as unpredictable or lacking focus, and more likely to engage in risky behaviour or drug-taking. Moreover, individuals with high openness are said to pursue self-actualisation specifically by seeking out intense, euphoric experiences."
That's actually a remarkable statistic.
Actually, that is probably the same group.
I didn't think I'd be that predictable...
No evidence has been presented that woodworking is disproportionately popular among programmers. I bet if you go to some carpentry meetups you will not find a high number of programmers. Programmers are not special for having hobbies. If you talk to a non-programmer some day, you may find that they have hobbies as well, such as cooking, writing, music, and gardening. Most people have hobbies.
Meh, you can play golf while being completely out of shape, climbing is much more demanding at least, it's much more diverse than golf and a lot of other sports too
Tech douchebags will be tech douchebags no matter what sport they play. If you don't want to be branded a "techfuck", maybe move out of the bay area to where people don't care what you do for fun? Or stop caring if someone thinks you're a techfuck? Be yourself and let the people who don't understand you go away.
Well, back in the day at our mathematics institute that had been "either smoking cigars (you could do that in the offices at that time) or doing sports" I don't know if the smokers all had cats. Of course, being in Austria "doing sports" almost universally included climbing.
Oh, and I don't have a cat but live in the mountains ;)
https://blogs.ams.org/mathgradblog/2012/12/23/howdoyoueatyou...
Edit: Nevermind. Answered down thread. Lucky you. Beautiful area and Jory's work is phenomenal.
His workshops are my favorite weekends of the year, and I’m working during them, so I highly recommend it if you can swing it.
Dining tables seem to be the best margins, but I don’t have enough work to do commissions, so I’m going out of pocket to build on spec. The good news is a lot of high end furniture is very simple. I good sense of design goes a long way.
Don't talk to me about cake decorating or any of that side of things - couldn't care less and will make a mess with a piping bag.
https://www.faa.gov/sites/faa.gov/files/regulations_policies...
the main thing that's missing here is that you _actually get to finish something_ without getting bogged down in politics and bikeshedding.
you can actually talk to your users and find out what's important to them. no one is going to show up in your shop with a 30 in 1 multitool and say 'you have to use this' instead of the plane you know is going to do the right job.
I think once you transition into a production environment both jobs lose their lustre.
The fact I still get ridiculous coding "exams" etc or pointless take-homes makes me think that most of our industry still doesn't take attracting and hiring actually good talent very seriously.
It's like someone interviewing for a Python position saying "I've got zero Python experience but a lot of JavaScript experience, but how different can they be? They're both interpreted languages used for scripting and web dev, right?" I might not reject them out of hand, but I'm going to prefer a comparable candidate whose direct experience is with Python.
There are definitely times where I just want to work with my hands in the workshop but I have plenty to do there too, so a detour to the CNC doesn't feel like it detracts from that.
A CNC can get accuracies and scale that's hard to reproduce by hand. Also, a lot of hand tools can be very hard on your joints.
Once that slippery layer on your bones between the joints is rubbed down, it never comes back and then you have painful arthritis for the rest of your life, so anything you can do to avoid grinding your hands down, you should do.
I'm too lazy to spend an hour making something by hand, but perfectly enthusiastic to spend a day getting a machine to make it.
I own a MILC digital camera and mostly make photographs with my iPhone these days, but greatly prefer making photographs on film with medium and large format cameras. They’re not necessarily better per se, but the physical connection I get to my work from shooting on film, and then processing and printing by hand is what really matters to me.
I think there’s a time and place for digital (I love being able to send photos and videos of my toddler to the grandparents in near real time), but I find making physical artifacts to be a much more fulfilling outcome than having another couple hundred DNGs to delete in Lightroom.
Similar here. I do wood carving as a hobby. I could buy some carving tools, like chisels of various shapes and sizes, and a mallet or two, but I prefer to just use a knife - a normal kitchen knife, a Cartini, somewhat more expensive than a no-name brand, but still cheap. Of course, that means that I cannot create even moderately complex pieces, but that's okay. I am still a beginner at it, and I am fine with creating only simple stuff. I just do it for fun.
After some time, I do plan to research some carving tools, and may buy a few if I get good advice on it, and if the tools seem to make sense for me.
Makes sense, thanks.
>Making your own tools gives great satisfaction, both when you make it, and later when you use it.
Ha ha, true, and in the software field too. Like many others, I sometimes make small utilities for use in my own dev work.
You can’t over plan it, and as you work progress is very clear.
It sure is. I forget any issues or worries I have while doing it.
What kind of wood do you use for carving?
I have used pine in the past, e.g., I once carved a spoon out of it. One advantage of pine is that, having resin, it has a good scent.
Currently I am using old teak, a piece which a sawmill shop guy gave me for free, and which I was pleasantly surprise to find, was soft enough to carve with my knife. I would have thought that it would be too hard to carve, because I have heard that teak is a strong wood, but maybe that kind of strength is not the same as hardness, in terms of physical properties of materials. I need to read up on that topic.
It's cheaper at my local lumber store than online as well.
I haven't been very adventurous with other woods because of that.
Basswood is light and easy to carve, but it doesn't finish as well as other woods.
We need more sites like these on the net, instead of the garbage piles that are much more common nowadays.
surprised, typo
As a timber framer, most small to medium size shops don't use one because the upfront cost is astronomical. You need a 24' bed, 5-axis head, and probably an auto-loader because the boards can weigh up to 250 lbs. If you're cranking out identical kits and shipping them nation-wide it may make sense, but it takes a long time to get to that point. Most of my work is custom one-off projects, where it would take longer to program the tool paths and load / unload pieces than to just do them by hand with specific tools. We also use green rough-sawn wood that varies in dimensions by up to 3/16", so you'd have to probe every piece somewhat thoroughly.
As Inheritance Machining showed in his most recent video (https://www.youtube.com/watch?v=Q3sjsu1FPCk) it's totally possible to beat CNCs on speed alone the first time, but impossible when it comes to mass-producing. For the hobbyist woodworker doing one-off projects in their free time, I would also say it's better to enjoy the process manually.
Then the mechanical keyboard stuff took off, and that's when I noticed really.
The people that like making the keyboards and touching the keycaps are like a separate group of people from the ones that like the layers and keyboard layouts. A lot of the youtube keyboard reviewers are not even really good at typing. And then I would see my friends soldering shit all the time like its fun. I did not try it until 2020 when a lot of stuff was shut down and I had the time. Then I was like oh soldering is just adult legos. I don't like legos at all, that's why I never liked soldering or was really into electronics kits growing up.
I feel like peoples hobbies will let you know their preferences for how much abstract thinking they like to do and how they like to process information.
Knowing this now, it makes more sense as to why they could not figure out where to put the CS department. I had come across articles before, but I never really understood what they were talking about.
65-70% are like lego people, people who like playing with legos in their spare time. The rest are humanities people who like math, linguistics, English, music etc. You have to try and figure out the type of person who you are getting information from, because people, at least in this industry, tend to think in very particular ways and it is a lot easier to tell when you start looking at their hobbies and preferences for doing things.
To a point, but I think it's also we do a lot of abstract thinking and want to stretch those other muscles we don't use at work.
Stereotypes reflect statistical reality pretty well - I did bouldering for a long time before I gave up due to fears of injuries (met so many older people there who kept doing it despite acquiring permanent injuries!).
Speaking of memes: get Japanese chisels and hand-saws, just trust me on that one, it's a meme for a good reason. A less known Japanese set of tools that is worth getting is measuring tools instead of ones made by woodpeckers - the monster cable of woodworking world. Their average measuring tools are basically the same standard as our premium brands.
In woodworking the plan is basically trivial compared to how hard the implementation is, and does not exactly define the finished product, because there's made-to-fit steps.
You come up with an overall idea, then break it down into a skeleton and plan what structures you need (do I use pocket holes, or a mortise and tenon?). Once that’s done you fill in the details much like writing your functions and methods.
I think woodworking is similar to programming because they both involve similar problem solving skills. You have to figure out how to build a thing to serve a use case using the tools and resources you have available.
- jigs are like functions
- stops are like constants
- experience teaches you the order of operations, how things fit together
- woodworkers build a lot of their own tools
- custom tools are usually made by same stuff the products are
- both spend time optimizing their workflow
- wood is quite soft, like software! jigs are like functions
Jigs (and power tools that use them) are like co-pilot! I love my hand-tools. I know inevitably it's all on the way out, but I like the hand tools more! experience teaches you the order of operations, how things fit together
This is how we can still "beat" co-pilot enabled juniors! You can actually understand the whole system and direct an army of juniors! woodworkers build a lot of their own tools
Only if you consider jigs your tool(s). I find that this is not actually the fun part of woodworking. Building a workbench from 2x4s from nothing (well, an old ikea table - or sawhorses w/ a sheet of plywood on top), glue to laminate and some 50+ year old plane from Ebay that took a week+ to de-rust and sharpen and handsaws that needed re-sharpening and de-rusting was very satisfying! custom tools are usually made by same stuff the products are
Yesssssir! both spend time optimizing their workflow
Absolutely! wood is quite soft, like software!
It's amazing how hard it can be to work those cheap 2x4s when you're learning. You kinda don't want to use proper hardwood (-ware) for fear of destroying (bricking) something not so cheap!Mess up bad in programming, you may loose your job.
Mess up bad on the {table,band,radial arm}saw or jointer,planer,lathe and you may loose a {finger,limb,LIFE}
Cleaning up in woodworking is pretty much required, where as in software, some one typically has to yell at you to do it. If you do not clean the table saw, or dust collector, it will stop functioning. This happens a lot sooner in woodworking than the "technical debt" of software.
Personally, I prefer woodworking to software, but I think a lot of people romanticize woodworking or trade types of hobbies after doing software for a while. The truth is that it will take you a long time to be able to bang out one of those picture perfect awesome furniture items... and that piano level, three feet deep finish you see other people do... Yeah, tell me how easy that was to get. It is just like software in that respect. Good clean code takes time. Good looking woodworking takes a lot of experience.
https://www.youtube.com/watch?v=ShEez0JkOFw
Summary:
For most of human history, furniture was built by hand using a small set of simple tools. This approach connects you in a profoundly direct way to the work, your effort to the result. This changed with the rise of machine tools, which made production more efficient but also altered what's made and how we think about making it in in a profound way. This talk explores the effects of automation on our work, which is as relevant to software as it is to furniture, especially now that once again, with Clojure, we are building things using a small set of simple tools.
He was working on an old mainframe that controlled a steel plant and originally this beast booted from paper tape but that had long since been worn away and replaced by a thick leather strap with holes bored in it. He had to modify the boot process so had to get a hand drill out!
I heard this around '94 from a guy in his 40s so it probably happened in the 1970s.
It's a lot of fun and something you can do away from a computer. Though the machine embroidery does still require using a computer.
What I've come to loathe about woodworking is the environment. Endless cleaning and running out of space and needing to find better ways to hide tools yet still be able to find them. And then something goes out of alignment and nothing seems to cut square and you ruin an expensive bit of wood.
It's all so permanent. You can't just `rm -rf node_modules`.
I'm telling myself I'll enjoy it more if I build a large insulated shop with storage, dust-collection and air filtration designed-in, but I've just been through a house reno and I'd like to just turn a few things on a lathe I've not seen in two years for all the dust.
I like the woodworking because the results are immediate. Nothing is ever the same, either. Different woods have different properties. Different batches of the same wood can be different. Lots of surprises.
No project has ever been smooth sailing from start to finish, so you always learn something new.
Making your own tools - jigs, templates, modifying tools, etc. - is a huge part of the process.
And there are so many parts to the process...in professional setting, you have workers that only work on small number of tasks, since they're experts on said tasks. But as a hobbyist, you just have to learn a bit of everything.
Though some parts can be really tedious (sanding being the worst), it is very rewarding to start seeing results. I absolutely loathe the finishing/painting process, but getting a mirror-like sheen is very rewarding, after spending all that time wet-sanding a surface.
Here's a few comparisons off the top (WW=WoodWorking, Soft=Software Dev/Engr):
* WW: must plan well. If you're working on a provided plank of wood, you can't "uncut" if you cut something shorter than should for example, Soft: iterative - and figure things out after some or none initial planning, and easily fix things later
* WW: higher risk of fatality/injury, Soft: relatively very low risk. Low liability for artifacts produced - but could serious affect users (e.g. cybersec).
* WW: expensive, non-scalable, Soft: scalable, non-expensive (unless u want expensive hardware)
* WW: visceral/earthy experience almost always - even on failed pieces, Soft: depends on what you produce
* WW: Tangible, Soft: Intangible
* WW: Can be repetitive - planing, jointing, routing, Soft: less repetitive
* WW: Creative, Soft: Creative
I have essentially zero experience with woodworking, but I was drawn to it due to the practical effects of being able to solve problems I see in my home in ways that exactly fit my needs, instead of having to go with a 'good enough' off the shelf solution.
Building even something as simple as the cornice had a steep learning curve, and I think my wife probably rolled her eyes behind my back more than once when I said I had to go to Home Depot yet again for another thing I hadn't expected I'd need for it, but I'm glad I persevered.
The next thing I build will undoubtedly be easier to make, better constructed, and will continue to be the exact right thing I need to solve a problem in my home.
[1] The complete answer here is blackout curtains with curtain rods that wrap around, the window cornice, chip bag clips to get an acceptable seal in between the two curtains. It sounds straightforward, but it was a process to get there, as I kept taking half steps that proved ineffectual as the season progressed and the room kept getting more and more sunlight.
I love coding personally, but I like being outdoors or in my workshop better.
What parts of woodworking actually aren't that different from <your favorite profession, probably your own as of the time you are reading this>?
Which professions could I NOT relate these items to? Full honesty, looking for professions where these generics do not apply. And this is from the perspective from the actual practitioners in that profession, not outsiders looking in. I.E I don't really want a SWE thinking of using the example of a mechanic, financial advisor, nurse, land surveyor, etc.
Woodworking is an old profession turned into very niche hobby for bored people, is that not enough? What is the point to likening X to Y? I would even bet the overlap of woodworkers to the general population is equivalent if not smaller than the overlap for woodworkers to SWEs.
I think we all just enjoy building things and seeing some sort of output and it doesn't really matter where you come from or your profession.
It's no surprise that one profession that builds things that people uses enjoys another profession where you build things that people use.
1. a larger percentage of software folk also enjoy woodworking than in the general population.
2. there is something specific and interesting about the reasons why the software folk who enjoy woodworking enjoy both
Unfortunately, we would need to do some significant social science research to determine if either of these are true, and I suspect neither of us have done so (I know I have not).
There's a little part of my mind pining (heh) over getting a hobby that's more physical and scratches a technical itch, but unfortunately I don't have an adequate workspace.
To get into it I think I spent ~$100 CAD on knives, a block for honing, a couple books, and a big bag of wood blocks.
It's a multi-purpose machine that can be a drill, lathe, table saw, sanding disk, etc. etc.
You reconfigure the machine for the task at hand, using peripheral devices. You can find them on Facebook marketplace for under a thousand dollars.
- Woodworking - Diving - Restoration
Why software engineers like woodworking - https://news.ycombinator.com/item?id=31687378 - June 2022 (247 comments)
i attended two 1-day woodworking courses: hand tools and machine tools. i made a nice bench/stool thingy that i still enjoy daily.
however, every time i work with wood, my mind immediately goes to CAD, 3d printing and wishing i had a CNC. i look at my soft baby hands (i can’t go bouldering for shit) and walk to the keyboard, create a parametric model in a notebook (build123d is great!), slice it and send it off to one of my printers…
sigh