Tech Life This is not marketing; this is advice

Developer 2.0

Right this second, there are five books sitting on my desk. I’m not talking about the invisible books stacked up next to my monitor, I’m talking about the books I want you to see the second you walk in my office. They change over time, but right now they are:

My degree is in Computer and Information Science. I spent four years grinding on the basics of developing software, yet, strangely, there are no programming books on my desk I do have these books, stuffed on nearby bookshelves, but these are not the books I pick up when I have five random minutes. I pick up the architecture book and read the blurb about the Canary Wharf Underground Station in London. It describes a subway station design with a high degree of visual transparency between floors which means there is very little need for supplementary signage.

I spend the rest of the day staring at signs and absorbing the irony that while signs are trying to make my life easier; they exist because of basic deficiencies in design.

Yes, I’m a wannabe designer. It started four years ago when I opened my first iPod and read the following:

“Designed by Apple in California.”

This is not marketing; this is advice.

Designers Need Developers to Make Their Products

I listed the top three themes from SXSW a couple months back, but the entry did not capture the holy shit I took from Austin. SXSW is a gathering of music, movie, and interactive enthusiasts. On the plane to Texas, the game of figuring out which person belonged to the different aspects of the conference began… Yeah, the music folks look like music folks… edgy… arty. The movie folks dripped with glamour and intense LA energy. What about the interactive folks?

Wait, what does interactive actually mean? I still don’t know.

My impression is the interactive portion of SXSW is a mutated version of what used to be the multimedia portion of the conference. You remember this fad, right? When everyone got crazy about pouring all sorts of content onto CDs and Macromedia Director was king? Developers were scratching their collective heads during these times because no one was inviting them to multimedia conferences. Their thought, “They’re building software, right?”

Wrong. The multimedia types were thinking, “It’s bigger than software, MAN… We’re building complex interactive multimedia experiences. It’s not ones and zeros, MAN… it’s SOOOOOOUUUUUUL.”

Right. So, it’s software. Simply because creatives could hide from software engineers behind their authoring tools didn’t mean they weren’t developing software. It just meant they had a comfortable space to live in where they could design, not program.

Over the past few years, someone started inviting developers to SXSW. Designers discovered that whiz bang Web 2.0 technology heavily intersected with their domain, but they also found the tools were primal. There is no Director for developing web applications because everyone is still trying to figure this shit out.

Designers have two choices. Either dip their feet into the programming pool and learn this frontier technology, or figure out how to speak developer. This leads to part of the beauty of this year’s SXSW. Tables full of passionate designers and developers. Both parties buying each other drinks and silently staring across the table thinking, “Shit, I really need this guy, but I totally don’t speak his language.”

Which leads us to…

Developers Need Designers to Make Their Products Work

The third hire at the start-up was an interaction designer, Barney. When I arrived several months later, I thought, “Swell, someone to make pretty pictures of my product. That’ll sure make presentations easier because I suck at drawing.”

In our first design meeting, I was shocked when Barney was running the meeting and there wasn’t a pretty picture to be seen. He had these low-fidelity wireframe designs of the product that weren’t at all fun to to look at. After twenty minutes of staring at them, I realized they described how our product fit together.

Me: “Wait wait, wait, Barney, page two… Are you sure that’s how it’s supposed to work? That makes no sense to me.”

Barney: “Rands, you aren’t the customer. I’ll explain why.”

In the months before I arrived at the start-up, Barney had gotten into the the head of our target customers. He’d spent weeks onsite withpotential clients and he grilled them and he captured every nugget of truth about what they cared about. Three years later, Barney was long gone, and we were still flipping through his specifications… searching for inspiration.

Barney’s lesson was simple. Design for the customer. It doesn’t matter if it’s HTML, C, Python, or Ruby on Rails. Your job as a developer of software is to build software which works for human beings and there are conferences full of bright people who are well versed in cognitive psychology, usability, visual design principles, and art. The problem is you aren’t going to these conferences and soaking in their experience. It turns out that is a career limiting move for both of us.

You Can’t Offshore Art

There is a person sitting somewhere on the planet Earth who is capable of doing your job for a lot less money. I know what I said, jobs which lend themselves to a well defined process will be the first to go, but that will change. Each year that passes, more technology and infrastructure spreads across the globe and anyone with a computer and connection to the Internet has a chance to build the skills to develop software.

