Ask HN: I'm an engineer, how do I learn design?

89 points by od2m ↗ HN
Dear HN, I am a decent Rails/HTML/JS/iOS/Android/C# programmer. I want to be able to do a project from beginning to end (web+mobile), but I never have any idea what I need to make should look like. How can I learn design?

75 comments

[ 3.4 ms ] story [ 126 ms ] thread
Design! Show the result to potential users. Get criticised. Do more design.
I'm subscribed to http://hackdesign.org/. Haven't had the chance to follow the course itself yet, but it sounds interesting.
I can vouch for them. The lessons are easy and the material is indepth. It covers from typography all the way to UX design. They keep adding more lessons. Which reminds me I need to catch up.
(comment deleted)
Some of my favorite resources:

http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/032134...

http://www.edwardtufte.com/tufte/courses

Also make wireframes before you code, when something is complicated -- or when you're starting out, for virtually any UI. Use Omnigraffle Pro, and you can also use Graffletopia's website to find stencils, e.g. Bootstrap Stencils. Or use Easel.io.

Big upvote for Edward Tufte. If you style yourself as a hardcore engineer, start with his book Visual Display of Quantitative Information. I'm away from my copy, but as I recall, John Tukey reviewed the manuscript. (http://en.wikipedia.org/wiki/John_Tukey)
Tufte is extraordinarily dry for someone new to design. Great recommendation though but it would be like going to Saul Bass and asking him how to draw a "stick man."

I would start by using grid based layouts and study those who have used them. Start with wikipedia article on the

subject: http://en.wikipedia.org/wiki/Grid_(graphic_design)

