I’ll start by saying that there’s a difference between “should not code” and “should not know how to code.” Designers are in a never-ending debate: should we be responsible only for our designs or also coding for production?
In recent years the coding side has won out, as almost every bay area job listing for designers calls for proficiency in several languages and experience with multiple complex frameworks. But this trend is going to change. So having said that – why shouldn’t designers code anymore?
Lets take a look back:
In the years of 2007-2010, We could see a pattern of front end technology starting to mix with design. The web started to flourish with cool ways to create animations and transitions – without flash.
jQuery was starting to be super popular as well. We started to see animation concepts in UX (a term not so popular those days) like animated “back to top” buttons, and hover effects on images & buttons. But the title – “Front end developer” was still not around, or at least not common. There was just designers and developers.
Designers began to see the need to develop their own websites in order to give the proper attention to the details and complexities of their suddenly powerful and complicated interfaces. WordPress, among other CMS solutions was a blast for designers to learn and allowed them to code their clients’ sites without hiring an additional developer. The outcome was a cost-effective pixel perfect website in less time.
Going forward a little bit:
Around 2010 we started to see how design and front end patterns united. For each cool UI/UX concept on Dribbbleyou could find a coded version (ex. from Dec 2011). Here’s another great example from the end of 2013 – Dribbble shot first and then coded version on Codepen.
At the same time we also began to see front end techniques picking up proper, and significantly more sophisticated development methods. Tools like SASS and LESS allowed us to create variables, loops and functions in our style. We also began to use tools like Grunt, Emmet and coffeescript, not to mention proficiency with the terminal became a requirement.
Each one of these – lets call them workflow enhancers – has a steep learning curve. It takes a while to learn and even longer before you can start working at a professional level without wasting your client/company’s time. Which puts coder/designers in quite a pickle, because proficiency with these tools has become a necessity due to the heavy front end needs of modern web apps.
Which brings me to the next claim:
Interfaces are getting more complex to design
These days every designer must have their own arsenal of skills to deal with way more complicated interfaces then ever before.
- The number of platforms grew exponentially. Designers must know how to use different design patterns for each, while still preserving the DNA of the brand.
- In an era of flat design, designers must be able to design with minimalism in a content-overloaded environment and also have the skills to create uniqueness when a lot of apps look the same.
- Last but not least, users are far less tolerant of UX mistakes. That means that designers have to know how to spot flaws and adopt UX workflow patterns.
The complexity and advancement of design has kept pace with that of front end development.
From UI/UX Designer to Product Designer
After all – we’re the ones responsible for creating the spark that brings them together
Designers are beginning to take on more responsibilities in a company’s marketing plan and have more weight in deciding on product features. Since we are the ones crafting the interface, it’s only natural that we also understand the needs of the company and its users. After all – we’re the ones responsible for creating the spark that brings them together.
My 2 cents
I, myself, know how to code. But I find myself coding less and less, since I have major product design tasks of my own. I still feel obliged to learn and pick up new coding skills every once in a while – but I’m overloaded with the demands of the team to handle product design tasks.
I’m realizing that in this new era – where apps are dominating the world – we have far more importance as product designers. We have to be far more versatile then before.
So to sum it all up, I believe that to become a top notch designer one MUST know code (to some extent), MUST be familiar with UX processes (to some extent), MUST know how to communicate amazingly well with front-end devs, and MUST do product management (to some extent), but most importantly – focus on improving (and never compromise on) design.
So… What do you think? feel free to leave a comment. Now excuse me while I go read “Learning Xcode 5 As a Designer” 🙂