If someone figures out a useful way to integrate remote workers as a team, the Silicon Valley software developer has a problem. How do you compete with an equally skilled developer who is willing to do your job for half the cost? Do you know what the biggest expense is for a software development company? That’s right, it’s your salary. If I could figure out how to effectively engage a remote team, I could build a virtual team of developers that could be twice the size of my local team, but I won’t do that because I’m not hiring developers for my next start-up. I’m hiring designers.

When I’m building up the next development team, each of my hires will need to demonstrate they can talk maniacally about a slice of design. Maybe they’ll care deeply about color theory? Architecture? Interaction design? I don’t care, but they must be passionate about something other than writing fast, bug-free code because software is art. We don’t need another Microsoft Word, we need the next word processor and that’s going to come from a small group of people with a delicious interdisciplinary mix of design and development skills.

So, take a small leap. If you haven’t already, go buy this book. It’s full of bite-sized design ideas. Soak in it and prepare for your next job.

5 Responses

  1. PostSecret is ♥

  2. I think we’re at a weird watershed moment in the web industry where nobody fits their job descriptions anymore (if they ever did). Designers are writing code (actual code, not just markup), programmers are designing interfaces (shiny interfaces with AJAX inside) and we’re all walking around having a really hard time describing what we do. Ask a web professional what they do and tell me how many times you hear “web developer” or “user experience engineer” or something equally vague and amorphous. We’re all programmers who wannabe designers or designers who wannabe programmers.

    If I were honest these days, I’d probably punt and call myself a “hybrid designer/developer”. But I come from design roots, and that’s the way I think. No matter how many lines of Javascript or Python I write, I’ll never be able to call myself a programmer. I’d feel like Dan Quayle: “I know programmers. I work with programmers. And you, sir, are no programmer.” I’m sure there are programmers coming to this no-man’s land from the other side who feel the same way about design.

    I used to have a list of software and technology “proficiencies” on my resume. It was huge, and I thought it looked really impressive. “Look at everything I can do.” But I took it out when I started looking at other people’s resumes for hiring, because I realized how useless they are. We didn’t care if these people knew PHP or Javascript or freaking COBOL. As long as they didn’t have a list made up solely of Microsoft products, we didn’t pay that much attention. We wanted smart people who “got it”, who were excited about doing things right. Smart people are quick learners.

    And there are always plenty of books out there on PHP, Javascript and probably COBOL too.

  3. Hi. Good thoughts. Given your reading list, I wondered whether you’d read David Pye’s books The Nature and Aesthetics of Design and The Nature and Art of Workmanship. These are favorites of mine. I was originally turned on to the latter by a bibliographic entry in a Gerald Weinberg book. Pye’s discussion of the relationship of designer and “workman” is especially relevant to your comments here, but I think you’d dig these books if you haven’t read them.

    Dan Read

  4. fishyswaz 10 years ago

    Design is gotta be the best part of the job. I’m management now, a developer by trade, but I spent the first 3 years carrier wise as a designer at a Tokyo design house. I still find that what gets me going when doing estimates and talking w/ clients etc is not the system bits, but how it all fits together, is presented, and will be used by the final user. If that part of the job is missing, then the work is dull and the dev team generally ends up with negative feelings about it when the project is over. On the other hand, when the dev team is right in there with the user and the design is on, it doesn’t really matter how much work and long hours are required, when the projects done the feelings are usually positive and members have a sence of accomplishemt. Of course it has to make money too….

  5. Congratulations, you’re part of the minority of developers who actually gets it! As a designer with a slant towards the development side, I have a deep respect for the developers I currently work with because they understand that the end-user doesn’t care how good their code is. Of course things such as performance and scalability is of equal importance but your customer’s first impression is always going to be of the presentation.

    I agree 100% with Wilson’s comment about the current state of job descriptions/titles. I’ve come to the conclusion that instead of changing your job description every couple years as the industry develops new fancier terms like “user experience”, instead everyone should be rated by the capacity of each side of their brain(each side separate on scale 1-100). For example, a straight up hard-core developer who couldn’t match one sock to the other might be 100(left)/5(right) and a designer who can’t program their vcr might be 5/100. “Hi, nice to meet you. I’m a 30/100.” There’s got to be software we can develop that will do this analysis. I’ll design it if one of you guys can develop it…maybe I’ll even write the CSS. 😉