They just don’t understand what I do
Or, why product designers really should understand code
I recently had a conversation with a fellow designer who expressed her frustration regarding her work with her company’s marketing team. She was involved in a larger campaign and had to work directly with members of the marketing team. Not only was she not the happiest about being pulled away from her product-related tasks, she was also not too happy about the constellation of this collaboration. Her main complaint:
“It is so frustrating that so much of what you do everyday is determined by people who have so little understanding of what you do. They just don’t get it.”
Now, I’ll be the first to admit, that in itself sounds very dreadful. Everybody who works a lot with computers can probably relate to it in some way. Just think about this: remember the last time you had to explain software or the general workings of a computer to your technology-illiterate family member? Like how family get-togethers during the holidays always turn into tech support sessions for the entire family, just because you happen to “do something with computers”? Yes, just like that. Just minus the food-coma.
So I have a good portion of empathy for this feeling. It can be frustrating, when even the very basic understanding is missing, and people come up with the strangest ideas, demands, and questions. But guess what?
Designers talking to developers about how to implement their pixel-perfect comps run the very same risk.
When designers hand off their designs, they too can be the people who seem to not have the slightest clue what developers actually do and how they accomplish the goals designers try to set for them. So developers can be blamed for thinking that so much of their work is influenced by people who have no understanding of it.
So amidst all the discussion about whether designers should know how to code, keep this in mind:
We as UX designers — or product designers, too — lay claim that we work at the intersection of design and technology. Or that we mediate between user needs, business needs, and technological viability. And a lot of us work closely with developers. So the very least we can do, is make sure that we have enough of an understanding of the technological environment that our work is based on.
I am not trying to make a case that every designer needs to know how to code things. But I believe that especially product designers need to have a solid understanding of their products’ technology. One of the most crucial aspects of product design and development is the collaborative nature of the process. And the foundation of successful collaboration is the ability to communicate with each other.
As a product designer, you should be able to discuss your work with developers when you go into a meeting, knowing your front-end code and having a general awareness of cross-browser compatibility — and its limitations. You don’t need to know the individual class names of the framework your product uses, but it helps to have a solid enough understanding of its functional scope, and some ideas about possible limitations and challenges.
I have yet to come across the need to actually code for the back-end — whereas front-end knowledge seems crucial, especially for prototyping — , but it is immensely helpful to be aware of the general data structure required. Occasionally, a software architect will point out particular challenges of a permission model or data visualization model you are suggesting.
In some cases, it might even be helpful to understand the basics of the process of deploying your product to the servers, or publishing it to the AppStore / Google Play store. that way, you can give other team members — like marketing — an ETA for when changes will be accessible to the public.
So, to code or not to code?
As you can hopefully tell, I don’t have a definitive answer to this question. You might be able to get by with a very rudimentary understanding of things. Just enough to not make a complete fool of yourself when you talk in the presence of the developers on your team. However, as the need for collaborative processes constantly increases, being able to talk through ideas with your team is essential. And the better your understanding, the more valuable your contributions to the discussions. And the best way to gain an understanding of things remains doing them.
And by the way, if your role involves working closely with marketing, it doesn’t hurt to figure out what it is they do exactly, so you don’t think just in deliverables, but keep the bigger picture oin mind as well. Or maybe they too will think that you “just don’t get it.”