Not designers.
Not coders.
Just builders.

Designers should learn to code. We’ve been talking about it for years, and the attention this issue rightfully earned brought about a change: designers are writing code now more than ever.

This movement has produced an interesting and unintended consequence: the line between designer and coder is blurring.

I propose we remove the line altogether.

Why? Say it with feeling: design concerns and code concerns are the same concerns. Internalize that for a moment. Designers and coders contribute to the project at hand equally—we both want the project to succeed. Because of that, our goals and concerns are the same.

Designers don’t want to build an app that runs slow because of agonizingly complex SQL. Coders don’t want to build an app that is hard to use. An incredible app requires both incredible code and incredible design. Without one, it’s not incredible.

Designers are tired of being the gatekeepers for visual detail and user experience. They’re tired of having to explain to the team that their concerns are not petty but are instead a major factor in a project’s success.

Coders are tired of dealing with designers who don’t understand how things get built. They’re tired of turning down silly features that have dire coding implications or are otherwise untenable.

Too often, designers and coders are at odds. Their interests compete. They disagree. If our goals are the same, the classic face-off between designers and coders needs to end.

The influx of coding designers proves we can do it. We can align our goals and start to alleviate all that mutual frustration by sharing our duties and skill sets.

Of course, specialization is important. If each of us were to just dabble in every possible skill rather than pursuing mastery, nothing would get done. However, we need to stop defining ourselves by too-narrow sets of concerns, and instead become well-rounded professionals who each excel in a specific area.

But there’s a problem: coders need to catch up. I could make a broad generalization that most coders don’t know about design, and it would be unfair but perhaps a tiny bit true. Instead, I’ll say that I don’t anecdotally know of many coders who understand even design basics. Do you?

Here is my plea: let’s all start learning about the opposite discipline and continue blurring the line between them. Designers: learn to code and understand why technical proficiency brings about great software. Coders: learn about design and understand why the little details affect the entire project. Let’s stop assuming our colleagues are out to undermine our interests and get on the same side.

Let’s stop being coders and designers—let’s become builders.

Perhaps too conveniently, I’ve written a design ebook for technical founders. If you’re a coder who wants to start learning design, it just might be a good place for you to start.

