There have been some great posts on Twitter and around the web on whether or not web designers should know HTML/CSS and be able to produce their own designs. Elliot Jay Stocks and Mike Kus had some great tweets and blog posts about it and spoke very eloquently about it. I've always agreed with that perspective. Jeffrey Zeldman's quote 'real designers code' has always hit it right on the head for me. But it amazes me that there are still so many people who disagree. In part I think that this may be the case due to missing an essential part of the point: that web designers should be ABLE to produce their own design in HTML/CSS - not that they MUST in all cases do so.
That's a really important distinction. Without that knowledge there is often far more wrong with what that designer will produce than just what can/should be designed visually and often a lack of clear understanding of the interaction. The web is not static. It's a poorly conceived fantasy that a web page should look exactly the same from Photoshop to every browser version and platform. Sometimes it can, but most of the time it needlessly sucks up budget and time, and lessens the experience for the larger audience unnecessarily.
It's also true that you can't know everything, and you should focus on what you're great at (or want to be great at). But to ignore the immediate adjacency to your core is to limit your ability to communicate the spirit of your design to your client and to your team members. The design process can certainly start in Photoshop or Illustrator, but it MUST make that transition to the browser before you can fully realize the design in action.
As for the constraints - I think that the argument that 'knowing HTML/CSS will limit your thinking' is ridiculous. Try designing an annual report or a print ad without knowing how 4-color printing works. Design and any other art endeavor is always about constraints. The marble and the tools, the size of the canvas, the cost of die cuts and foil stamping, budget dollars available are all constraints that artists have dealt with for thousands of years. Design is no different. And truly, without constraints you have nothing against which to push. You can't break boundaries in design if there are no boundaries to break. A good designer learns the constraints and uses them to inform their design and push their ideas in new and interesting ways. On the web it's even more complex. It's not just about visual design but also interaction and usability. Without understanding all the ways HTML/CSS renders, how it looks on different monitors, platforms and browsers, knowing how screen readers work and how many people have low vision and therefore miss too-subtle color transitions for links - you're not a web designer. Period.
I worked with a designer who refused to factor any of this into his work. He would restyle links 6 or 7 different ways in a single site based on his own aesthetic preference, insisting that 'users will learn this very quickly'. That's complete BS. The second you make choices that start forcing the users to conform to your whim rather than design for their ease of use you have absolutely failed as a designer. You don't have to write your own HTML and CSS all the time, but without understanding it and how it renders and affects interaction and usability, you may as well learn the phrase Ian Lang pointed out on Elliot's blog (loved that): 'would you like fries with that?'