For the rest of this, I will be talking to my past self as though I asked the question near the beginning of my career.
You cannot suddenly know how to be a good dev. I believe the only way to make progress is to learn something small and iterate. Just pick tools/frameworks/languages that seem interesting. Understand that you will not be sticking with them forever, so use them with a light touch. (Try not to invest too much time into learning the ins and outs of frameworks.)
Decide on an app that you want to make (if not already being paid to make an app), preferably something that you will use personally. Start with nothing and add one small thing (typically Hello World), then keep adding little things to it. You will constantly run into things you do not know how to do. Research and experiment to get it working. As you keep adding things to your app, a couple of things will happen. You will have a vague feeling that there are problems with your implementation, but you are not quite sure what they are or how to fix them. You will see various suggestions and examples online, but you will not understand why specific tactics are used.
It's okay. Accept that these things are normal and you will resolve them eventually. File them away in your mind for later, but don't worry about them. I also encourage you to use tactics/designs/patterns that make sense to you, not just because somebody famous said so. When you use a tactic because somebody said so, you will probably apply it wrongly and be worse off than not using it. Eventually, realizations will come on how to solve those nagging feelings. Eventually, understanding will come on how specific tactics work and their nuances. The eureka moments will probably happen when you are doing the most mundane tasks, like getting ready in the morning or mowing the lawn. So don't try to spend every waking hour learning about dev, because the downtime from it helps you progress as a developer too. :)
Having a mentor accelerates your learning, so try to find one. But going it alone is also a viable path -- there will just be more time spend with trial and error.
I'm speaking here primarily of languages/frameworks/methodologies. Don't try to lead others into places that you yourself only just found. Wait a while until you've had a chance to discover the hazards. By then, it might not be a place you want to stay yourself, and you may wish that you never suggested others to go there. Realize that though you find joy in it initially, there may be a huge chasm ahead that you cannot yet see. Everything has trade-offs.
Thanks! I currently have a website that I'm building for a colleague, and I have some ideas of things I'd like to construct as well. I'm sure that what I work on will lead me down rabbit-holes that will open up new opportunities in the future.
And the advice on finding a mentor is definitely good. I don't have an "official" mentor, but I have found a community of more experienced devs I can talk to, and am finding that it really helps to talk with people face-to-face!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.