The mental leap in coding HTML and CSS is to learn the particular tags necessary to define the structure, hierarchy, and aesthetics. My belief is that learning them is a short step if a designer already understands typographic hierarchy, knows nesting relationships from producing outlines, and grasps separating aesthetics from structure by way of Styles in other software.
Over the years I have refused to allow myself to use a default WordPress theme or to hire an outside designer or developer to work on my site. If there is a certain look, design element, or functionality that I want but which I don’t know how to implement, then I will search out and learn how to do so.
Sure, some people have absolutely no desire to do design work or to learn to code because it’s simply not in the cards them. But for those of you who do think you could learn to code, I think the most important pre-requisite is curiosity.
Actually, that pretty much goes for any venture in life. You can do whatever you set your mind to.