Comments

  1. peter chon says:

    As much as I would love to agree, I think the separation between engineering and art is somewhat necessary. I have a graphic design degree and I also practice fine art (charcoal mainly,) but I am also proficient in coding as well (PHP, PERL, Python, JS, HTML, CSS.)

    What I’ve come to realize when designing a website is that knowing what we can build usually keep us from pushing the boundaries. A lot of time, I know what I can build and it keeps me from trying new things and exploring the possibilities. When I use to strictly design – I had no such fears or limitations; I did whatever I felt was appropriate or necessary.

    I am a huge proponent of designers understanding technology, but to be the best at what you do, you must specialize in that field. Jack-of-all-trades are master-of-none.

    • Jarrod says:

      Thanks for sharing your opinion. I’m kind of the same in that I am a designer by trade, but also write code. I code well enough build entire Rails applications by myself.

      I find that understanding how applications are built better informs my design work. I don’t feel limited at all. Instead, I think the solutions I choose are more successful not just because they are creative visually, but creative technically.

      Understanding both disciplines frees you up from having to speculate about whether this UI can be built with a specific JS framework or whether a certain database schema will support future feature additions. You know those answers immediately and can make decisions much more quickly because of that.

  2. Mohammad says:

    I would agree with you in an ideal world – but we dont live in that world. The world we live in only has 24 hours in a day. Web technology is evolving so fast that you can’t be an expert in both design AND code. Picking one and being an expert in it is better than picking both and being a generalist – in other words, it’s better to be an expert designer (or expert developer) than to be a mediocre ‘designer and developer’.

    • Jarrod says:

      These sound like excuses to me.

      Also, notice I never used the word “generalist.” I did write: “we need to stop defining ourselves by too-narrow sets of concerns, and instead become well-rounded professionals who each excel in a specific area.”

      I’m saying everyone needs basic knowledge about each aspect of a project. That includes design and code, but also marketing, business goals, etc. Being a well-rounded professional doesn’t prevent you from being an expert in one area. Also, being an expert in one area doesn’t excuse you from being well-rounded.

  3. Mathieu Gosbee says:

    “Why? Say it with feeling: design concerns and code concerns are the same concerns. Internalize that for a moment. Designers and coders contribute to the project at hand equally—we both want the project to succeed. Because of that, our goals and concerns are the same.”

    No. My goal as a coder is to make it work.
    A designers goal is to make it visually work.

    Let me know when a designer has some input on my database design and than I can take this seriously.

    • Mathieu Gosbee says:

      then*

    • Jarrod says:

      Sorry, but I disagree. Your goal as a coder should not be to “make it work,” but to meet the project goals. Sure, one of those goals is crafting a functioning application. However, if that’s all you worry about, you can end up with software that functions but no one can use because they don’t understand it. Obviously, no one wants that. Everyone working on the project wants it to succeed.

      Throwing up walls about how designers can’t input on your DB design is just hubris. Why don’t you teach them? Why don’t you learn about design concerns as well? The project will do better for it.

      Don’t get me wrong. Designers do the same thing. That’s why I am writing to both groups.

    • Thom Carver says:

      Let me know when a designer has some input on my database design and than I can take this seriously

      Surely no-one is better placed to comment on a “database design” than a database designer? The name betrays they are also designers that specialise in a different technology with different techniques.

  4. Thom Carver says:

    Great post, definitely agree. I recently read this essay that showed how to unite the two: When we say we are coding a “program”, we are actually designing a specification written in a programming language that the interpreter/compiler then turns into a program. So our entire industry becomes a cascade of different forms of design. Each uses different languages and has responsibility for different project goals. I’d be interested in your thoughts on the essay.

    • Jarrod says:

      That’s an interesting perspective, and absolutely true. The word “Design” is not limited to web or graphic design.

      I think our primary goal, as web designers or designers of code, databases, etc, should be the success of the whole project. Not just the success of the parts we each build.

  5. I like the idea of skills cross-pollination between designers and developers as it provides common building blocks and leads to a better understanding of each other’s operating context. Ultimately as you say it’s all about building together and achieving a well-rounded project objective.
    Over the past few years I have tried to pick up some very crude design skills and it has given me much more appreciation for the process designers go through. And I find it particularly hard to learn on your own. So I am wondering if you have discovered an unserved market for designers to teach developers basic design skills!

  6. g0sp3r says:

    This post is mostly noise. I will dismiss right away any job posting which requires a frontend dev to also be the designer. This is usually a huge red flag that the business can not afford to properly hire the required staff for a project. I would also expect a MUCH higher salary if a job required both frontend and design roles present in the same person. On another note, you wont catch a hardcore engineer who is an expert in scaling web platforms, linux system administration, databases and backend coding opening up photoshop to create designs for a given project. These people did not spend their lives mastering the computer sciences to go work for a company which expects them to be an awesome artist and know photoshop inside and out. Go visit the offices of twitter and tell me how many scala engineers you encounter there that are not only responsible for scaling the platform but also responsible for designs and frontend CSS coding.

    • Jarrod says:

      This comment is a great example of how some people will only hear the message they want to hear.

      You missed the point of my post entirely. I didn’t suggest that all fronted devs should be graphic designers too. I never said a scala engineer should use Photoshop every day.

      My suggestions were for the sake of cooperation and collaboration, not changing responsibilities or daily tasks.

  7. Art says:

    Jarrod, I might be trying too hard to read between the lines, but is your next book going to be “Coding for Designers”? ;)

    It could start with something like: “Being a designer, you can immediately tell an ugly thing from beautiful. This may surprise you, but the very same principles of beauty and harmony apply to a well-designed piece of code.”

    Just kidding :)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>