Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Though it is always a plus point to have knowledge of multiple technologies, but due to time-constraint it is not possible for me right now.

I have extensive experience in .NET Windows development and 1 year experience in PHP.

I want to apply for a job of web programmer. Is it absolutely necessary for me to learn web-designing also that includes CSS and PhotoShop?

share|improve this question

closed as primarily opinion-based by durron597, MichaelT, Snowman, Kilian Foth, GlenH7 Jul 7 at 13:39

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. –  user16764 Jun 9 '12 at 19:38

7 Answers 7

up vote 21 down vote accepted

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.

share|improve this answer
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. –  Toby Oct 22 '10 at 7:45
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. –  glenatron Oct 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.

share|improve this answer

In short no.

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

I'll put it like this: someone needs to be. If it's not you, it better be somebody. And if it's not anybody else, then guess who it is.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.