Should a UX Designer Know How to Code?
Is the architect expected to know everything about construction or welding?
This topic of discussion has been passed around the Internet for quite a few years now and elicits passionate responses from both sides as well as every point of view somewhere in the middle. Here at CURTIS Digital it comes up often just because we are super passionate about both disciplines – plus we love to talk about process and thought-provoking, controversial stuff.
If you talk to recruiters or browse through the plethora of job opportunities you’ll definitely notice this nagging trend — in the ever-growing list of expected skills and responsibilities lurks:
What? Most UXDers have all this extensive experience in this and in that and now they want us to know coding languages that some spend years perfecting? I thought we were done with this recurring debate and expectation that a UX Designer (UXD) should not only know code but know HOW to code? Clearly it deserves some more attention and dissection for those new to this hot, new discipline, those in the job market and those who want a UXD to be a Johnny Do It All.
The UX Population
Us UXers are indeed a varied bunch. Our backgrounds and areas of expertise vary widely … and I mean widely! Some have a graphic design background, some an information science background, some a library background, some a content background, some a research background, some an anthropology or psychology background and some a developer/technical background – just to cover a few. Every one of us brings a different skill set to the table but as great UX designers we’re expected to know everything related to:
- Information Architecture
- Interaction Design
- User Research
- Usability Testing
- Content Strategy
- Mastery of UX software tools
On top of these interdisciplinary fields, an eye for design and all things creative, numerous soft skills are expected of a stellar UXD:
- Solid presentation skills
- Great client/stakeholder skills
- Effective, persuasive communication & writing skills
- Knowledge of emerging industry & technology trends
- Diplomatic and pragmatic approach
- Collaborator and team player
- Basic knowledge of project management process
But it goes way beyond hard and soft skills. We need to be professional empaths and superb listeners who are dedicated and passionate about helping people truly enjoy the world around them. Now you want us to know everything about code too?
This is not to sound whiney:” Whoa….You are expecting so much of us!” Clearly a lot of professions require a multitude of skill sets. But is the architect expected to know everything about construction or welding? Is the developer expected to know the ins and outs of user experience? Surely it all depends on the size and the needs of the business. If small, people are expected to wear multiple hats since resources are scarce. I certainly don’t blame small businesses looking for a talented hybrid (UX designer/coder) for that reason alone. Economics matter. But how can you be an expert in two different fields that actually have a conflict of interests in some ways?
2 Specialists or 1 Generalist?
Which is more effective: two experts (a UX designer and a coder) or a two-halved brain? Here’s the deal — the goal of UX design is true innovation. The coder’s goal is to write slick, clean and maintainable code. Each of these disciplines requires a few years of experience and knowledge gathering to be considered at the intermediate level. Jared Spool, CEO & Founding Principal of User Interface Engineering, defines specialists in his blog Ideal UX Team Makeup: Specialists, Generalists, or Compartmentalists:
“Specialists are professionals who have the time, experience, and projects to allow them to go deep into a discipline, such as information architecture or visual design.
Because they can concentrate on the one discipline, they become very knowledgeable and experienced at solving the problems that crop up. Having a specialist on board is often very valuable, since they’ll know how to tackle the many subtleties that can make or break a project.”
On the flip side, Spool points out that a generalist possesses the ability to understand the intersections of disciplines from multiple perspectives bringing the big picture to the table. I’d like to say that a seasoned UX designer should actually understand these interdisciplinary elements to a degree. As UX designers, we need to comprehend the basics of development and coding so that we can intelligently design to them. We need to understand the world of visual design so that our designs are actualized as we envisioned.
Founder and Publisher of UXmatters, Pabini Gabriel-Petit takes it a step further in Specialists Versus Generalists: A False Dichotomy? She points out that “the ideal UX professional combines many of the best attributes of both specialists and generalists… Most importantly, this person can integrate diverse viewpoints and takes a holistic approach to solving problems.” Gabriel-Petit continues on to say that there are “natural dichotomies between certain UX specialties, for which it’s usually best to define specialized roles within an organization:”
And [drumroll please] …
“design and front-end development – I am always amazed by how many companies still hire UI engineers to design as well as build their user interfaces. While there are a few brilliant developers who do both well, that’s the exceptional case rather than the rule. In general, designers do a better job of representing users’ wants, needs, and mindsets, and developers do a better job of writing the code that implements a user interface.”
If the eye is on innovative design and perfect code, I would think most would agree that two is better than one.
A Natural Contradiction
Designers who can code will constantly face contradictory goals. As UXDs we are user representatives that are asked to think way outside the box. Those with in-depth knowledge of HTML will want to mold their designs into their html box. In his post Designer are not Programmers featured in ignore the code, Lukas Mathis (a talented hybrid) puts it well:
“Designers need to be aware of interaction constraints and usability constraints, but not of technical constraints. Conversely, most programmers are very aware of technical constraints, but not of interaction and usability issues. Designers create for humans; programmers create for computers. Working together, they can create a holistic solution.
The best designs are a result of friction between the designer and the programmer, of divergent goals which combine into the optimal solution through discussion and iteration.”
The quality or effectiveness of the UX design is potentially compromised when a hybrid tackles both – going against the ultimate goal of UXD.
Effective Collaboration & Communication
Ultimately, true collaboration and real communication between the designer and the developer bridge that gap that some seek to fill with a hybrid talent. It certainly comes in handy when the designer is aware of code limitations. Yet, at the end of the day, it’s best to leave the implementation to the development team, share your designs early on in the process and collaborate on how to reach for perfection without compromising user experience, technical feasibility and project scope.
That way you get the best of both worlds — UX that wows your users and elegant, scalable code.