Assuming you wrote the above Ask HN question, your English is probably better than you realize. Seems like you may have more than one goal, as moving to another country is a different matter than just wanting to learn a language. If you really want to improve your English, the key as you already know is immersion and practice. Read everything - the news, novels, reference materials - whatever interests you try to read it in your target learning language. There are lots of online learning groups out there, paid and free, to practice speaking. Finally, when you talk about fluency - I've come to the conclusion that fluency is a flexible concept. I meet native English speakers every day that I would call barely capable in their own language. If you are being understood and can basically function in society in a language, then you are de facto fluent whether you feel like it or otherwise. Maybe you'll want to pick some areas of study and do vocabulary deep dive to help you feel more comfortable?