This should be a blog post or even one of those mini pay-what-you-like eBooks sold on Gumroad. Let me try a quick and short starter for you.
It is easier to teach designs to developers than vice-versa. "Design" is not what most people think -- artistic. To me, design is more about knowing the key aspects of arranging objects based on symmetry, sequences, and patterns. Once you understand these nuances of spacing objects to form a cohesive and meaningful flow of information, tackle the idea of how typography works. If you grasp these two essential items well, then others will keep flowing on their own, or you will be exploring automatically.
Now, since you can dabble in the front-end, play around and apply your understanding of "design" and experiment. Learn the basics and do not start from "frameworks" such as Bootstrap, which most impatient developers start with. It is indeed OK to be using the likes of Bootstrap but know that someone else wrote that, and you too can write one.
Once you are comfortable with the two worlds, it is then up to you to go deeper and specialize in being the Product UX Engineer or stay a generalist and work/lead other aspiring designers and developers.
I have a friend far better than me in both design and development. He is an engineer with an additional degree in design from one of India's prestigious design institute. When we discuss things, we tend to complete one another, and can dovetail fast enough while I never fail to be amazed by his insights every time we talk. Unlike me who have moved much further to the dark-side of the Business world, he remained a deep specialist in that beautiful realm.
1. https://brajeshwar.com/2011/desingineer-the-mythical-person-...