Not fluent yet but seeing excellent progress in my three years of strict self study. I think the most important things I learned are:
- Make a habit of the language. If you can't move to another country to immerse yourself, the least you can do is expose yourself to it everyday. Obviously the more time you can devote, the fast you will progress, but you must devote time. Every. Single. Day. Whether it's a little bit of reading, a conversation with a native speaker, watching a show. Just make sure to reflect on what you learned. Do not be passive. Learning by osmosis is not good enough.
- Do not be afraid to make mistakes. I have been learning for three years and only in the past few months have I jumped this hurdle. In the past, I rarely spoke to anyone in my language, for fear of messing up. I noticed my progress wasn't plateauing and knew something had to change. Now I just try to speak freely. If it's wrong or unnatural sounding, someone lets me know and now I have learned something. It's true that when you make mistakes, you learn more.
These things may seem obvious or simple, but I think you kind of have to take a child's approach - just have fun, don't think to0 hard, and be open minded.