I don't really think Tufte is appropriate for a design discussion. He's a mediocre charts and graphs guy (he's no Cleveland, Tukey, or Few; if you go to one of his talks he basically reads directly from his books and makes fun of PowerPoint.)

Design is more the arena of people like Dieter Rams. You can't design an application, a chair, or a home with sparklines.

How have I never heard of Easel.io?? I just did the demo. Blown away.
With all due respect for Tufte, his focus has always been on the presentation and visualization of the data. While this has an overlap with the design skills required for the end-to-end software design, the overlap is only partial and not even that big in many cases.

Also, the Dont Make Me Think book should've really been a two-pager pamphlet, it is really thin on a material. While the center idea is fundamental, it is very easy to explain and to understand.

If we are talking about 10000 ft perspective of the design and its fundamentals, I would raise you The Design of Everyday Things. This is a very good beginners book and it's also an interesting read for those who already know a thing or two.

http://www.amazon.com/Design-Everyday-Things-Donald-Norman/d...

Try to recreate the designs of your favorite sites. This way you'll practice your skills and get a lot of "I see what you did there" moments. Later on you will be able to implement those things in your own original designs
Designing in your head is one thing, but would you actually enjoy doing it?
Read Issacson's bio of Steve Jobs. There are a lot of good passages in it about conversations between Jobs and Jony Ive on how Apple products were designed.
Go to HackDesign.org and follow their lectures/

Also buy Design for Hackers.

I can second this. Ive been going over the hackdesign material for the past few months and Ive found it really useful
I tried this. Thing is, just reading about design does nothing for me. I can read about typography all day, but I still feel like a novice when I have to decide what font "looks good" (besides the obvious ones, that is).

I simple don't feel the urge to go open Photoshop/Gimp and toy with new designs - I won't know where to begin, and yet, I want to become better at design. :-/

I wish there were more practical, interactive lessons somewhere where I could see the reward for learning some new design-related skill.

Do it. Get feedback (or compare your own work vs. other nice works you find). Improve it. Rinse & Repeat.

I'm an engineer by training. Probably about 9 years ago, I started learning Flash, Illustrator, and Photoshop. Early projects were painful and very amateurish. I kept working at it, by making diagrams for my presentations, or designing UI mockups, etc.

Nowadays, my art & design is pretty good for an engineer. But what's better is that I've gained an appreciation for good UX design and good graphics. I can tell the difference between my "good-enough" designs and the really good stuff. And that will make you a better entrepreneur, because you can then hire people who are better than you.

My learning philosophy has always been to start by just doing. After a little time spent doing, when you stop and take a look at resources and discussion about whatever it is you are trying to learn, you are much more able to use the info.
This might be a different context than what you were asking but I try and have DigititalColor Meter open on my screen and when I come across a design or color scheme I like, I use DigitalColor Meter to help deconstruct how that design was set up. This helps break down button designs, gradients, shadows, and textures. Doing this over and over helps me understand what makes certain designs work at a pixel level.
Read up on Dieter Rams and Bauhaus for some foundational lessons on aesthetics and design. (Go to some museum exhibitions if you can in your area.) Look into Jeff Veen and his work on HotWired in the 90's.

Hoefler & Frere-Jones have some great blurbs on typography. IDEO and Frog Design have written good stuff. Tufte, as mentioned,is great for information architecture.

When it comes to actual design, I recommend starting with scrap paper and a fat marker. The bigger marker prevents one from getting too detail oriented -- particularly helpful when designing for mobile.

http://dribbble.com/

from an engineer to another, I remember reading an article about how a company doesn't use a designer for their site because enough tools already exist. Dribbble was their favorite

A large aspect of design that separates great professional designers from amateurs is very hard to teach. It can be described as training your eye and developing your taste. This simply comes from repetition and practise. Ira Glass articulates this well describing the creative process — http://www.youtube.com/watch?v=PbC4gqZGPSY

Another aspect of design is the mindset and mentality required when looking to solve a problem. Something I feel often gets overlooked in the software world, where culture is generally engineer focused. IDEO pitch this in as 'design thinking'. While I'm not so keen on the term they do a good job of communicating the importance of certain mental traits that designers possess that are key to the design process.

Sketch. Considering a user flow/feature or user story? Sketch out 50 ideas, explore and exhaust all possible scenarios, no matter how achievable, obvious or silly. Get it down on paper. I often think that getting the idea down on paper allows my mind to forget on it and move on to another potential solution. Try to not let your technical expertise constrain this exploration, that'll come later as you whittle your ideas down.

Personally, if I have the time I quite like to produce hi-fidelity sketches. It may seem frivolous when a quick sharpie sketch will do, but as I spend time sketching I find the thinking time valuable and often find myself with another piece of paper jotting down notes/ideas etc.

Learn to draw — I believe designers should sketch and draw. There are so many lessons to be learnt that translate to what we do when designing interfaces. It provides a foundation in understand proportion, lighting, white space, suspense etc. It's also an exercise in discipline and training your brain to accurately produce the image in your minds eye.

There's this course, not sure what it's like yet as I decided to learn javascript in depth first before I move on to design:

http://hackdesign.org/

Same way you learned engineering. Go read about design, design stuff, and get feedback. Try and replicate sleek website designs. CSS takes a long time to master.

The most essential design education book ever written is " Notes on Graphic Design and Visual Communication" by Gregg Berryman. You cannot design without reading this. It's very short, 45 pages, and the only handwritten book you'll probably ever read. http://www.amazon.com/Crisp-Graphic-Design-Visual-Communicat...

Yep. Beyond that, realize that some parts of design like dealing with visual hierarchy ( http://hackdesign.org/lesson/19/ ) can come very easily to engineers. Other parts like color theory or font design might feel less natural. Find a hook that you enjoy playing with and grow from that.
Design is getting increasingly competitive. As people learn about the theoretical foundations of visual design (e.g. golden ratio, usability, etc), the more they will be impatient with amateur attempts at design.

I have been a designer for over 10 years and not to toot my own horn, but it is a practise. You have to do it constantly to get good enough to the point that your design solution IS a solution, and not just a makeshift.

I got loads out of the first couple of lessons here: http://www.trydesignlab.com/

It's like Codecademy but for design.

Seems like you need an invite for designlab.
Designlab co-founder here. We're starting to roll out invites to our private beta and quickly bulk up our lesson content. Our goal is to be the definitive place for hackers to learn design and design thinking skills. Sign up! We'll shoot you an invite as soon as we can.
As with most things: practice. A great way to learn is to find free resources on dribbble, open the PSDs and analyze all of the techniques used on each layer and how they fit together.