I know this question might sound stupid but I'm a programmer and I want to learn graphic design. Well, from what I see you have to learn stuff like color theory, composition, spacing, etc. I get that but how do I get problem and just solve it. I say this because as a programmer when I get a problem I'm able to come up with a solution in my head, whereas in graphic design I have to constantly try things to get something palatable.

Other than that I'm pretty decent at drawing so I haven't really faced any problem there.

  • I voted to close this as too broad. The length and variance of answers within this first hour of it being posted is good evidence that it is so in my opinion (at the very least it should be protected quickly so we don't have lots of newcomers posting) Commented Feb 9, 2016 at 18:34
  • 4
    @ZachSaucier we are not going to preemptively limit who can contribute to the website through the Protected Question mechanism. If low quality answers become a problem, then we can protect the question.
    – Ryan
    Commented Feb 9, 2016 at 18:44
  • Please, don't close this thread I find the different view points really useful.
    – Unknownguy
    Commented Feb 9, 2016 at 22:27
  • As a fellow programmer with a hobbyist interest in graphic design, here's my perspective: you can't solve either problem in your head. To solve anything more than a trivial programming exercise, you have to start writing code, and to solve a graphic design problem you have to do mock-ups. Both processes involve iteration and exploration. You may just be more experienced in programming, and find it a bit easier.
    – gardenhead
    Commented Feb 9, 2016 at 22:48
  • You answered your own question: learn stuff like color theory, composition, etc. Designing is not just about being able to draw, unless you work as an illustrator.
    – Luciano
    Commented Feb 10, 2016 at 9:44

7 Answers 7


The secret is: Your brain lies. If you were to draw what your brain says it would be wrong in so many ways that it would hurt. Your brain can get an awful idea thats missing 90% of everything cool and it could still seem perfect. You can't draw it because its not real, its just an illusion that stops you from second guessing yourself. If there would be no such mechanism in you brain you couldn't get anything done.

The real secret is that even the best of artists keep making many revisions, thumbnails sketches and so on. They do most often not get it right on one go. Unless they are copying what they allready see in real life in front of them. The work refines what you have.

In this process your brain does get better and you will eventually recognize what is truly there and what is not. But by then it will never be the same again. You still need to do revisions since you can not keep it in your brain in one go.

  • Upvoted because I agree mental constructs can be very far from finished artwork. Also because I favour a progressive workflow as the one you describe. Good to note, though, not everybody task solving style (or creative workflow) is the same. In my experience some people find progressive refinement workflows exhausting and they get in the way of their creation process. How they arrive to the final artwork I can't tell because my style, as I said, is iterative.
    – cockypup
    Commented Feb 9, 2016 at 20:02
  • 1
    @cockypup well yes that is how i write code, all finished in one go. But that does not mean there is no iteration. Its just hard to tell there is iteration. You have to understand that i have worked as a research assistant to try to measure this. And its my firm belief that iteration happens even if you do it once or not the brain is just not readily equipped to dump out all knowlege in one go. I sometimes also draw this way but the iteration allready happened months before in my doodles. Even so with no iteration results are a bit second rate.
    – joojaa
    Commented Feb 9, 2016 at 20:17
  • I tend to agree with the idea of iteration not always being a contiguous search pattern. I have learned, through iteration, how not to cut myself while cooking. This is not to say that I cut myself all at once. As far as "creativity" goes, some people subscribe to a right-side/left-side of brain thing. While I am on the fence as to the value of such descriptions, I have observed that the worst result is always the one that "embodies my original vision." Not sure what this says about my vision...
    – Yorik
    Commented Feb 9, 2016 at 22:25
  • Thank you. I will keep in mind what you said and not let the mind get too much in the way.
    – Unknownguy
    Commented Feb 9, 2016 at 22:41
  • I would also like to point out that if there exsits a noniteratice way. We do not know how to teach it, or repeat it. We only know the iterative way... practice practice practice.
    – joojaa
    Commented Feb 10, 2016 at 7:09


Creativity isn't a set-in-stone skill that you can read up on and learn to the letter. To a certain extent some people have it and some don't. That being said it is something you can become better at.

Immerse yourself in the field you want to learn and in design in general. Find and follow designers you like, read design blogs and books, pay attention to the design of everything around you and read up on the history of design.

Practical skills

As you said, learning about things like color theory, composition and typography is all very important. Learning to use the correct tools is also important. For example, Adobe Illustrator for vector graphics, Photoshop for photo manipulation and InDesign for layout. The specific tools or software you use doesn't matter, there are a lot of alternatives to Adobe products, what is important is using the correct tools for what you are doing and learning to use them proficiently enough so that you can concentrate on designing and not trying to figure out how to do X with Y piece of software.


Learning the skills and theory needed to implement your ideas is obviously important, but getting to a point where you know what to do just takes - like anything else - practice.

When you started programming I'm sure you were in a similar situation. You try one thing, get it wrong, try something else, get it wrong, then you try something else and get it right. The more you do something the more you will understand what works. Especially with anything creative, there's no shortcut to learning what works and what doesn't.

In short, learn the skills and theory, immerse yourself in design and practice. The rest will follow.

  • I would go a step further re: practice. The OP probably is expert enough that he/she no longer is conscious of the other problems being solved when working on the solution.
    – Yorik
    Commented Feb 9, 2016 at 17:35
  • Thanks for your input. I'm not sure about being a an expert but i do agree with you that when i do come to a solution, sometimes, i'm quite naive into what I've solved.
    – Unknownguy
    Commented Feb 9, 2016 at 22:37

I think with design, you never just come up with the perfect design in your head. What I find is that I get an OK concept in my head, I then draw sketches until I've honed my idea and it becomes a good design. I use this to essentially shake the tree and see if any other thoughts pop out. Then I like to do as many of the following as possible:

  • Leave the design until the next day and take a look at it (self review)
  • Get another designer to take a look at it and ask for honest feedback (peer review)
  • Show the client and ask for feedback (client review)
  • Get possible users / the intended audience to take a look and if applicable use it (user testing)

Now if it solves the visual problem, it's a better design. But given time (and in some cases money), I can further hone the design, but lets face it, in the real world, time is a luxury.

So, in conclusion, you can get a design in your head and as an experienced designer, but it's very rare that you will find the best possible solution to your problem with out the help of others.

  • Thank you for the response! I get what you're saying but the "OK concept" in the head is what i want. I mean i get that I'm gonna have to refine it but it's just getting to that point that's a problem for me.
    – Unknownguy
    Commented Feb 9, 2016 at 17:23
  • @Unknownguy try sketching lots of ideas first, no matter how silly you think they are. It's practice, look at it like learning your times table, you didn't know what 7x7 was until you repeated it as a child for weeks at a time, now it's in grained in your brain. Commented Feb 9, 2016 at 17:29
  • @Unknownguy The more you do something the quicker it will come. If you are concentrating on the same type of design all the time, it will come quick for that task. I think 6 months to a year (maybe a bit quicker if you are already artistic like you said with drawing, maybe a bit longer) and you'll have some good ideas forming in your head, but you never really stop learning and I can't say enough how important peer review is in refine what works and what does not. Commented Feb 9, 2016 at 17:29

You need a visual library

What is a "visual library" and how to work on it?

Practice like others have said and looking at a lot of design, art, the world really is how you get there.

Composition, Spacing and Color Theory are all parts of this visual library that needs to eventually exist at least in part in your head. All of us have some references, art, inspiration that we keep handy - but that's only to supplement that vast number of images that a designer already knows in their head.

Learning the tools WILL NOT get you there. Take a good book that you like and know really well. Close your eyes and visualize a character or a scene. Look - you just solved a design problem without any photoshop, illustrator, gimp, pen, pencil or anything else. Now you know what it should look like --- now you use the required tools to build it.

To put it into more of a metaphor let's say you're going to build a wall. Well you know what walls look like so you have a visual library of some options. Now you think okay I want this wall to be this high and because its for this purpose I'll need this material. Let's say you visualize a nice stone mason wall. Only once you're at that point do you think, okay so I'm going to need to learn to dig a trench, and lay mortar, and understand the foundation, and the vertical joints. And to do these things I'm going to need to learn this tool, and that tool.

But see, you didn't need to know any of those tools or techniques to visualize a wall. You visualized that all from your experience with the world.

  • Thanks for the response! I guess your right having an assortment of stuff couldn't hurt.
    – Unknownguy
    Commented Feb 9, 2016 at 22:35
  • 1
    @Unknownguy you cant design what you dont know. A library of conceps is like iteration before you begin. Combining what you know how to execute its a itaration on your memory. This is why skilled artists have you fooled into thinking they copy from brain. They just copy and adapt exsiting patterns just like you often use same code constructs. Ryan upvoted.
    – joojaa
    Commented Feb 10, 2016 at 9:20

I sort of take issue with your assertion that you just come up with a complete solution to a problem. As someone who has been doing intermediate programming since the 70s, and being familiar with the iterative release-and-patch cycles for even the seemingly most simple tasks, I think that you may have oversimplified a little!

First and foremost, any program is going to solve several problems. The hardest problem is always reducing user freedom to the point that you can predict their inputs. Design is very similar to this.

The algorithms you develop are not the only possible solution to that particular problem and, in most cases, there are a very many possible routes to take: programming is an expressive medium with many dialects and languages, and programmers have styles.

If you peruse the math stackexchange(s) you will find people who post a mathematical solution that exactly captures the problem and expresses it in a way that people instantly grock because it comports well with their personal experience, and then they reduce it to the more standard simplified form that is in the crib sheets and is taught. This is a good example of variable presentations of a solution to a problem and how the simplest, most elegant is not always the first form.

So, how do you start?

Yes, some knowledge of color theory is helpful, but you don't need to know very much of it. In fact it has very little value outside of defending your ideas from a hostile audience (read: critique). The most important thing to know is: how will these colors work in black and white (kind of zen)? Am I dooming my client over 80% CMYK flood rate on all their jobs? Will they be able to afford the printing if I call for a foil stamped emboss/deboss with UV and 100% CMYK flood on plastic stock?

Technical knowledge of type is important, but you do not need to be a font creator to make use of them. The most important thing to be aware of is space. For type, this is leading (line spacing) and tracking/kerning (inter-word and inter-letter spacing respectively).

To be sure, to be the number one designer in the world, you probably need to have a deep knowledge, but to be above average? You need a basic cursory knowledge of the form and a desire to do better.

The best designs typically have no more than 2 of anything, communicate exactly and only what needs to be communicated, and do not crowd the space. Most of what good design is comes from the basic idea that space is luxury, and density is desperation.

Two font faces, two colors (white paper? pick black and one more), two halves. Two. You want more? Justify it to yourself, but make you do it.

After that, the only question you need to ask yourself is "am I embarrassed to submit this?" If yes, iterate.

The best place to start with learning design on the side is to go find some "designer's design books" or magazines about top-end design. By doing it, you can learn the technical aspects without need for a problem to solve. Then you get out a ruler and notebook, take notes, and then reproduce everything in it that you can. Then you will know space and composition and restraint.

  • Thanks for the response. Can you define what you consider to be an average designer?
    – Unknownguy
    Commented Feb 9, 2016 at 22:40
  • "better at it than my father"? I meant better than the average person. If you want to be an above average designer, then just add more material to the reading list. The trick is to start somewhere with a basis and then you can better integrate new information. I usually tool around with a new OS for a little while, and then read the manual. If you can replicate 5 ads from a designer showcase, you will have acquired a lot of technical ability. Just bear in mind that with art, there is a grammar, but it is not rigid, and the result does not need to execute.
    – Yorik
    Commented Feb 9, 2016 at 22:47
  • As a programmer as well I have to say I agree with you sometimes. If I'm working on a brand new feature or trying to solve a new problem then I spend a lot of time in my head. In fact I might go on walks and just think. Once it comes down to debugging and things like that, sure I do all that live, and a lot less is in my head. I find myself agreeing with OP that imagining code vs design things in your head is very different. I do really appreciate the technical points of design you touched on.
    – Hanna
    Commented Feb 10, 2016 at 15:01
  • Sorry but had to downvote, I almost entirely disagree with this as an answer to the question. This puts entirely too much weight on technical things that have nothing to do with visualizing a design.
    – Ryan
    Commented Feb 10, 2016 at 15:08
  • I feel like I am in a critique right now! If you read more carefully what I wrote you will see that my answer is: develop a visual library. I suspect you think that me stating plainly that the exigencies of the client's bottom line is somehow overtly technical (it isn't), when I am clearly pointing out that color wheels are pointless.
    – Yorik
    Commented Feb 10, 2016 at 15:17

