I started by cloning designs in CSS that I liked. Same way I write programs just to learn. Pick a design and try to reproduce it. (Here's a good simple one that could probably be finished in a single sitting. ) Eventually I was able to clone an entire website while only referencing the internet for CSS details, not core concepts. It'll take time just like learning any language, but the theory behind CSS does make sense if you can peel back the layers of features built on top of it. (Like Git, the core model is beautiful - the CLI not so much.) Reading about the "cascade" part of "cascading style sheets" would be a good place to start if you get the basic syntax already. Then study the selector operators. All of them, there aren't that many.
Then read books on design. Info about CSS the language is readily available online. Info about design, not as much. Design for Hackers  is targeted at programmers and explains not just the what but also the why certain designs work. The way our brains interpret color and how that causes certain colors to work well together. How people process information and how to leverage that to make designs that "make sense." Visual Grammar  is a design reference book I refer to. It's like a SQL reference book - won't teach you the language (of design) but explains the options you have and when they could be useful. Things like "these types of alignments will produce this type of result."
Just remember that it takes time to learn a skill. And design is definitely that - a skill that can be learned.
Add to that frameworks such as Bootstrap CSS and opinionated website builders such as Weebly and I finally overcame a major limitation in my skillset. I could now actually build what I wanted to build, knowing that it looks decent and I can focus on what is under the hood.
If the web all looks the same, it is probably because it is built by people like me who need a rigid framework to work within.
I found https://www.amazon.com/Design-Hackers-Reverse-Engineering-Be... to be a good basic overview of a lot of elements.
There are 2 types of ideas where this is true:
* I can make a lot of money using your software that it would be near impossible to make otherwise.
* I can save a lot of money using your software that it would be near impossible to save otherwise.
Any other idea is just a bias guess that needs to be market tested, were UI/UX may or may not be of any importance.
If you are really sold on the Importance Of UI (tm). Read this book: Design for Hackers (https://www.amazon.com/Design-Hackers-Reverse-Engineering-Be...). It will not make you a designer, but it will make your UIs not fugly.
And finally, please consider on coding the software thinking it has no UI, or that the current UI is only one of many ways to use your software. It will help you to structure it so you can fix the UI later when it is actually profitable.
Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) - http://amzn.to/2e5Erfc
Design for Hackers: Reverse Engineering Beauty - http://amzn.to/2euMOUc
UX Design and Usability Mentor Book : With Best Practice Business Analysis and User Interface Design Tips and Techniques - http://amzn.to/2dXYZJT
Meanwhile https://www.designernews.co is Hackernews for designers
Machine Learning for Hackers
Design for Hackers
Bayesian Methods for Hackers
I'm not the author, but you can find Bayesian Methods for Hackers (free, released by the author) at the link below. I think it's a great resource for anyone wanting to explore Bayesian methods using Python.
Also, the other day I came across this pretty exhaustive blog post
The author also produced a free 12 week email course: http://designforhackers.com/
I'm mostly interesting in typography and color and this is a great read that covers all that and more.
- It's cliche, but read "The Design of Everyday Things" by Donald Norman . It gives you a good sense of design's place in the greater world. The best design principles are as at home in a product development firm as they are in the software world.
- I own "Design for Hackers" by David Kadavy and I think it's pretty good. The content may or may not be "obvious" depending on your skill level, but he phrases things in a way that is understandable and reassuring to the engineering set. 
- There's a guy on HN (Jarrod Drysdale) who produced an eBook called "Bootstrapping Design". I haven't pulled the trigger on a purchase yet, but I need to. I've read his sample chapter and am subscribed to his newsletter and I think he's an excellent coach. 
- I keep a bookmark folder called "design inspiration" and when I find really cool sites or apps I save them here. You might also want to keep a clipping diary or something where you can keep notes for yourself about what you like and don't like about certain things.
- There's nothing wrong with imitation, within reason. EVERYONE stands on the shoulders of giants and the guy who designed that awesome site or app probably started by shamelessly copying existing stuff. In fact, I recommend that you spend some time trying to EXACTLY copy things you like. You'll start to get a feel for how to accomplish certain affects and, in general, you'll get design a little more "in the fingers".
- Have a project. Have a project. HAVE A PROJECT. It's very difficult to just "learn design", just as it's very difficult to just "learn programming". Unless you're just a natural autodidact, you can read all the tutorials and books and whatever but, when it comes time to do something on your own, you'll just be sitting there staring at a blinking cursor (or an empty Photoshop document) unless you have some place to start.
I hope this all helps, and don't be afraid to share stuff on HN with us. There are plenty of folks who would love to give you positive criticism and feedback.
It was made just for people like us!
 - http://www.amazon.com/dp/1119998956
I went to one his book tour events and it was quite insightful!
Get dozens of book recommendations delivered straight to your inbox every Thursday.