Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.
If this question can be reworded to fit the rules in the help center, please edit the question.

Someone here thought he could ask for double pay because he had both skills.
–
user16764Jun 9 '12 at 19:38

7 Answers
7

While I would say "yes" to CSS, I don't think it's necessary for a web programmer to know Photoshop well. If you're not planning to work for a 2/3 people shop, there will probably be somebody responsible for graphics design.

Great answer, I would add also that instead of learning a tool (Photoshop) learn the principle (Good design), there is no point being a PS ninja in a house that uses Fireworks.
–
TobyOct 22 '10 at 7:45

2

Spot on - CSS is a core technology and you need to understand that, html and Javascript likewise. My experience has always been that designers are better at design than programmers are. Certainly better than this one is, so you're better ( and you'll learn more ) working alongside them.
–
glenatronOct 22 '10 at 9:13

The question of if it is necessary depends, and I will answer that shortly, but I feel that anyone working with the web should have a good core understanding of what it is built on (HTML/CSS/JavaScript) without knowing how these work designing the backend will be largely irrelevant. For example no one cares if you can query 17 massive databases in under a second if what you return takes 20 seconds to render in the browser.

But to answer your question;

I think it really depends on the scale of the company you are joining. For example I work for a 10 man web development company, I need to know the fundamentals of design because we have too much work for our one design resource.

If you work for a massive company with specialists then no, you wouldn't need to learn these things.

Of course that depends on what you consider is a web designer. I've always considered them to be the people that mock-up the look and feel of a website. You should be able to crop a few background images in photoshop and that's about as much photoshop as you need to learn. In any reasonable workplace there will be a designer who mocks up how the website will finally look. It will most likely be your job to turn this image into code (html/css).

CSS and HTML are important, the people who are creative enough to design pretty pictures in photoshop are usually not good at CSS. CSS is a little like XPATH, you select xml nodes and then apply rules to them.

You should also know a bit of HTTP, cache headers, difference between POST/GET, content-type headers etc.

There will be some occasions where you will need to use common sense when creating some parts of the user interface so they are accessible and usable.

That ajax part of the page should probably have a loading icon, even though the designer/client has not mentioned it.

That search filter should use http GET so the results can be bookmarked.

Those thumbnails should not be resized by just using a width/height attribute on the node. You should create thumbnails on the server.

That email field should probably use type="email" so mobile devices can display the appropriate keyboard variant.

As an aside, PHP is a lousy language, try and find a non-PHP job if you can.

I think you should have a good knowledge about the basic principles: HTML, CSS, Javascript (and where to use it). Maybe a bit about network technology, so you know why a page loads slow and where all those requests are going.

As a web developer I always take care that I produce valid HTML that is easy to style with CSS. I don't do the styling myself though, because I lack the graphics and design skills and because my company usually hires real designers for design work. But it really helps me that I know how to apply CSS rules and that I can understand why a designers creates the CSS and the markup in a specific way.

The more you know the job of those with whom you will cooperate, the better you will cooperate. That's a fact.

It seems important to me to have some Photoshop skills if you are involved in any kind of web project.

In fact, thinking like a programmer can really help bringing ideas to those who work in CSS and Photoshop.

I am a developer and a designer. I found that my Photoshop files were always better architectured than those of pure graphic designers. There are ways to organize PSD files that will reduce the time required to maintain them.

Not to mention CSS files.. Although CSS files are declarative, writing CSS is, to some degree, programming.

The highest Photoshop skill you should need is slicing images out of a PSD or knowing when to use what file type (PNG, JPG, GIF). HTML/CSS/Javascript, absolutely. Those 3 are your responsibility as a web developer. A larger team might have a split between front and back end developers.