https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133...
Proximity, alignment, repitition, and contrast are four basic principles that get you pretty far.
https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133...
"The Non-Designer's Design Book" by Robin Williams.
https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133...
It's short and to the point, so it won't take long to read, yet it covers all the basics of design to just the right level for the average developer.
"Design for Hackers" by David Kadavy is also quite popular, but IMO it just takes longer to say the same things.
Amazon links for the lazy:
https://www.amazon.co.uk/Non-Designers-Design-Book-Robin-Wil...
https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133...
Edit: Since several of the latest comments seem to be saying similar things about programmers not "getting" design, I think one thing that may come as a bit of a revelation is that design starts with a hierarchy of information and there are certain rules for how that information should be presented. There is an artistic aspect to compelling design, but when it comes to things like wireframes and UX modelling, your average programmer probably has more design skills than they realise.
I guess in the end, there is no real linear path to learning design. You just sort of have to bumble along until you find your stride.
It’s short and to the point with practical lessons about things like layout, contrast, etc.
https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133...