Being in need is the best teacher you can have for almost everything. In my case, playing videogames only in English since I was a child helped a lot, because if I wanted to play them I needed to understand dialogues, descriptions, etc. Also, speaking with people who didn't speak Spanish was helpful. I used to participate in forums and webpages like Deviantart (aaah... the good times) and I found myself lacking the skills to comunicate as well as I do in my native language. So, once again, one hand on the computer and another one on the dictionary 😂
Having fun and being motivated is a must. If you take it as a game, then learning will be easier.