Title: (I'm a native Chinese. Being a spelling/grammar Nazi to me really helps me. Thanks.)<p>Hello HNers,<p>I'm a college student and a programmer. My dream is one day I will have my own kick-ass startup.<p>I know how to <i>write</i> clean code; but what I don't know is how to <i>draw</i> things with paper or CSS or Canvas or Photoshop or anything. I can implement Linux device drivers, purely functional data structures, lexers/parsers or socket servers; but I can't even design a simple logo or a good-looking webpage. Sometimes I do have ideas how the logo/webpage should looks, but I just don't have the ability to draw (implement?) them. To be clear, HTML or CSS is just another programming language for me, but I only know the syntax and grammar. I don't know how to do graphic design at all!<p>I want to learn graphic design, both for my current projects and for my future startup (same reason with the suggestion that "non-technical" person should learn to code). I want to have basic skill on how to use computer to draw icons, logos, buttons and webpages.<p>But I have no idea what to do and how to start. How can a programmer learn graphic design from the ground up? Should I learn drawing in pen and paper first? Or should I learn Photoshop? Or should I just learn how to draw by writing code in CSS/Canvas? What books/websites can you recommend? Is self-learning enough or a mentor/teacher is required?<p>I'll appreciate your advice, thanks!
Upvote: