Starting a tutorial
Starting in a tutorial isn't a bad idea. But you should just pick one to work through.
I'd recommend trying to find a recent tutorial and one that has some projects in it. Some programming languages can change a lot in a few years, so finding something recent can be very helpful.
You may need a second tutorial if you are dividing into a specific area of a language.
If you finish the tutorial or you've gotten bored of the tutorial and feel comfortable enough to proceed. It's now time to take on a project.
I know this has been said a lot, but my approach to the project is you start with an MVP. A minimum viable product. This can be just a certain part of the project.
In my python example in the video, I talk about how my first mvp was simply scraping the data I needed from a web page. I then worked on adding it to a sqlite database. That led me to noticing I was only getting part of the data.
Each step in this process, I would look over my code and refactor it. I would rip one part out, make major changes to another. The goal here was to keep writing code and keep solving problems.
What I learned
Ultimately my project taught me a lot about how to get past the beginner level in Python. To me, the key point of going in and working on refactoring code. Working towards an MVP really helped me see the problems with my code and really helped me start thinking more about object oriented programming.
I plan to use this approach for a project I plan to work on in Lua and will likely have an article or two or video about that at some point.