Friday, January 6, 2012

Craftsmanship

Since finishing my classes 2 semesters ago, most of my graduate school time has been split between writing papers and writing code.  I must say I enjoy writing code more, but the papers have their purposes.

I have spent a good deal of time learning about how professionals write "good" code.  I put that word in quotes because good isn't an objective measure, and is different for each project.

But I have come to see a beauty in the algorithms, libraries, protocols, and such.  When I see a well designed project on github, or learn about how a large company uses version control to automatically distribute releases, or delve into the intricacies of the efficient and stable ZFS filesystem, I can't help but see the beauty in the system.

All the pieces have been so well designed, meant to perfectly fit together.  The internal structure of the gas tank doesn't need to be visible to the engine, and the internal structure of the engine doesn't need to be visible to the driver.  But when a car aficionado opens the hood of a well designed piece of machinery, he sees how beautifully designed every single piece has been, carefully fit together with its neighbor.

Then you take a step back, and realize that many of the pieces are actually used in other models.  So you take another step back and see the beauty of the manufacturing process efficiency.  Each piece has been designed minimize the ugly overhead of redesigning things for each new model, although this is sometimes necessary.  I saw a commercial for a new Lexus car, in which they touted making a fuel optimizer system which can input any type of fuel, "even ones that haven't been invented yet."  A simple improvement to a base system (such as a  nut or bolt) can have a ripple effect of betterment for far reaching systems.

I am no car aficionado, but that's the type of beauty I see in a piece of software.  And that's the type of craftsmanship I strive for in my own projects, research or otherwise.

No comments:

Post a Comment