Product Design · Engineering

Should designers code?

Anonymous

November 4th, 2014

I saw this article   Product designers should say fuck you to being forced to code, and I keep wondering isn't it more useful and efficient for designers if they are able to to code, at least front-end? For the designers out there - how do you feel about coding?

Hong Li Lead Designer at drchrono

November 4th, 2014

All designers should learn to code (HTML/CSS). It's an essential skill that can not only boost their value, it can greatly improve the speed at which the product is built.

Nobody forced me to learn HTML/CSS. I wanted to learn it. I also picked up some Objective-C because I feel like I can help speed up the development of apps and it did. It wasn't smooth in the beginning, but as you get better, it'll flow right into the dev cycle. As I got better, I started developing my own apps, which puts me right in the middle of the design & dev process, giving me perspective and helped me greatly improve my design skills.

I've hired a number of designers over the years and I don't hire any designer who can't code. I wouldn't even bring them in for an interview. To want to code is to want to be better. If you're complaining about coding, you're not ambitious enough for most teams, and fairly useless in a startup environment.

Ian Maddox

November 4th, 2014

As an engineer who came from back-end development and has worked with many designers, I can say that it is most certainly more efficient when a designer can code.  If they can produce a functional front-end product (maybe even with with working javascript), that's a lot of work lifted from the other members of the team who will be implementing the designer's output.
However, in the real world, it's naive to expect this sort of output from everyone.  Be happy if you have the opportunity to hire someone who can produce valuable products from both left and right brain.  Just don't expect all of your right-brained folks to excel at left-brained work and vice-versa.

Think about it this way: It would be awesome if designers all knew how to code, but not everyone is cut out to do it efficiently.  Similarly, not everyone is cut out to do design work.  You can always tell when a developer did your design because it looks like the web circa 1998.  For folks who know what to look for, it's also very easy to tell when a designer has done your development--frequently it's because your site is ripe with security or scalability problems.

It comes down to aptitudes and passions.  If you're going to get good results out of a creative intellectual professional, they typically need to be well suited for the job and interested in what they are doing.

Should designers code?  Yes.  But you shouldn't be paying them to do it unless they're good at it.

Camellia George Product & User Experience Leader

November 5th, 2014

On a small team it's helpful when each and every member can extend themselves beyond their core skill set to move a product forward. But as your team grows, you want to be careful to direct each person's (including your own) energy where you get the most bang for your buck.

My caution comes from overseeing designers who, as they learn to code, constrain their own designs to what they imagine technically implementing by themselves. It isn't necessarily intentional, but in the process you end with a mediocre contributor who is neither designing or engineering at their best.

I advocate for a design process that is technologically-informed, and in close partnership with engineering. But I want designers who empathize, strategize and synthesize above all else.

Alexander Lau Lead Programmer/CEO of Robotic Potato Games

November 7th, 2014

Designers need to know the technical limitations and implications of their platform. A perfect analogy is an architect vs an engineer. 

Does the architect need to know EVERYTHING? Weight distributions, loads, fluid dynamics? No, he doesn't need to know all those calculations. But he does need to know about materials, curves, arcs, geometry, what's possible and what's not. No one's saying he should be leading the work crews or telling people where to screw things in either.

Same thing for interior designers or car detailers.

So no. I would say a designer for software or engineering should not -need- to know how to code, or if they do, they probably shouldn't be touching the code anyway. But they do need to know far more than a layman. They should know enough at least to construct rough, basic prototypes of whatever they're doing. An electronics designer should know how a phone is put together, or how to build his own desktop. A software product designer needs to know HTML and CSS. These are dead basic things that don't require a degree, only a few weeks of reading.

Anonymous

November 4th, 2014

@ AlanPeters -only if they have good taste :D

Michael McGee Co-Founder of The Starter League

November 28th, 2014

For years I was a graphic designer who was continually frustrated by the web. I would make these pixel perfect mockups in Photoshop, only to see some computer science grad screw them up. It was frustrating to not see my true designs come to reality, but also to not have the ability to create my vision with my own hands.

I thought my design skills would be constrained by learning HTML & CSS, but I actually became a better designer! It was empowering to finally create something on the web and spend less time in Photoshop dreaming about it.

As someone who's come into the light, I strongly recommend that designers learn how to code. 

Karl Schulmeisters CTO ClearRoadmap

November 7th, 2014

>>if you are talking about web product design, you probably should at least understand how web technologies work. You wouldn't be an effective product designer otherwise.<<

Exactly.  But front end web-apps are very different than architecting an efficient DB or interprocess communications platform.  Its not unusual to see a web app that was put together by someone who "learned everything they need to know about web coding online"  to not scale beyond a couple of hundred simultaneous users.

And even though cloud computing reduces the costs of dynamic scaling, there are still costs associated with it.

Similarly there are software architects that understand composition, Human Factors etc.  But they are rarer than they are among "designers" (though not all designers really have a grasp of this either - design is more than just picking a nice font and a nice background texture from the library of styles available on SquareSpace)

Giuseppe Turitto Development Manager at ServiceChannel

November 7th, 2014

Design is not about style and create beautiful websites (beauty is so subjective). Design is design is not art and is about create functional solutions that are creative,  pleasant to the eyes and elegant, is not taste is creativity and creativity requires the understanding and familiarity with the media, tools and techniques.

Should a Designer, code? not necessary; is important to a Designer to know about the technical possibilities and limitations? yes absolutely.
Reverting the question, should a Developer, design? same as in the Designers case.

Designers need to understand technical possibilities and limitations to envision and create the best User Interaction and style for the Site, but as well the Designer requires a good enough knowledge on the field of the site (does it need to be an expert, absolutely not but it can help) that is being created in order to understand what it will be the best User Experience (no is not about looking few websites and and copy bits and pieces, it goes beyond that and that is a long discussion).

Developers needs to understand design for many reasons and one is understand how to realize that idea the most efficient way and sometimes indicate limitations on the platform that could be a risk for the project and provide possible solutions for implementation of that "beautiful" design.

Do help for a Designer know HTML/CSS yes off course but is Ok if is just enough to hack a page to validate design assumptions.

Should someone hire a designer that knows how to code, expecting to save money not paying a Developer, then you could run the risk of having a half baked solution unmaintainable code and take even longer to deliver.

I know Designers that can create amazing code, and be able to learn the entire aspect doing every single piece of code and create amazing sites, as well I know Developers that can come with really elegant functional solutions and designs.

At the end is what makes you feel comfortable and you are willing to learn and gain experience on it.

John Anderson

November 5th, 2014

I think as long as you draw the line as the author did, showing that they feel that HTML/CSS is part of the design process, I agree.  Designers need to know the medium their creations will be represented in, HTML/CSS and be able to develop that as well as the design.

To force a designer to learn to code PHP, .NET, Angular.js, Node.js code doesn't make much sense to me.  Design is all about form, style and UX experience.  Coding is more about logical thinking, well organized code, making sure there are no memory leaks, etc.  Very much different sides of the brain.  Although you can bring a high degree of creativity to coding, I would say it's more (more...not completely) following design patterns.

Of course it can make sense for a designer to get to know the UI characteristics of different operating systems, but that doesn't mean they need to know how to write the code to create them.

Alan Peters VP Product and Technology at BusinessBlocks

November 4th, 2014

How about the other way around - should coders design?