I am a computer science student getting ready for my last 2 semesters. I do mostly C && Python, and have noticed that most Python jobs I see posted are for Django developers. Unfortunately, I'm not much of a designer, and am interested to hear from a programmer who "learned" design, as opposed to most of the designers I know, who seem to have been "born with it".
Learning by example worked for me. Took several years but I think I am now getting pretty good at it [0].<p>PatternTap [1] and website design galleries like SiteInspire [2] are invaluable resources for realizing what it is that you like and trying make sense of the design patterns and elements. Dribbble [3] is a great resource too, but you can be easily overwhelmed by it.<p>So basically just sit down and start looking at other people's work. Analyze why <i>this</i> subjectively looks better that <i>that</i> and you will see the patterns emerge, e.g. generous spacing works really well, and so does contrast, slight texturing goes a long way in certain cases, etc. This will lay a groundwork for general feeling of the design.<p>Some time after start learning tools (like InkScape, PS or Illustrator) and start reproducing other people's work. This will develop motor design skills. Accenting, nuancing, coloring, pixel-level effects, etc.<p>I find learning by example a far better approach than going to the classes where you are presented with an already digested version of information; and not shown how best practices compare to not so best practices. <i>Some</i> formal design tutoring is certainly helpful, and it can be done with books and reference materials on as needed basis. This is especially true for composition and typography.<p>[0] <a href="http://dribbble.com/apankrat" rel="nofollow">http://dribbble.com/apankrat</a>
[1] <a href="http://patterntap.com" rel="nofollow">http://patterntap.com</a>
[2] <a href="http://siteinspire.net" rel="nofollow">http://siteinspire.net</a>
[3] <a href="http://dribbble.com" rel="nofollow">http://dribbble.com</a><p>(edit) And no designer is "born with it". They just don't show you their early (crappy) designs, that's all :)
I'd suggest David Kadavy's Design for Hackers when it comes out: <a href="http://www.designforhackers.com/" rel="nofollow">http://www.designforhackers.com/</a>
><i>"I am a computer science student"</i><p>Take a studio art course. It will require a high level of commitment which is the only way to learn design.<p>[edit] It also has the potential to make your resume stand out among a stack of recent CS grads.
I learned a lot from and like <a href="http://24ways.org" rel="nofollow">http://24ways.org</a>. Highly recommend scanning through their articles for things that interest you, especially ones on prototyping without Photoshop.
Lots of online video tutorials, various photoshop books, and the need to want to design something. Not to mention endless use of le best friend Google to look for stuff. It's the only way to go.
I'm not a good designer by any means, but I've learned a lot by finding sites I like and just poring over their CSS to find out why they did what they did.