Code is Craft
Posted: June 28th, 2012
Author: KJ Parish
This post is a little out of the ordinary for The Land of Spruce. It’s not a how-to and might not help you with much of anything (sorry). It’s a little closer to home, coming from the lead designer of this small, but tight-knit team over here. I, Kristina J Parish, am much the typical grahic design nerd…you know…the type dork, sketch pad toting, having-more-ideas-than-you-have-time-for variety. But, as well as crafting the visual world I want to create for each project, I also build up and code everything with a level of expertise. I’ve come to think of my code as a craft in and of itself, and I take a lot of pride in solving problems in new ways on a daily basis. Yeah, I have some help when I need it. I’m not the kind of developer who is programming plugins well into the wee hours of the night. I let Ben do that. But, I can craft lean and mean websites and karate chop my way through complex interactions daily. I like solving problems. I really like that designing and building for the web involves a constantly changing medium where I can always reinvent myself as an artist while giving my brain some exercise.
Knowing how to build quite a lot of things using HTML, CSS, Jquery, etc., as a web designer allows me to envision how the materials I am working with in the design phase will actually come alive on the screen. It’s important to me to have this nuts and bolts understanding of how things work. And the design phase doesn’t end once my layered composition files are complete. I endlessly tweak on the screen. I fuss over the length of a transition until it feels right. Sometimes I rework and redesign in the browser until I’m happy. The point being, I wouldn’t have nearly as much control or satisfaction with my work if I simply handed it off to someone else who knew how to code if I myself did not know how.
I’ve seen some posts that call peeps like me “Super Designers.” While that certainly has an ego-stroking sound to it, I think I’m more geared to thinking of my work as a form of graphic architecture where knowing your materials is just something you do…not because you’re awesome, but because you just should if you want to make good work in an efficient way. I’ve taken those coding-only jobs where I’ve had to schedule meetings with a designer to get their thoughts on things they hadn’t quite imagined or were unable to work out in PSD files alone. So, I know first-hand how inefficient this can be. You don’t need to stop everything and schedule a meeting when you, as the designer, can already anticipate the variety of ways something will translate to the web and simply build it and make design decisions as needed whilst coding. For small businesses especially, it’s important to be as efficient as possible with time, and apparently it works to have folks on board who can envision a design in a holistic fashion and execute those ideas through every phase of the project. Design it and build it – no need to go back and forth to get it done right.
Code is craft, in fact, it’s a material. Read this blog post from the Austin Center for Design which describes this idea of code being a medium quite well. My conclusion is this…know your materials and know them very well — where they succeed, where they fail. Do I sometimes find myself spending 5 hours debugging things when I would rather be doing “real” design work? Yes. But, with each soul killing debugging session, I come out of it with a more solid foundation of knowledge about the tools and the medium I am working in. I gain more and more experience. I’ll remember what went wrong and I’ll kick things up a notch or two the next time around.
For the team here at Spruce, it’s essential that everyone understands the basic building blocks of the web. This post is inspired by a recent page design created by Tyler Thompson on Dribble. It’s a pretty simple and clean list of job openings at his company for designers and developers. I noticed that all design positions require HTML, CSS, JS and it made me smile. Perhaps it’s partly something that happens when you have a small team, because there are many times when we have an “all hands on deck” situation here at Spruce, and for practical purposes, it’s incredibly helpful to have a bunch of folks who can wear a variety of hats. But, in all likelihood, it might also be a desire to have a core group of people who share a common knowledge and language about materials. There is no wedge driven between those who design and those who code. The tools are shared by every member of the team, even as each member hones a particular area of their “craft.” I hope someday to have a core group of developer peeps supporting the more right brained of us here at Spruce. But, I also plan to get my hands dirty and build things alongside them whenever possible. These are 2 hats I proudly wear. There is no I in team, but there are 2 in Kristina.