For the past 6 months I've been learning Russian and am still struggling to break through. While I'm making progress, it's very slow going and I'm looking for a better way short of moving there (maybe in a few years).
Every piece of advice I've received has fallen into 1 of 2 categories - the traditional (grammar heavy lectures, canned dialogues, workbook exercises, flashcard drills...) or the pragmatic (talking with native speakers, local language groups, learning only the vocabulary for common situations, watching subtitled movies). I've tried different cocktails of all these. I do learn from the traditional methods, but only if I repeat them 10 times. And while the practical methods are more authentic, I end up drowning in the uncharted waters of the language instead of absorbing it.
Is learning a language just miles of crawling through the shit, or is there a way to make non-linear progress? I'm willing to try anything.
2. Do not evaluate yourself based on what you can produce (say) but rather on what you can understand. Listening in particular is the royal road to language learning. Also, if you can understand slow normal speech you will have personal proof of progress which will reduce self-doubt. Remember communication is not possible without understanding.
3. Make sure that you have mastered all the phonemes in the target language. By doing this first you can avoid many problems later.