… and no, it doesn’t have to be how to code.
Here are a few points that have helped me assess what technical knowledge is necessary for designers to be successful.
Why it’s not necessary for designers to know how to code
One very simple reason: division of labor.
I’m not saying designers won’t benefit greatly from adding code to their skill set, but in my experience, this question arises mostly when the outcome of the production team doesn’t match the design specifications.
Nonetheless, like in team sports, the worst you can do when your team is underperforming is to take over your teammates’ roles — whether or not you are actually capable of doing it. Focus on yours and trust them to do theirs.
Instead, know your medium
Like print designers should know how a professional printer works, digital designers should have a deep understanding of what’s possible to create in their field, whether it’s an operating system or web browsers.
Possible as in what’s feasible to build
Design tools and web browsers are different, and most design tools are not code-based nor rendered by a browser engine. Don’t create an image of something that is impossible to code.
*Side note on the relative notion of possible/impossible in this context: in the tech world, almost anything is possible. It’s more a question of is it worth the time and resources, given the constraints of your project.
If you take the context of the web, for example, it is fluid, dynamic, animated… Different people with different capabilities and different devices are accessing the Internet all over the world. Creating one static image is most certainly not going to be enough, because you won’t be in control of the end product that your user will experience.
Possible as in what’s currently available
This is the other side of the coin: almost every day new functionalities are added to the field, new ways to solve your users’ problems. Developers should learn how to implement them, and designers should know they exist, and when to use them.
Don’t get blocked by what I call the mechanic syndrome: letting somebody else’s technical knowledge dampen your creativity by telling you that something is not possible to achieve — or too expensive. You should know and have a basic understanding of what needs to happen to execute your vision.
And don’t forget logic
That’s another technical bit that designers should master because the digital world is also a very logical one.
Do you know what’s the difference between “a AND b”, and “a OR b”?
Logic will help you define all of the cases needed for your users’ flows and not forget edge cases, empty states, user and system errors…
I think production teams in the digital space would greatly benefit from more overlapping between designers and developers, and having more people in the middle — call them UX Engineers, Creative technologists, or whatever you like.
Understanding the roles, responsibilities, and concerns of each side doesn’t mean that everybody needs to know how to do everything, but it helps to understand where everyone is coming from and what they need in order to achieve optimal collaboration.
Now that I’ve outlined what’s on a designer’s plate, next I’ll tackle the opposite direction of this two-way street, from the perspective of the developer.