Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a small webdesign firm, and count with one designer. We can currently not afford too much expansion in the design area, so that means that the designer creates the main design of a website (which often means: the homepage), and the programmers then work with this to make it into a website. In general, this works for us. However, I have noticed a big difference between the abilities of different programmers to apply 'nice design touches' to a website. Given that we only have the homepage design, we often need to structure internal sections ourselves. Nothing major, no design program needed, but CSS skills come into play. So let's say we need to show a list of different sections in the website. I will have the content and assign this to two programmers. One will come up with this:

enter image description here

And another will do very much his best - and has the same CSS knowledge - but can only come up with something like this:

enter image description here

NOTE: sample image taken from MailChimp website.

The second programmer is aware that his 'design' lacks style and that it needs improvement, but he is just not able to create something nice without having it all drawn up by somebody else. He wants to work on this, but I do not know what a good approach would be. Any tips? Anybody with similar experiences?

share|improve this question

closed as off topic by Oded, Yannis, Mark Trapp Dec 3 '11 at 23:19

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Start with books like "the non-designers design book". – Oded Dec 3 '11 at 22:12
Ask yourself how to get "designers to apply good programming principles". I think you would agree with me, that question makes no sense :-) – drozzy Dec 3 '11 at 23:03
Actually the second one looks better. In what world you may ask? In a world where links should be links and the description text should be readable by anyone, a world where accessibility actually matters. – Yannis Dec 3 '11 at 23:20

However, I have noticed a big difference between the abilities of different programmers to apply 'nice design touches' to a website.

And you will notice big differences between the abilities of different programmers to play guitar. nice design touches are outside the job description for a developer. You should hire developers with design experience (or more designers) and not try to squeeze skills out of people.

And of course you could invest in formal design training for your developers. We always like learning new things. But it should be formal training, on the company's time and dime.

Half measures will lead to failure, sooner than later.

share|improve this answer

It's very rare to find a programmer who can design to a good standard. Design can be very hard for some programmers while programming can be very hard for some designers. If it was easy for programmers you wouldn't need designers.

Let the programmer create the initial layouts from the home page then let the designer review each (and perhaps tweak) before it goes live. Also, why doesn't the designer create a design brief on how elements should look that the programmers can follow? You would still need the designer to review it all though.

share|improve this answer

This is what stuck out to me:

and has the same CSS knowledge

Having the same knowledge of CSS doesn't mean they have the same skill or experience to manipulate it, or fully understand how different styles can interact.

In addition, it's difficult to say anyone has the same knowledge in something like CSS, where every attribute and possible values are pure memorization.

For example, I'd been using CSS on and off for years, and near-continuously at work for perhaps 7 months, before I found out what absolute positioning does when inside a relative-positioned DIV. And that's just one simple thing that I'd overlooked for so long.

share|improve this answer