ProjectsBlogRésuméAbout
Back

Blog

My thoughts exploring design systems, product design, and front-end development.

The Age-Old Question: Should Designers Learn to Code?

Sep 25th, 2024

This question has been floating around the design community for years: Should designers learn to code? Why should I even bother answering this question that has been answered by so many before me?

My answer is yes. But why?

My diverse experience spanning design, front-end engineering, and design systems gives a unique perspective so let's talk about it.

Why not learn to code?

First, I'll start with the arguments people make against learning to code.

To keep it simple, when I say designer, I loosely mean product designer because product designers are typically designing the things that require code.

When I say technical designer, I'm talking about a designer who has coding knowledge.

1. Specialization vs. Generalization

The argument goes that designers should specialize in design and hone their craft. Don't be a Jack of all trades, a master of none. Learning anything else beyond design is a distraction from learning the many aspects of design. Product design in itself has many specializations, why overextend yourself and frolic into Engineerland?

2. Stay In Your Lane

Designers who work on software typically are part of a larger team that almost always includes engineers. Why would a designer need to learn how to code a React component when there are hundreds of engineers who are more competent at coding components to pick up this work? Why would design leadership allocate time for designers to implement their work when there are thousands of other higher priorities that should stack ahead of designers coding? These are legitimate concerns.

3. It's Hard

Learning to code is hard, no doubt. There are a lot of programming concepts a designer will need to learn. Then there are concepts to learn in each respective language. Then once the designer gets a handle on any one programming language, especially on the web, it changes. Does that new CSS property actually work in any modern browsers? It is a constantly moving target.

Some people would just say they don't have the brain for coding. I don't think that's true, I think most people can learn anything if they are willing to put in the hours. It's a matter of the designer's appetite to learn something completely new and what they see for themselves

So Why Learn to Code?

So I've made many arguments against myself on why a designer should not learn how to code. Now here are the benefits for a designer to learn how to code.

1. Create Your Own Career Path

Working in tech can be like a pick your own adventure book. There are the traditional product design and engineering roles, but there are so many more niche roles that can overlap design and engineering work.

As somebody who specializes in design systems, I'm accustomed to working solo or on a small team responsible for design and code assets that have a huge influence over the product. In any given week, I could be building out Figma components or transforming design tokens to code.

Design engineering, design technologists, UX engineers have a home in many organizations, and these smart bunch of people can be the bridge between design and engineering. Their roles sit across could be focused on design systems, prototyping, or end-to-end design and building production-ready experiences.

2. Breakdown of Communication Barriers Between Designers and Engineers

Being the engineering subject matter expert on the design team can be a huge asset to the design team. A resource embedded on a design team can help facilitate design work of others into a technically feasible design, or help them find solutions that don't break conventions on their respective platform.

In the other direction, a technical designer could potentially offer solutions to engineers. Anecdotally, I've noticed a trend that front-end engineers are more concerned with the back-of-front-end than the front-of-front-end. HTML and CSS with examples of motion design could help add that extra user delight or reinforce the UX in a way that the engineer would have not otherwise implemented.

3. A Better Understanding of the Techncial Feasibility of a Design

I've personally see numerous times when a less technically-inclined designer may create a design solution that isn't feasible, or goes against the conventions of a platform. The design will require a major revision and deadlines don't get met. Even having without having to have deep knowledge of code, a basic understanding of the materials you are designing with will go a long way towards a successful design handoff.

Understanding the code behind an application also inherently helps a designer understand how to systemize or componentize their design work. Engineers typically want to be efficient and technical designers will inherit that trait and design in the same efficient way.

4. Build with Autonomy

Designers who can code and have the latitude to do both in their role can own the work from end-to-end. Even if their coding experience is not production quality, the designer could deliver an interactive prototype that would provide a higher level of fidelity for the engineers to reference, which is a huge tool for a designer to have in their arsenal.

5. Switching Career Paths

On my resume, I have entries for design, front-end engineering, and hybrid roles. Due to my broad knowledge, I have ability to go in a handful of directions since I'm not pigeon holed to one track. Even within design systems, I've had roles that were more design-focused, and some that were 50/50 hybrid. The world is your oyster.

In Conclusion

There are pros/cons to specializing strictly in design, as well as having a broad skillset. Choose the path that makes you happy. There is no right or wrong answer.

See my resume

View or download my resume. You can also find me on LinkedIn.

Drop me a line

Please feel free to contact me
if you want to level up your design system, or just to say hello.

me@chrisgriffin.org / Linkedin / Github
©2024, Chris Griffin. Made in California.