Самый лёгкий способ выучить язык -- когда рядом натив, как в детстве мама, постоянно исправляет твои ошибки. Я учусь сам по себе, читаю много на английском, слушаю плеер во время поездки на работу-с работы, -- спустя четыре года этого стало достаточно только для того, чтобы понимать, что мне говорят, и изъясниться на улицах англоязычной страны.
Но продвинутый уровень -- это однозначно в языковой среде, где никто (это важно!) вообще ни слова не понимает по-русски. А ещё лучше, чтобы не хотели понимать.
So... if you want to be a professional, learn from professionals. As you can easily notice, I can bearly connect Present Simple with another Present Simple, but for me even after 14 years of English it's still a misteryous land everything related to all those hadbeens, wasings and other hard grammar buildings of English... And I think it's not only because I'm lazy.