Disagree. This is a mutation of an older argument. The designer should be aware of printing issues (color correction, ink coverage, trapping) but they don't need to know how to run the press themselves.
The designer should not be considering how the images will be cut up, what CSS features will be used, etc. They should have some general knowledge of what is and isn't possible, and what works and doesn't (interface/design wise) on the web, but then they should throw the .PSD files over the wall and let the coders get to work.
Thinking about the implementation while working on the design can only result in a dumbed-down design, not something that pushes the edge of what's possible. The best sites I've worked on came from designers who threw me a loop, but I managed to reproduce their design anyway.
Here's the catch, I write code, I do models and controllers, and services, and figuring out methods and interfaces etc. Handholding a designer that doesn't know anything about layout to me sounds like a developer needing a secretary to actually do their typing / run their IDE etc, worse yet not even a secretary because at least it's actually their role to act as an assistant. Say a systems administrator instead, they have knowledge of how to use keyboards and software and things, such details are unnecessary for the formulation of good software engineering, surely this can simply be skipped .
That's utterly crazy on the face of it, so why is it ok for designers to waste the time of developers?
For literally hours on end it is several million permutations of "move it 2px to the left, no, right, no, up, no down, I mean right align, I mean center, I mean split it, I mean add that element, I mean do this, do that" and worst of all "What do you think of x" like I have any opinion on the aesthetics / presentation of any given site. I simply couldn't care less, aesthetics and design do not appeal to me in any way shape or form; that's why I'm a developer and not a designer.
Isn't this one of the primary reasons we even have frameworks that have a seperation of concerns between presentation and logic? So that the artsy but code illiterate types can mess around at the surface layer without messing up the code? Is it really so much to ask that the designer just mess around in the view layer till their heart's content? It's in version control, it's not like they're going to permanently break anything. Yet I find it a sisyphean task to convince these people that they need to know this stuff and not to bother me with it.
Meanwhile, I get no code written because a designer can't figure out the simple semantics of html/css, basic version control and mess with firebug for themselves.
I don't DO "move it 2px to the left, no, right, no, up, no down" -- the designer hands me a .psd file, I reproduce it to the pixel and hand it back. If for some reason they need to make changes to their design I lay it over my files or the original design, diff the diffs, and make the changes. If they're happy with the design they created, they'll be happy with my code.
I'm not saying the designer needs to know nothing - they need to know a bit about screen sizes and other topics related to design. Obviously we disagree, but I don't want my designers thinking about the code.
Firstly, markup is not code, if it's something like javascript or actual code, yeah I don't want them messing with it either. Markup however is quite literally exactly what they should be messing with.
Secondly, they hand you a PSD with a design, that's tedious but easy enough. You can farm it out to someone who just does HTML/CSS and as another comment on this thread notes, that's a very high competition low margin market. I don't have a real problem with that, but the initial designs are never the finished product, there are iterations all the time, and the way I've seen them iterate is "oh we need an edit / delete / create button for this particular widget here, it needs to be aligned over here, no we need to move it six million times to decide, I don't know, use your intuition" like I should have some kind of intuition about design issues.
They're designers, they handle appearance and aesthetics, I have no interest in it whatsoever, I don't want to iterate six million psd's into their html/css counterparts, and I sure as hell don't want to have to handhold the designer at the stage the implementation is already finished and they decide they want to modify pixel margins and such.
The time spent handholding the designer on my current project vs actually doing my job and writing code is 70/30 in favour of handholding the designer. This is flat out ridiculous and I refuse to believe it ought to be par for the course because they couldn't be bothered to learn something as utterly basic as css and html. I didn't even want to learn them myself because I didn't see it as a coding issue but just ended up learning it by osmosis because it's not complex at all.
This is a very high competition, relatively lower demand market than straight web app development. A single designer can build interfaces that will put a whole team of developers to work. If I'm interviewing designers and I had to choose between the better designer and one that could do reasonably good HTML/CSS, it'd be the later all the way.
The designer should not be considering how the images will be cut up, what CSS features will be used, etc. They should have some general knowledge of what is and isn't possible, and what works and doesn't (interface/design wise) on the web, but then they should throw the .PSD files over the wall and let the coders get to work.
Thinking about the implementation while working on the design can only result in a dumbed-down design, not something that pushes the edge of what's possible. The best sites I've worked on came from designers who threw me a loop, but I managed to reproduce their design anyway.