For visual designers working on the Web, clearing this knowledge hurdle — transforming oneself from someone who renders ideas into someone who enables them, makes all the difference. Programming is an immensely valuable complement to design. Given the benefit of natural talent, or the abundance of free time that’s part and parcel of being young and relatively free of commitments, many designers get to do what I can’t — take out the time to learn new technology simply because they’ve decided to do so.
I fantasize about an extended vacation someplace away from my current obligations, with nothing but peace and quiet, lots of free time and a towering stack of O’Reilly books. The freedom to focus exclusively on learning how to do something tangible and competent with PHP, MySQL, Python, Ruby on Rails, et cetera seems like gold to me, a chance to really do something powerful with my modest design skills. I’d go running in the morning, and work well into the night, wasting not a minute on distractions and getting super-fucking smarter every single day.
For years, I’ve been nursing this daydream, and I even made a few attempts at doing something about it, trying my hand preliminarily at various kinds of client-side programming. But when I started Behavior with my partners, I more or less signed away any chance to take that kind of time out in the foreseeable future. It’s not just that building a business requires a lot of time; it also requires spending that time wisely, doing the things that you’re good at — visual design, sales and paying bills, in my case — while letting other, more qualified people handle the things you wish you could be doing yourself. The upside is that you have a wonderful company, and the downside is you have only about three-quarters of the fun you might otherwise. It’s a bittersweet bargain.
To be fair, I could give up a hell of a lot of Web surfing, television, baseball and movies, and by doing so reclaim a nontrivial amount of time that might let me get a handle on the basics of programming. Procrastination and laziness account for why I haven’t, but I think I’m reaching a point where I can’t allow that to happen anymore. My Lionel Richie-noggin’ is generating too many fun ideas with genuine revenue potential, and the tactic of trying to recruit able-brained technologist friends to help me even build a prototype of my concepts is too difficult. I need learn how to program.