

Ask HN: Tips for a programmer learning design? - paul-woolcock

I am a computer science student getting ready for my last 2 semesters. I do mostly C &#38;&#38; 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".
======
latitude
Learning by example worked for me. Took several years but I think I am now
getting pretty good at it [0].

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.

So basically just sit down and start looking at other people's work. Analyze
why _this_ subjectively looks better that _that_ 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.

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.

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. _Some_ 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.

[0] <http://dribbble.com/apankrat> [1] <http://patterntap.com> [2]
<http://siteinspire.net> [3] <http://dribbble.com>

(edit) And no designer is "born with it". They just don't show you their early
(crappy) designs, that's all :)

~~~
kadavy
That's a great progression you've outlined there (and looking at your work, it
has clearly worked well). I think the whole process will go more smoothly if
there is a framework within which to make those observations. Understanding
the philosophies behind design principles, typography, geometric
relationships, use of white space, composition, and color theory will make it
easier to understand what you're observing.

So, I also suggest my own book, which comes out in September, and will
hopefully provide such a framework for programmers learning to design:
<http://designforhackers.com>

------
tnorthcutt
I'd suggest David Kadavy's Design for Hackers when it comes out:
<http://www.designforhackers.com/>

~~~
kadavy
Thanks! :)

------
brudgers
> _"I am a computer science student"_

Take a studio art course. It will require a high level of commitment which is
the only way to learn design.

[edit] It also has the potential to make your resume stand out among a stack
of recent CS grads.

------
SkyMarshal
I learned a lot from and like <http://24ways.org>. Highly recommend scanning
through their articles for things that interest you, especially ones on
prototyping without Photoshop.

------
steventruong
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.

~~~
wladimir
But what about the high-level stuff? When is a design "good", what colors
should you use, etc. Such information is very hard to find on Google.

Learning programs such as Photoshop and Inkscape, IMO, is the easy part. There
are so many tutorials about how to do specific effects. But not about when to
apply which design principle and such.

~~~
steventruong
In my honest opinion, you won't find any such useful information. I've seen
horribly design sites convert extremely well and visually appealing sites
convert extremely well. Design principles can be broken down into so many
broad tangents beyond visual looks that it gets ridiculous. While there are
some books that touch on various stuff, in my honest opinion, the best way to
learn UX is to really just try various stuff until you understand the basic
underlying principles that meet your specific site needs.

------
DevX101
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.

