This is a question that a lot of people have written a lot about. There is really no one way that I could recommend to anyone, because people are different and their goals are different, not to mention that some languages also require different approaches than others. Here’s what I consider most important for anyone learning any language:
- Goals. Spend some time thinking about what you want to do with the language. Write it down and frame it (for motivation). Then, look for materials that allow you to reach that goal with few detours. For example, if you only care about being able to read a language, a course teaching you conversation is not the most efficient use of your time. Ditto if you just want to converse and come upon a course that places too much value on grammatical forms and uncommon words.
- Determination. Learning a language will be a lengthy process – and don’t believe ads saying otherwise. If you’re not determined to master a language, don’t even try. If it’s hard to find the discipline to study every day, making a public commitment will help, or try signing up for a competition, for example the 6 Week Challenge I invented.
- Fun. Considering that this is a long process, the only thing that really matters in the end is the amount of time you spent on it. Of course spending 10 minutes reviewing vocabulary will teach you more than 10 minutes watching anime, but if you’re able to spend many fun hours watching anime in your target language, then do it! Every minute you’re exposed to the language counts, so find fun things you can do in your target language. Just as in a video game, more and more fun activities will become available to you as you level up.
That it, in short. I may expand on it later. Also consider reading my post on the Controversy of Learning Fast and Slow.