This has cropped up lately following Elliot Jay Stocks post (and tweet). So here’s my tuppence.

Should designers be able to code their designs?

No.

But then again it isn’t that cut and dry. I think that there are a very small number of designers that might just be able to get away with it, but they are a minority in the geek world. There’s a reason people like Andy Clarke and Elliot himself are respected so well, because they are skilled and motivated enough to keep on top of design and code. For the majority of us we should specialise in design, front end development (HTML and CSS) or back end development. I also still think there’s a place for pure JavaScript developers (reducing the reliance on jQuery and other frameworks to optimise code).

So should designers know how to code?

Yes.

Learn how designs are laid out, learn how positioning works, learn about floats, browser bugs and the deficiencies of Internet Explorer (and Safari, Chrome, Opera and Firefox for that matter). There should be no excuse for providing designs that are an absolute nightmare to build, but it doesn’t mean you have to be able to build them yourself. If you know the limitations of the technology you can both design to their limitations and think about ways to get round that and make your awesome designs work.

Which brings about an interesting point, the best way to learn HTML and CSS is just to do it, so if you ask the question again, the answer might be different.

Should designers be able to code their designs?

Yes. But don’t let them build the production site.

Why not then, if they can? The intricacies and time spent on testing and debugging is a start, but I also spend a lot of time keeping up to speed on how Google looks at my code, mobile development, I’m still getting to grips with HTML5 and CSS3, I’m work hard on optimising code, and if I had to do all of that and design sites I build I would let myself down in one area. Not to mention I am not a designer, I do code, that is my passion and so I’m sticking to it and not learning design or keeping on top of design to be able to do both.

You could well apply the same principle to the difference between a front end developer and a back end developer, but I’ve got work to do!