Design & Code Live In An Overlapping World

Over the last week, a few articles have surfaced on the never ending and very daunting debate of designers and code. And it’s an issue that may never be resolved. Everyone has their own opinion and everyone thinks they are right. But what we really need is a solution.

We hear it all the time “Good designers should code” while developers need only to understand design; if that. While design and code go hand in hand, they are still two completely separate disciplines. Right brain vs. Left brain. Creative thinking outside the box vs. linear thinking with logical constraints. I mean how often do you meet an award winning Architect/Engineer all wrapped in one? Never right.

Companies who hire designers and developers often increase this gap. Designers on one side, developers on the other. Never co-mingling or collaborating. They are set up like an assembly line, Start with designers, move it down the line to the developers and push it our the door.

Leading to no communication, no collaboration and an, us against them mentality. Who is going to change this? The simple answer is us. We need to push to be working together.

Bridging The Gap

Today, designers get blamed for not knowing how to code and handing over PSD files that aren’t functional for developers. Leading to most developers feeling like it rests on their shoulders to fix it, only making the issues worst. Making changes without regard to design aesthetic or function simply to make it ‘work’ rather than getting the designer involved to help fix the problem.

Why are we not pushing for more collaboration between designers and developers from the beginning or at all? Surely, this is a much more effective way for the two disciplines to co-exist and even better for then to thrive. Instead of laying it all the designers feet to keep up and master both sides.

Todd Padwick who is a web and interaction designer as well as front end developer wrote a piece called‘The Indisputable Web Duo’ He makes some great points;
“has been immensely useful for me. It means I know what is possible, and how to really get the most out of the web in my designs.
It also means I can contest lazy developers when they tell me something can’t be done.
However expecting all designers to take the time off to learn this skill is not only un-realistic, but it may not actually be the most effective solution.
To be the best at something, you have to specialize in it. And to specialize in it, you have to focus your time on just that one thing. So learning two slightly different fields, can end up limiting your performance.”

A great example of designer, developer collaboration is designer/writer Josh Long reaching out to iOS Developer; Sam Soffes last year to ‘learn’ how to code his app, rather than hiring a dev to do it for him. It’s something he has always wanted to do and like most of us who have tried to ‘self-teach’ with books and video tutorials it was a slow and cumbersome process. He knew if he wanted to truly learn to code, he needed a hands-on crash course with an actual developer. So they sat down in a room, side by side and embarked on a 3-day collaboration to build the app. They also recorded the process to help others and learn.

What’s Easy For You, Is Not Easy For Me

It’s foolish and unrealistic to think that because code, is your second langue, it’s mine too. When I look at code I don’t see the flow of elements, content, and colors. I see gibberish. Gibberish that I have to focus to decipher and gain my barrings. It is anything but easy for me.

Code languages are a vast landscape of constantly changing, evolving sand traps for designers. It’s no longer just about coding for the web, now you have to know how to code for mobile and responsive and let’s not forget the Apple Watch.

For developers, it’s a natural progression. For designers it means it’s no longer just about HTML and CSS. I can’t remember exactly where I read it, but someone wrote or tweeted “why stop at HTML & CSS? Why not throw in a little Ruby and JS while you’re at it.”

As if to say, it’s easy enough so why not take the time to learn it so I don’t have to fix it later. Somehow, because a design starts with the designer, we have by default, assumed all responsible for not only how it looks, but whether or not it functions well.

As a designer — I can make my way around code; more specifically HTML & CSS with a splash of JS. I understand it and can manipulate what’s already been created. But if you put me in front of a blank screen and say “code something” You would probably be very disappointed and faced with a page of markup text ready to be published, on a blog.

Dealing With & Pushing Past The Gatekeepers

Not only do we have to contend with companies not understanding the importance of putting designers and developers in the same room, we have to contend with companies not wanting us to expand our knowledge and skill set to make better products. Many want us to ‘focus’ on the job at hand, the position we were hired for and nothing more.

It happened to me in the early 2000’s when web design was really starting to take off. I saw it as an opportunity to learn more and start building a website for the company. They didn’t feel the same way and I was told “this isn’t a good time for learning something we probably won’t need for a long time.” (haha)

Andrel Herasimchuk recently wrote about his own experience in the matter in: “One of the biggest mistakes I’ve made in my career”, saying:
“I spent a solid 48 hours putting a lot of effort into Lingo scripts so that my mockups could come to life. So for example, rather than present an Excel spreadsheet of proposed menu changes, I could show co-workers interactive menus reorganized with shared product terminology to communicate the design… and it forced me to work within the space constraints of screens from that time. If I had made a mistake somewhere or got feedback from the team, I could edit the script easily and rebuild the player in a matter of minutes.
I was quite happy with the beginning of that early prototype. I had pixel perfect mockups, and they were great at communicating the visceral impact of the changes I was proposing. But the prototype communicated the changes an order of magnitude better with interaction, which is exactly what prototypes are supposed to do…
But then it happened.
This product manager, while very excited that I was building up this prototype, paused a moment. “Andrei, this is certainly very cool. We’ve never had anyone go to this length to propose any new designs or changes. But I have to wonder… How long did it take you to make it?”
I shrugged. “Not long. Just the weekend and a few days since.”
“Well,” they continued, “while I certainly applaud your effort, I must say that you really don’t need to go to this length. You’ll have to do this all the time for all the products going forward. These screenshots you have here are plenty. It’s all we’ve ever done before, so there’s really no need to spend this kind of time on a prototype.”
Let’s be less reactive and more proactive as an industry.

Fast Co-wrote a piece entitle “Designers Should Design, Coders Should Code”

Where they make a lot of good points on why we should be working together to push design forward and understand what is possible.

“A new dynamic must take the place of unicorns: communication among specialists. Specialists need to know what others are capable of, even if they don’t understand the precise techniques. The key is to never operate alone.”

Developers need to push more for being brought into the process early on and working side by side with the designer to find the best all around solution for the project. Designers need to reach out to the developers to learn about the best ways to build the design so they can then be coded to function the way they were designed too.

Stop Pushing For The Unicorn

So, everyone says they want the ‘unicorn’; that mystical, magical creature who can craft amazingly stunning apps and website designs that will stun your visual senses while simultaneously coding it with little to no effort, while explaining to the client and anyone who will listen how truly unique and rare they are.

But, have you stopped to consider this; if all designers could code, would we really have a need for developers?

Brad Frost said, “The modern web design process requires intense collaboration between designers and front-end developers,”

Let’s adopt this mindset.