This page looks best with JavaScript enabled

Software Engineering v.s Workwooking

 ·  โ˜• 4 min read

This year I become a 13-year software engineer and a 5-year woodworker (no, the latter is not certified). And now I believe there are reasons why I love writing code and making wood dust: they are so much alike!

Both software engineering and woodworking require well planning ahead and careful execution

One will need to think through the code s/he is going to write:

  • what is the requirement?
  • what is the expected behavior? how would you test it? what could be the exceptions need taking care of?
  • when is it expected to be delivered?

In your maker space the rules are the same:

  • what is the cut list of this project?
  • what tools would you need?
  • should you cut out the rough shape, or should you work on some details first?

**Both software programming and wood crafting require huge determination and patience **

Unless you are genius or just writing hello-world, your city of Rome is not going to be built in one day.
From design proposal to get the team’s buy-in for the plan, from early prototying to putting as many test cases as possible, from tying the first line of code to saving the final version of the documentation, in many cases it would be for sure a long journey.

Working with wood is no different. You would not expect to have a single path through the planner and get the lumber to the desired thickness. The dream is to have a full 3D CNC machine, press the big fat button and then enjoy your coffee, while the reality is you will need to run between the tablesaw, bandsaw and maybe the other two working tables to get the job done. Not to mention the wait for the wood to cure, for the glue to dry, for the surface to eventually become silky smooth after a 30-min hand sanding.

**Both typing and routing require superior focus and accuracy **

Not enough attention can be paid when writing code, or programming will really become the art of putting in bugs.

The same applies to holding a router or a saw: 1/64 inch more being cut off the work piece and you would probably need to re-do the project.

Both programmer and woodworker need tools, a lot of tools

Part of the fun being a programmer is to get yourself the best keyboard, the biggest monitor, the most powerful workstation, deep customed editor with linting, auto-ai-completion, fuzzy-finding, fancy status bar and icon, and this list goes on and on. And then one day you start building your own handy scripts, your own log parsing engine, your dark power profiler/debugger/tracer…

Not surprisingly woodworkers have the opportunity to enjoy the same: you get all the beefy power tools, and you will one day need hand tools from Japan, and yes you are still waring the T-shirt says you need more tools. Of course you will build your own jigs because no one else knows your need better and no one else can out-smart you, the wookworking king of your own shop.

Both writing software and cutting wood bring a high level of satisfaction

I will never forget the moments I fixed some bad-ass defects or when a tool that I wrote runs perfectly.
It is not something money can buy. It is like after you endure a one-hour good workout in the gym, and then finally get to take a shower.

For every piece of work completed, I take a picture and stick it to the wall of my workshop.
When the last layer of finish dries out and the complete piece of wood sits in my hand, I feel like hugging my daughter for the first time.

I can keep writing for another hour or two, but I guess I’d better get back to write code so that I can have more time collecting wood dust later.

Share on

Justin
WRITTEN BY
Justin
Engineer | Woodworker | SuperDad