All of these "coders must learn design" articles ignore the fact that most programmers are not web developers and that sizable chinks of the industry simply never touch frontend code at all.
For a lot of developers there is little career incentive to develop design skills.
This isn't one of those. It's a "designers should learn to code" article. Which is interesting since I generally find that there are more developers interested in design, than designers interested in code.
That's a great point that I hadn't considered. However, backend code does affect user experience, and having an understanding of design goals will help vet features and decisions.
Coder trying to be a designer here. I've spent a lot of time reading books and experimenting, but what I am really missing are beginner tutorials on how to make the popular elements I see on websites in photoshop (or even principles of creating the different elements).
Maybe I am not looking in the right places, but I would love to be able to find an exploration of gradients (for example) in Photoshop and/or css and how different configurations create different visuals. When I open up Photoshop and try it myself, I feel overwhelmed by the seemingly infinite color and position choices I have in front of me - and every attempt comes out looking horrible.
I think learning design can seem really difficult after a cursory glance at the design community.
Sorry to mention this, but it's the best way I know to help. I wrote an ebook about design specifically for coders and technical founders. It actually covers several of the issues you mentioned, like creating a gradient in Photoshop and how to use and pick colors. You can see a sample at http://bootstrappingdesign.com/pdf/sample.pdf
It's interesting that in my observations of designers and developers - it's the designers who have more catching up to do... See http://news.ycombinator.com/item?id=3949467 for some of my ramblings on this earlier today.
For a lot of developers there is little career incentive to develop design skills.