Graphic design, like any other skill, is a mix of theory (the why) and practice (the how) but it is also an iterative process as one tries to identify an optimal design solution to a problem. You identify the constraints of the problem (the graphic must fit x pixels by y pixels and have two colors that work well against background) and from there start to put together possible solutions utilizing design theory and design practice. You iterate on these ideas until you find an appropriate solution. As your knowledge of design theory and your actual practice increases, you can more readily identify possible solutions to design problems, allowing you to more quickly identify optimal design approaches. This is similar to how one might re-use code from one project in another project but obviously tweaked to suit the second project's needs.

For further reading on design and creativity I suggest the following books: How Designers Think and Art and Fear


This is an incomplete answer but it is too long for a comment. I just wanted to be annoying and pick on the word "palatable".

I also was first a programmer. Graphic design is my second career. I remember that when I had no training as a designer whatsoever I thought of design more like art. I, as a programmer, solved problems. When my solution was ugly there was a design team that was able to make it pretty.

There is an element of art in design, of course, and in particular of "fine arts" because it uses common grounds with arts such as colour theory, composition, etc. But graphic design is as much as a problem solving discipline as programming is. The final task is most of the time to communicate a message effectively, not to embellish it. What you might be seeing as an "unpalatable" message might be a message that will not make it to its destination (e.g. an interface that will confuse the user, a poster that will get ignored or a text that will become unreadable). In that sense the task was not solved even if the programming (or print making, or bookbinding) is done exquisitely because the final objective was to communicate with a human audience.

You could think as graphic design (from a programmer's point of view) as the discipline that concerns itself with creating interfaces with human beings.

I found that making that mindset change helped me a lot to develop more objective workflows. I started to focus on the why and the how. The design tasks depended less on "inspiration" and more on sets of rules, laws and scripts that helped to build a better "interface" based on a set of specs.

You will find that sometimes you even build something that you would call "unpalatable" in the sense that its aesthetics might not be your personal cup of tea but that it was, nevertheless, a valid solution for the problem you were asked to solve.

As an example, take a look at Google's "Material Design" guidelines. Notice how must of the explanations are about "why this makes the message more clear to the user" than "why this makes the interface more aesthetically pleasing". Notice how the recognizable aesthetics of this style are the consecuence (as opossed to being the cause) of solving a problem on human perception and usability. https://www.google.com/design/spec/resources/color-palettes.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.