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...
As someone who started off as a non-designer programmer, I taught myself UI/UX just by practising a lot. The two ways (that in hindsight were the most invaluable) I improved were to:
• Read highly-praised books on design fundamentals... These two literally changed the way I make / look at everything that is graphic design related: 1. The Non-Designers Design Book [1]; 2. Know Your Onions [2]. The third I can recommend is all about making websites / UX and covers everything you need to think about when you're working on a web project: 3. Don't Make Me Think (Revisited) [3]. All three are very well-reviewed and have changed people's lives.
• Copy everything you like the look of. What are your favourite web apps / pages / interfaces? What makes them tick? Try and copy sections that you like to give you a feel for how things should be laid-out. Most crucially, use a vector graphics program (I cannot recommend Affinity Designer enough, not least because it is insanely cheap for what it is), and copy as many icons / vector images as you can. Learn the fundamentals of bezier curves and how almost every piece of graphic artwork is made up of different combinations / layerings of shapes... Forget about fancy effects (e.g. shadows, gradients) at first, and just copy the shapes themselves. This was my biggest revelation and improved my UI ability to that of a professional standard. Once you realise that a fancy padlock icon [4] is just a rounded rectangle with a circle and triangle in it merged together, you'll start being able to recreate neat icons really easily.
If you don't enjoy doing any of the above, then hire a professional designer :) There really are no other 'ways of dealing with it' than doing it yourself or using a service. But trust me, it is well within reach to get yourself to a decent level in just a few months.
[1] - https://www.amazon.co.uk/Non-Designers-Design-Book-Robin-Wil... [2] - https://www.amazon.co.uk/Know-Your-Onions-Creative-Businessm... [3] - https://www.amazon.co.uk/Dont-Make-Think-Revisited-Usability... [4] - https://cfl.dropboxstatic.com/static/images/business/homepag...
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...