I got an octopus of a custom control library out of it, for better or worse, lovingly handmade, not very architecturally clear and that was a thick layer of gold plating on an internal software product used by a handful of people for a medium-large size company that really had no interest or awareness in what our team was building.
So I guess I fall into that category of people who waste time on their first job making bad software but leave as better programmers.
One of the best things about learning from people is that they can share their experiences with you—and this is especially true when it comes to learning design skills. If you ask them questions (like "What do you look for when designing?"), they'll have plenty of advice for you.
It also helps if you can find people who are willing to mentor/teach you in your learning process as well—someone who has been doing this for awhile and has learned everything they know on their own will probably be better equipped than someone who just learned it all through school or an online course.
I hope this helps!
Material Design is a great skeleton. It has UX and accessibility built in. For example, buttons are big enough to click, text colors push the limit of what's accessible. Navigation is generally intuitive, and writing guides are sensible.
But it's also ugly. And flawed. A lot of people are dismissive of Material because of this, but why throw out the whole batch? Fix the colors, fix transparency, fix the ALL CAPS buttons.
Most good, unique app designs probably some 80% similarity with Material. For example, buttons might be roughly 36 dp in height to be clickable. Why not 48 or 14, like in some games or hybrids? It's a sensible baseline, and a lot of thought and research have gone into it.