On The Division Of Labor

Back to Blog

I used Git for the first time last night, to push some meeting notes from the 3themes project up to our shared repository on GitHub. Despite using a GUI called SourceTree, I still felt “as confused and overwhelmed as a grandma using email,” especially when I attempted to do some command line stuff. I’ll get more comfortable with it as I use it, but I truly hated the feeling of being deeply out of my element and struggling against myself to do some stupidly simple task (especially with the command line. Brrr, never again. I don’t like to type random letters into things and not know what they do.)

I also did some work on this site yesterday, mostly to teach myself about using custom fields with custom post types to create robust content display experiences (thanks for the inspiration, add_action_dan, who is apparently officially named that now). I wrote the code to register the custom post types and custom taxonomies myself, because it *is* really easy, but when I started looking at the metaboxes, I was like… man, there is a perfectly good plugin out there that will take care of all of this functionality for me, and give me lots of advanced and robust field options so I don’t have to worry about learning the syntax of writing it all by hand, and can just worry about how to organize the information and create templates to display it. And you know what? I was TOTALLY OK WITH THAT.

I hear the call to become the Golden Unicorn, the person who can design and develop, and I understand the logic. It’s hard to design for a medium you don’t understand, and it’s better if you can participate in the build process in some meaningful way. I agree to the point that I see myself as a designer/developer ambassador, someone who can try to help bridge that gap and get designers more interested in code and developers more interested in design, and give talks about it and stuff. 🙂

But there are downsides to trying to know everything. Not only can you get bogged down in technical details when your job is to look at the big picture, but there just isn’t enough time in the day to be good at everything. I physically can’t keep up with everything in the design world AND become a master of PHP, or JavaScript, or JQuery, or even perfect at the latest and greatest HTML/CSS without the intelligence of Google to back me up. Plus, if I’m being honest… despite being a “left-brained” creative that’s more interested in problem solving than art, despite taking the time to break apart themes and build some simple plugins, despite not being *afraid* of all that “technical stuff”… it’s not necessarily all FUN for me!

You really can only become good at the things you spend all your time on. And that’s the call of the Pegasus: learn your job and do it really well. Design is as much of a job as Development or anything else. There’s nothing “not real” about wanting to spend more time focused on the experience, aesthetics, and high-level problem solving, than finding the most custom/fast/awesome programming method of achieving that. And I can still provide value doing so: to my own clients that can’t afford a custom build as a designer and “theme/plugin curator,” and as a partner to a developer whose knowledge can complement my own.

I feel like there’s a reason for the division of labor. We don’t all farm our own food, sew our own clothes, or build our own houses unless we want to. If we do, great! If not, the awesome part about specializing is that we all wind up with a better product, developed by experts who spend all day doing these things. Are we better partners in the process if we have an understanding of what is being built? Of course, but that doesn’t mean we have to have the ability or the desire to step in and build it all ourselves.

Leave a Reply