Whether or not web designers should know how to code is a question that's been around for over a decade now... and one that most designers have agreed on more or less: Yes, web designers should know at least a little bit about HTML/CSS... But as new standards, formats, and languages have been developed, the stakes of this question have gone up quite a bit... so, should modern web designers know how to code?... and how much should they know?
The Poll: Should Web Designers Know How to Code?
I'll list the main arguments for and against creating mutant web-design/developer ninjas down below, but take a moment to really consider the implications of this question in your own career. There have been some passionate debates about this in the past, and for good reason: learning how to code can make a web designer both a) better at his job and b) prone to getting bogged down in the constant need to keep up with what's new in the code world.
How you answer this question can form the foundation of an incredible career, or the framework for a miserable work-lifestyle... consider the arguments, then answer the poll:
The Arguments Against Learning How to Code
- Time: It takes time to learn a new skill like coding... that time is better spent on improving a designers' core abilities: design, illustration, typography, layout, color theory, etc. Spending time on code means time spent away from the core set of skills... which means weakening what makes a designer a designer.
- Constant Knowledge Upkeep: To compound the time argument, it's important to remember that learning how to code isn't a one-time course. Someone who learned how to code HTML in 1998 would be ancient by today's standards. Just in the last year, new formats like HTML5, CSS3 and others have become vital new tricks that any good coder needs to know about... which means you have to go back to the books if you are a designer/developer.
- No Clearly Defined Stopping Point: To make matters worse, a designer who decides to learn how to code doesn't really have a defined set of rules for "learn this, but don't waste your time learning that". Just how much knowledge is enough?
- Liability: Have you ever heard the phrase "I know just enough to get myself in trouble"? That's what many designers encounter when they profess to be "coders" but can't back up their claim 100% of the time. Designers who claim to be coders also have to deal with the headaches and mistakes that coders have to deal with... which can mean endless weekends troubleshooting code when all you care about is the design.
I'll agree that having a good relationship with a developer is a useful tool for designers to avoid design > code problems... but mastering the intricacies of code does not mean that a designer is going to make better designs.
- Tunnel Vision: When designers learn how to code, they often limit their creativity by the same coding standards they thought would make them better designers. That's one reason that lots of websites end up looking very similar. Designers who know how to code end up designing as if they were coding... afraid to break free from their own understanding of what's possible to code... which makes for boring designs.
The Arguments For Learning How to Code
- One Man, Two Jobs: The obvious benefit it this: you can code your own designs... which means you don't ever need to hire outside contractors if you are a freelancer... and you can likely do the job of two people if you work for a larger studio. This means more $$$ in your pocket, at least theoretically.
- Better Understanding of Code = Better Designs: Lots of people will argue that understanding the core building blocks of websites makes designers infinitely better at creating usable websites. Think of it like painters learning how to mix their own colors... is it mandatory? No... but it makes for designers that design things that make more sense in the context of the medium.
- More Affordable Designs: Designers who know even just a little bit about code avoid making the "rookie mistakes" that print-designers often make when trying to turn a print design into a website. These mistakes often mean more time and money spent on the coding phase of a project.
- Better Communication: Even if you don't ever plan on taking a primary developer role in any project, knowing just a little about coding helps you to communicate better with the people who do end up coding a project. This means a smoother project workflow, less headaches, and happier clients.
- You'll Get More Work: Another great advantage for designer/developer hybrid types is that they can take on a wider set of tasks and projects than plain old designers. I know lots of designers that take on extra work as "front-end developer" when design projects run thin. Having the extra skillset, might not make them better designers directly, but it does bring in more work... which means more experience, which probably means becoming a better designer over time compared with a designer that can't find a project to work on because his skillset is too limited.
- Competitive Advantage: Let's face it: even if you don't buy into the idea that learning code will make you a better designer, what it does do is it gives you a competitive advantage in the marketplace. With high unemployment rates and a vicious job market, having that little extra bit of knowledge can make you seem like a better hiring decision than the other guy, who just knows how to design.
Let the Discussion Begin!
Alright, so you've heard the main arguments... and honestly, both sides of this debate have some pretty valid points. Where do you fall in the discussion though? Are you on the fence? Do you have your own unique insights or advice?
Share it all down below in the comments section!
Update: There's No "Right" Answer! One of our commenters mentioned that this is a loaded question... and it is. Like the other posts in our "Reader's Poll" series, this is meant to be a jumping-off point for discussion amongst our readers.
There's no actual correct answer in the case of this week's poll, because it largely depends on the type of designer that you want to become. If you want to be a hardcore visual designer that focuses in on things like illustration and typography, you're likely to say that coding is less important because your main role in projects is going to be creative (and you are likely to have an entire team of developers and engineers to help guide your creativity). If you want to be a solo freelancer who works one-on-one with clients, coding is going to be infinitely more important to you as it's a direct expense if you need to hire a coder to assist with a project.
More importantly, this poll and article is intended to help you sort out what type of web designer you are, and what you want to become. There's plenty of room in the world for all types of designers and developers, but finding out which one best fits your own personality and workflow is crucial to really making it in the industry :)
Thanks Jeff for reminding me to put this in context!