Should web designers know how to code? It’s a question that comes up again and again, usually with great and passionate disagreement by the design community. I wouldn’t say it’s necessary, but I do think it’s in the best interest of web designers to know how to develop their designs.
Earlier this year Elliot Jay Stocks caused a bit of controversy with what he thought would be a mostly innocuous comment on Twitter.
Instead, the simple tweet above turned into a passionate
discussion argument about what skills a web designer should have. Last week Michael Tuck revived the issue with a post for Six Revisions, Should Web Designers Know HTML and CSS?.
A couple of videos I watched this past weekend also got me thinking about the question again. The first is a short video on why designers should learn programming. The second video I’ll get to in a bit.
Here’s a list of things that are necessary for web designers.
- Food and water
- Shelter from the elements
That’s it. Those are the things necessary for all of us, web designer or any other human being. No matter what else you try to add to the list you’ll find more than one exception and if there’s an exception to something, that something clearly wasn’t necessary.
So is it necessary that web designers know how to code? Of course not. There are plenty now and there will be plenty tomorrow who will never know a lick of code and still manage to be great and successful web designers. That doesn’t mean web designers shouldn’t learn how to code though.
I agree with Elliot’s surprise when encountering web designers who have absolutely no knowledge of how to code their designs and I agree with Michael that web designers should know html and css, but as far as the question of whether it’s necessary for web designers to know how to code, the answer is very definitely no they don’t need to.
The rest of this post will focus on why need or not it’s in the best interest of web designers to know how to code.
Why Web Designers Should Know How to Code
There are lots of things we should all do that aren’t necessary. For web designers being able to code their designs is one of those things. Even if you never plan on developing your designs knowing how has benefits.
- Understanding the medium you work in will help you work better in that medium
- It offers a competitive advantage
- It leads to better communication along the web creation pipeline
- The more you know in general, the better designer you’ll be
Ultimately knowing how to code will make you a better web designer, much the same way understanding something of the printing process will make you a better print designer.
You don’t need to to run the printing press or know every detail about the paper and ink, but having at least a general understanding of the materials and the process and the strengths and limitations of each will lead to less problems and provide you with information to make additional design choices.
Understanding the Medium
The work of a web designer is inevitably going to be a web page or website. Some might argue that’s not quite true given the rise of apps, but even then the design ends up being developed with code. The medium we work with is the web.
The code itself isn’t the medium, per se, but the code is how we interact with the medium.
About 3 1/2 minutes into the video above Jesse James Garrett talks about how design has historically been taught. He mentions that in the historical approach to be a really good designer is to know your medium and that for many designers the first choice was to define the medium they would work in.
Jesse calls this mediumism and suggests it’s an outdated approach. I agree to an extent at least with the idea of having to choose a single medium to work in.
There are aspects of design that aren’t medium dependent. For example using space in a design. Whether your design ends up in print, on the web, or on the surface of a balloon, you’ll want to consider the use of space.
However working with the medium is still important. You wouldn’t attempt to use a fountain pen to place your design on a balloon unless your goal was to pop the balloon. An understanding of the medium is only going to make you a better designer in that medium. With web design that understanding comes in large part through an understanding of the code used to produce web pages.
Gaining a Competitive Advantage
I’m sure you’ll agree that a lot goes into creating a successful website. A few things off the top of my head that might contribute to the success of a site.
- Clear business and site goals
- Valuable products and services
- Sales Copy
- Content creation
- Visual design
- Web development
- Off-site Marketing
- Search engine optimization
- Backend programming
- Database management
Are you, or even can you, be an expert in all of the above? Probably not. Still when I consider all the different things that go into making a great website I want to learn them all. It’s one of the reasons I became a web designer in the first place. There’s always more to learn. I don’t expect to master everything, though I do expect to improve my skills in everything related to creating a website.
Aside from the intellectual challenge, knowing more about the various aspects of creating websites gives you a competitive advantage. It will help you differentiate yourself from your competition. When your skills cross disciplines you offer added value to your clients.
If you’re applying for a job and you know visual design, but the next interview knows both visual design and how to develop that design as a web page, who do you think offers more value to the company? Who stands the better chance of getting the job?
You can differentiate yourself in negative ways too. If a large segment of the industry knows how to code and you don’t you lessen your value. I’d bet there are more web designers out there who know html and css than don’t know. It only makes sense to keep up.
You might argue that you don’t need to code since you work with someone who does, but what happens when the client asks questions about the code (it does happen) or you need to come up with an estimate of time and price for your work and your developer is not in the room.
Which brings us to the next point.
Better Communication Along the Pipeline
If you look again at the list above it should be clear that no one person is likely to do all that work. It’s going to be done by several people at least. Several people who will communicate with each other.
It helps to have some shared language with people when communicating with them. I can’t tell you how many times a web designer with no knowledge of coding has sought me out to develop their designs. The communication is sometimes difficult and leads to confusion. While I consider it my responsibility to help a designer understand in those situations, there’s a limit to how much I can do.
Also the more time I have to spend explaining the development process the more I have to charge for my involvement in the project. It’s unreasonable to think I could spend two hours explaining something that will result in a one hour job. I can’t make a living that way.
As a web designer you may not communicate with the person who later writes press releases, but you’ll certainly have to talk to the person who’s developing your design. The two are tightly connected. The more you as a web designer understand the development process the better your communication with a developer will be and the more likely the finished page will be faithful to your design.
The Many Skills of Design
In addition to the list of the components involved in creating a successful website here’s another incomplete list of different skills that benefit a designer.
- Problem solving
You can certainly be a good designer without general knowledge of psychology, but understanding things like the principles of gestalt will help make you a better designer. Design crosses a lot of different fields and it’s in your best interest to know something about as many as you can.
If you’re a freelancer or you run your design business it makes sense to learn more about accounting, and marketing, and general business concepts. You may choose to hire an accountant, but if you learn nothing about accounting you better hope your account is 100% trustworthy.
You may hire someone to do your marketing, but doesn’t it make sense to know where your marketing dollars are being spent. You don’t have to be an expert, but you should know something about those other disciplines.
Two Counter Arguments
First a comment by Alex Crooks on the Six Revision post.
A designer who can’t code knows no boundaries of web development, and is always pushing the limits of what we can do/display on a website. Innovation is often found because he is not limiting the design because he knows it might be very hard to code.
Alex makes an interesting point. Sometimes the best way to see a solution or innovate is to step back and see thing with a child’s mind. See things without the curse of knowledge.
It’s an interesting point, but one I think makes an ineffective argument in this debate. Yes there will probably be times when knowing too much about the limitations of coding something leads to less innovation, but there are better solutions to the problem. A simple one is to ask someone else for a different perspective.
By the same logic you would get more innovative designs without any knowledge of design or your client’s business or life in general. You wouldn’t feel limited to design navigation that works for example.
Limitations are not a bad thing. Design is about constraints. Take away all the constraints, all the limits, and you have art. Art is a wonderful thing, but it’s not design. Design is limited from the very moment a project begins. You’re designing something for a specific client with a specific budget and a specific audience. Each limits innovation.
There are better ways to overcome those times where innovation might be stifled than a lack of knowledge.
Is it Easy to Learn to Code?
Depends on who you ask I guess. It wasn’t difficult for me to learn. A few days with html and the rest was memorizing different tags I could use. CSS took a little longer, but an understanding of the basic syntax again only took a few days and then it moved into memorizing different properties and values.
And yet both took much longer to master, especially css. It’s easy enough to memorize the code to float something to the left and much more difficult to learn how to use that code in a working design. It’s easy to learn how to use css to turn a piece of text blue and much harder to understand which css properties will be best to use to develop a layout and how to then structure your html so it works best with those css properties.
Coding is a different skill than designing. The former relies more on the left side of the brain, where the latter relies more on the right.
While I’ll still argue that it’s worth working through this learning curve it’s the one reason I can accept for not being able to code your own designs. Not everyone finds it easy to learn how to develop websites. For many of us it is relatively easy to pick up, but that’s not true for everyone and there’s no reason why it should be.
That doesn’t excuse not knowing anything about how a web page is developed, but it is a reasonable argument for why some web designers can’t code their own designs.
Instead of trying to embed links to some of the other people who have covered the topic throughout this post, I thought it made more sense to list some of them together here. As you might guess there’s a lot of opinion on this topic and the links below only point to a few of those opinions.
Be sure to read the comments on these posts as that’s where much of the debate happens
- Web designers who can’t code
- Should Web Designers Know HTML and CSS?
- On Designers writing HTML
- 5 Good Reasons Why Designers Should Code
- Should web designers build their own pages?
- Design isn’t about tools
Is it necessary for web designers to know how to code? I don’t think so. Again I consider very little in life to be absolutely necessary and a designer’s ability to code a website is not one of them.
However I do think web designers should want to know how to write html and css, because it will only make them better web designers. Coding is going to enter into the development of a website and will be closely tied to the visual design the same way paper and ink is going to enter into the creation of a print design.
The more you know about the medium in which you work the better you can design for that medium. The better choices you can make in regards to that medium. You don’t need to become an expert, but you should want to know as much as you can.
It will help you understand what’s possible and what’s considered not possible. It helps you see where you can push boundaries and where you should probably stick to conventions and existing design patterns. There are better ways to not stifle innovation than a lack of knowledge.
You wouldn’t or shouldn’t begin a design without an understanding of how the success of that design will be judged. It constrains you, but in a good way. The same is true for using a grid, choosing a small color palette from all the possible colors, and using a limited set of typefaces. All constrain in a good way. The same is true for knowing the limitations of how browsers render html and css code.
It’s not that web designers need to learn how to code, it’s that knowing how to code, at least the basics, will help you design better websites.
Download a free sample from my book, Design Fundamentals.