Why Developers Should Learn Web Design
May 11, 2017
Much has been made of the need for coding skills in the new information economy. From politicians to celebrities to people in the digital industry the message is loud and clear: everyone should learn to code.
And if you are a designer working on the web you’ll be hard pressed to go a day without being told you must learn to code. Today. Coding literacy has become the multiplication table of the 21st century: a must-have for everyone.
Let’s flip that on its head for a moment and ask the contrasting question begged by the Learn to Code movement: What of those who know how to code? What of the developers? What do they need to learn?
My answer: developers need to learn design.
The Unilateral Migration
The Learn to Code battle cry has always bothered me for being too simplistic. Not only is “Learn to Code” like saying “Learn to Language”, mistaking a craft and an entire industry for a rote skill, but it also puts the writing of code above all other abilities necessary to make digital products that work and work well.
Coding plays a part in the development of our digital lives, but in isolation it is no more useful than the ability to calculate the terminal velocity of a bucket of water.
The Learn to Code movement is the latest entry in the decades-old battle between designers and developers. From the beginning of the digital age, an artificial divide has been drawn between “touchy feely” designers and “logical robot” developers, and getting the two groups to work together has been a struggle.
Looking at the migratory patterns of our industry today, it becomes immediately clear the crossing of the old battle lines is pretty much unidirectional: designers are learning to code, developers are sitting put. The divide remains, and it is keeping us from moving forward.
Developers: Designers in all but name?
Last month a major redesign of a popular website was made public, resulting in an immediate barrage of complaints from frequent users. Their gripe was largely around the user experience and design of the new interface.
A friend who identifies as a Developer with a capital “D” was part of the redesign team and spoke up about some of the complaints: “This works much better than in the previous version,” they said. “The redesign is faster, more performant, and less heavy on the server.”
In response, a user complained “but I can’t find what I’m looking for, the design is confusing.” To which the developer retorted, “I don’t care about design, I just make it work.”
This is a classic designer vs. developer argument and exemplifies perfectly both why I think developers need to learn design and why I think developers are, in a way, designers already. Let me explain:
Any time a developer makes a decision, they are designing some feature in the application they are working on. That doesn’t mean they are picking colors or layouts or anything else. But they are designing the data itself - making choices about how the data is stored, what type of data it is, how it can be accessed, and how it is provided to the user.
These are all design decisions.
Case-in-point: The “Name” field on Twitter has a max character limit which happens to be two characters too small for me to fit my full name. That was likely a decision made by a developer, and it was a design decision that impacts the work of the UX and UI designers later on.
Being cognizant that every development decision is a design decision already moves us forward. But, to get where we need to go, every team member needs both coding skills and design skills.
When I talk to developers about learning design, they say they don’t like design, they aren’t comfortable with design tools or that they flat out don’t have the ability to design because they “don’t know how to make things look good”.
Our industry is held back by this prevalent myth that Web Design = Graphic Design = Fine Arts. This understanding is antiquated, and the term “web design” is becoming a bit of an anachronism.
The role of a Web Designer as in someone who makes Photoshop graphics that end up as a website is all but obsolete. In its place we have a plethora of new and overlapping roles: information architect, content strategist, user experience designer, user interface designer, front-end developer; the list goes on. All these roles involve some level of design and every decision made by any one of these roles has an impact on the work of the other roles.
When I say that developers need to learn design, what I mean is developers need to learn what each of these roles do, what their goals and needs are, and how they fit into the larger team. Ignoring color theory and the fine art of font selection, developers will find designer topics and tools like design sprints, design systems and heuristic evaluations oddly familiar territory. And once they learn the language of these other disciplines and know what they care about and how they measure success, developers will find there has always been an empty seat waiting for them at the designer table.
Developers have a vital role to play in the design process of digital products. From start to finish, the design decisions made by developers inform and shape those made by the rest of the team, and by embracing design as part of their process, developers can become designers without ever having to color a single pixel in Photoshop.
Are you looking to learn design? These two courses should help: