This might be really a typical question for a non-native English speaker he who want to step to a higher level of both speaking and writting. And I'm actually such a one. I'm actually a freelancer working online. But I'm not a native speaker at all. I believe that the best way for learning English is using it in a real world, communicating with a real native English speaker.
Actualy my freelancing experiences did helped me a lot to improve my English. But while discussing with my clients about the work, they normally won't point out my mistakes of English. I think I can clearly express what I want to say mostly. But I have no sense if what I wrote or said is good from the perspective of a native speaker.
This is the major reason I'm here on italki, looking for more native English speakers as friends.