Craftsmanship and Code

My path to programming and computers in general has been a long and circuitous one (and I suspect this post will be too).  Initially, I went to school for architecture, and during my time there I worked in the school’s fabrication shops where I developed an overwhelming interest in woodworking.  I became obsessed with learning about hand tools and more antiquated methods of deconstructing and reconstructing wood.  I even went on trips to acquire old hand tools and spent many hours restoring them.  Back then I harbored a mindset about machines and technology that I now view as relatively naive: that machines and technology are the opposite of handcrafting in that they are devoid of a certain connection and materiality.  While both have their unique strengths, I spent some years stubbornly devoted to building all of my architectural models and side projects by hand at the expense of the time I could have saved by being more flexible in my approach.  I think I may have been more interested in the process and the enjoyment of using the tools I sharpened myself.

Working in the architecture profession offered me few opportunities to exercise my desire for craft.  The final product of an architect is a set of drawings, not a building.  This is much more like creating an instruction book rather than the “final” product.  The occupation of the architect is one that, in many ways, exists in layers of abstraction away from reality and time since the drawings are diagrammatic representations of a future construction.  Every single time, the act of construction would uncover conditions that had varying implications for the final space.  While design is usually an iterative process, the nature of the medium of drawings and the separate nature of construction makes it impossible to test a design in the same way one may test an algorithm.  My initial foray into the world of programming was in part (and only briefly) motivated by the idea that I could automate some of the more repetitive parts of putting together construction documents but I was quickly drawn to the incredibly iterative and scalable nature of programming.  It was an activity in which I felt as if I was engaging in a dialogue with myself and a machine and in which I could explore different routes to solutions at a pace that was only limited by my ability.

The iterative and scalable nature of programming is what ultimately led me to seek out more formal and immersive education in computer science.  It wasn’t until a couple of quarters into my studies here at OSU that I finally made the connection between my love of handcraft and programming: almost every act has an effect on the final product.  Changing an “and” to an “or” in a condition is not unlike striking the back of a chisel with a mallet.  Both have immediate observable effects creating a very tight feedback loop.

While it has taken me a long time to uncover these relationships, I think this process has deepened my understanding of myself and the values I want to guide my career and life.  Reflecting on my stubborn mindset in the fabrication shops makes me think about the Luddites who destroyed machinery because they thought it was a threat to their livelihoods.  I like to think that I’ve grown into a mindset that sees the manual and the computational as two sides of the same coin which provides richer opportunities to feel connected with my work and the world it shapes.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

One response to “Craftsmanship and Code”

  1. OSU Avatar

    Hi, this is a comment.
    To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
    Commenter avatars come from Gravatar.

Leave a Reply

Your email address will not be published. Required fields are marked *