Designers vs. Developers: Who Needs CSS?

October 27, 2006

Posted in Web Industry.

CSS is the language of web design. Molly E. Holzschlag

In a typical web shop, the web designer is usually responsible for CSS and XHTML. This person then works with a developer to combine the web design with the web application portion of the project.

This is part of why the web is a disgusting mess of tables nearly a decade after CSS1 was released. What this essay will do is provide some insight on who should be using CSS and why.

Define: Web Designer

The role of the designer is to accomplish the project goals in a visual manner. This means layout of the site elements, content styling, visual flow, and how to implement the architecture. In a neatly partitioned shop, the end product of the designer is a (probably layered PSD) image file. A web designer is a graphic designer for websites.

Define: Web Developer

The developer is responsible for implementing the design and project requirements. This includes CSS, XHTML, PHP, Ruby, SQL, Javascript, and about 63 million other acronyms that get tossed into the job requirements but may not have any logical connection to the actual work done. A web developer handles the technical production of a website.

Where CSS fits in

Like I said before, many designers use XHTML/CSS to build their designs and make them work in browsers. In a proper web shop, this should never happen. Designers are responsible for the visual, creative side of the design. They have to work hard enough keeping up with the latest software tools and design.

Developers, on the other hand, have to keep up with their technology and code. XHTML, CSS, and Javascript aren’t normal programming languages, per se but they rely on the same logic and concepts as traditional programming. Start moving into PHP, Perl and Ruby, and suddenly you’re in the realm of programming.

So why do we ask designers to learn CSS/XHTML? This means browser compatibility. It means dealing with all kinds of glitches, bugs, and quirks. It means thinking about search engines and trying to keep up with the latest legitimate techniques. It means being technical.

It’s also hard work, especially if you’re used to tables and font tags. Getting someone (especially a non-geek) to learn a completely different method is difficult. Coupled with the frustrating inconsistencies in support, it’s an even bigger obstacle.

From a management perspective, it might make sense for designers to do CSS. After all, if you do any work on the web you must be able to do everything on the web, right? That’s why you have one-man web departments being hired where the skill set requires Photoshop through Java and a hefty dose of server administration. It’s not right.


One of the rationales I hear about designers using CSS is that they need to know what can and can’t be done in CSS. If the designer believes something can’t be done, the design won’t include it – and that means sacrificing a design for the sake of the technology. This is dangerous: it is the developer’s job to know what can and can’t be done with CSS, Javascript, etc. The developer takes the design and tries to make it work. As it turns out, CSS isn’t nearly as limiting as many people think. I’m far better at CSS because I’ve had “impossible” designs tossed at me and been forced to think up creative solutions as a result.

The way it should work

A successful web firm will have a designer who does design and a developer who takes that design and converts it to XHTML/CSS. Just as you wouldn’t hire a graphic designer to write brochure copy, you shouldn’t expect your web designer to be a master coder. (Of course, it’s not impossible for a talented designer to also be a talented developer of CSS/XHTML, or anything else.) Having a design-only designer means producing a visual design based on the client’s needs, not on their ideas about the limitations of CSS.

In small firms, however, there is a bit of an exception. Perhaps you don’t have enough work for a full-time designer. So you hire a designer/developer who can do both. Ask yourself which part of the project is being compromised as a result? Is it the design or the development that suffers?

Making it right

As a designer, consider partnering with a developer to get the most out of your design. As a developer, consider that your skills may be enhanced by outsourcing the design aspect of your work to a professional designer. Like my favorite website-as-a-house metaphor: just because you have the tools there doesn’t mean you should be the one using them.


  1. John Nunemaker — October 29, 2006

    The only change I would make to this article is to split web developer into web developer and web programmer. Web developer deals with CSS, JavaScript, etc. and web programmer deals with php, sql, ruby, etc. Granted the web programmer should know html but I would like to see a split. Just a thought. Then each specific area, design, xhtml/css javascript, and database/business logic are all seperated.

  2. chas — October 29, 2006

    I completely agree. And for a larger organization, such distinctions might exist. Your descriptions are exactly what I’d suggest. i have a new post in the works that will address that, actually.

    But I’d stipulate that the responsibilities should not mean anyone – designer, developer, or programmer – should be an island in the project. The programmer needs to work closely with the developer to ensure the quality of both the XHTML/CSS and the programming.