I’d recommend working on projects which force you to learn as you go along.
You can also read a bit of theory on both but don’t get trapped in the “being informed == learning” fallacy. Reading about bycicles is different from balancing on one and learning to do tricks on it.
Any theory you inform yourself about you need to combine with experience points or it’s not very useful.
UX theory:
The Design of Everyday Things and Don’t Make Me Think are good books on UX.
You can find a lot of articles on medium but know that many of are written by inexperienced designers and writers and can be quite convoluted and confusing. Much of the web writing is polluted by lists, tips and instructions which provide a false sense of learning. Memorizing a list does not give you experience.
Smashing Magazine has curated sections on both UX and UI.
UI wise I liked the Microinteractions book, the designing forms book from alistapart, and the web typography book by Jason Santa Maria.
Also this: http://webtypography.net/
And this: https://practicaltypography.com/
are good resources on typography.
Lastly, take a look at Kathy Sierra’s work, including her website and book. Both are very inspiring.
But don’t forget to go through a project where you make the ui and UX decisions and ideally get a chance to refine them in the presence of use data. The experience points are the multiplier to the theory.
1. Typography
2. Whitespace
3. Color selection
4. Image use and presentation
5. Animation / iconography
With those 5 you'll get the 80/20 of what's needed to make a great design. From there you can dive into the specifics of user experience, information architecture, and a whole host of other facets to make things both aesthetically pleasing and intuitive.
If you want a crash course in those 5 topics, I actually put together a free book with examples on how to apply those things to the web: http://anonconsulting.com/ui-crash-course/
Let me know what you think and if you have any further questions don't hesitate to reach out.
What helped me was to look at designs that I thought were decent and just duplicate them. You actually learn a lot this way and it's much easier than trying to come up with original designs; also much more practical than reading a bunch of theory (which I've also tried).