The personal website of Chris Coyier

Developers (versus?) Visonaries

Jonathan Cutrell is working on a book that explores different types of people working together. I answered a few questions for him over email and, me being me, I like to publish the things I write to give them longevity.

In the book, I discuss the differences in “creative DNA” of developers and visionaries. While people on the farthest end of the developer side of the spectrum have a creative DNA that is defined by precise, tangible construction, the side visionary has a creative DNA that is defined by emotional construction. Where would you say you fall on that spectrum?

I think I see what you mean, but I think I prefer thinking of it as two separate skills you can level up in. You can become a better developer, and you can become a better visionary, and they don’t have to be mutually exclusive. If it’s a 1-10 scale, I’d say I’m about a 5 on the developer side (average) and about a 4 on the visionary side (slightly below average).

What have been some of the most challenging, frustrating, or otherwise difficult moments you’ve ever experienced with someone who didn’t understand the technology, but was responsible for driving a given project?

My most frustrating days were back when I worked at a design agency and did client work. I was new to the web and the nature of client work is that they don’t know the web very well either. Of course I thought I knew more than them so I’d often leave client meeting kicking dust muttering about how they just didn’t “get” the web. Looking back, it was me that didn’t understand client services. If I was more confident in my web skills and better at client services, I could have handled those meetings easily.

How have you been able to self-affirm your creativity while working on seemingly tedious tasks as a developer?

Tedious tasks are my favorite kind. Tortoise and the Hare style. The only way to compete against the type of things that I’m doing is for someone to chug through all the same things I’m chugging through. Creativity often comes through hard tedious work as well. Creativity doesn’t have to mean blank-canvas, green-field development. Finding ways to make tedious work more manageable is creativity.

If you could pass on one lesson to developers who struggle with the traditional “creative team” of designers or product developers, what would it be?

See if there is some way to make talking about and experimenting process more acceptable. Sometimes process seems to be set in stone and if that can break free, that’s where magic can happen.

Can you share a story of a particularly successful collaboration you have had with a visionary?

I’m working with a designer right now, who is all about messing with process. She’s into the 80/20 thing, meaning she would consider herself 80% designer and 20% developer. That gives her a strong focus rather than diluting herself across too many types of work, but knows enough about the other type of work that she has understanding and sympathy. She’s the visionary for this site, and it’s nice to work with someone who is so open minded about how we work. It’s not “here’s the Photoshop file, build it, goodbye.” – It’s here’s a basic idea for the site, get that into the browser and we’ll start making decisions after that, and plan to iterate as much as we need to.

How about a particular failure you have had with a visionary?

What I’m picturing here is a Steve Jobs and Wozniak kinda thing where Steve is the visionary and he’s “thinking big” and waving his hands in the air and stuff and Woz is heads down with a soldering iron. As much as I admire Steve Jobs, I think I would have stabbed him with that soldering iron in the early days.

I don’t have a good particular story to tell because I know I wouldn’t work well with an “idea person” and so never have. That’s always rubbed me the wrong way, even though I’m sure sometimes it works out wonderfully. I like working with people who literally do the work. We have vision too.

What is one habit you practice on a day to day basis that you believe every world-class developer must adopt to have an impact on the world around us?

I’m trying to stay away from having big thoughts like this. It’s dangerously easy to have a moment of self-reflection where you realize something is hugely important to you, then twist that around and tell the world they should be doing that thing to. Best to either keep that to yourself, or if you’re going to share it, use a “this works for me” vibe.

Here’s something that works for me: I do the customer support directly for the things I work on. I like how that keeps me in tune with what actual people are doing and saying about the things I build. But I don’t do all of it, because being completely burdened with it would make it hard to build new things.