Graphic design in particular, is a speciality in which the process of learning pays off greatly. I mean you go from utter crap, to able to alter common designs to your purpose pretty quickly, after about only 80-120 hours of actual education on the topic.
The skills involved in graphic design are:
Drawing
Conceptualization of Space
Conceptualization of Color
Functional Organization
Effective Information Visualization
Execution in tools
And I honestly don't think most of those overlap with programmers base skill sets you have to pickup to do code.It honestly sounds like you're suffering in the "Execution in tools" section. That's actually the easiest one to "get" in my opinion. Almost any programmer who can follow directions, and has a drawing program can do a bunch of the tutorials (we're talking 40-120 hours of doing tutorials) and practice making different things using those tutorials. You'll then make things "close enough" to fake it for awhile.
Notice this isn't like 20 minutes. It's a real effort. But it's not years before you start seeing real improvements and serviceable work.