To be a good programmer, you have to consciously and reflexively know how to solve a problem...
This is true, but only a truism by the hour. A bad programmer can write a good program--just not on a deadline or in an area than isn't personally compelling enough to put in the effort required. A bad writer can write a good story. An awful artist can make a beautiful painting.
I cannot remember pictures, nor can I construct good art.
Maybe can't today, but you definitely could. Anyone with a creative, problem solving mind can be a visual artist. I think this is an important point.
The reason most adults can't draw/paint is related to why they can't program. The mistakes are too painful for an adult. A child can make horrible drawing after horrible drawing for hours for days for months and not mind b/c no one says to a kid, "That's really ugly. What is that? A cat or a cat turd?" An adult draws the same picture and even if no one else says, "That sucks," his/her own internal editor will say it. The trick to learning something new and especially something creative is to keep the editor out until the skills are passed infancy.
This is a trick for this site (a bad drawing can't crash a server) and one that is usually handled well, I think. A beginner can usually get explicit and friendly help with the kind of question that would get a middle of the road hacker like myself a lot of RTFMs and onto the worst nodes page (as it should be).