I am one of those fortunate people who speaks a foreign language well – English is my native language, but I also speak Russian fluently. People I meet often say, "How clever you must be to speak Russian". But I am almost embarrassed to say that learning Russian was not hard at all. So am I "gifted" at languages? I answer emphatically, "No, I'm not". I did French, German and Latin at school, and my second language at University was Czech. German and Czech are completely alien to me (except where the Czech and Russian overlap, which they do occasionally), and I can struggle through in basic French. I really had a hard time at languages at school, and did not take to Czech at all later on. I will freely admit that my Russian was helped by extensive time in country, although I have also lived in Czech Republic and visited France frequently.
I strongly believe that there is no such thing as "being good at languages". The vast majority of people acquire their first language fairly easily from parents and siblings, and later on at school, and although there are some factors around the written language that cause some problems, the spoken language is learned at an instinctive level – in my view this shows that we have the ability to learn language. Whether we learn a new language as a child, or later on in life as an adult, my belief that there are two overriding factors that influence our success: methodology and motivation.
The single most important factor is your desire to learn. Learning purely for academic purposes is hard, because you cannot necessarily see the end result. If however you have an end goal (a successful business negotiation or you cannot shop locally for example) you have a good reason that can inspire you. It is not a surprise that unaccompanied expats often find it much easier to acquire a good standard of the local language – chatting someone up is much easier if you can understand each other, and those who are romantically attached to a native speaker can have an advantage, although, in my experience, the first language you speak to someone tends to be the one you continue in – so if you start speaking English on the first date, you will almost certainly continue speaking English.
However motivation is not enough – I have a really important meeting with a Japanese client in three months, huge bonuses await, I've got a Japanese girlfriend, but the language is going nowhere. The second most important element is the way you learn, and there are several parts of that:
You have to make time (not TAKE time, but MAKE time) to devote to study. Language learning requires full concentration, constant repetition and practice, and it is an active skill that you can lose if you don't keep using it. Drip-feed tuition (i.e one or two hour lessons a couple of times a week) is one way to learn, but it is hugely inefficient – you spend a lot of time at the beginning of each lesson revisiting the previous lesson, and unless you are very disciplined in keeping up with the practice between lessons, progress is slow and can be demotivating. Much better, although much harder to fit in to most people's schedules is an intensive course – one-to-one tuition or at most a group of two learners to one tutor is the best way to learn a language, when you have a specific short term goal and can form a great basis for doing a drip-feed course later on. You spend each day practising the skills you have learned at the same time as moving on to the next. There is very little knowledge loss, because you are immersed in the language, and have no other distractions
It goes without saying that you need a good teacher with whom you can develop a close rapport. But the style of learning has to suit you as well. A lot of research has been done into learning styles, and language learning is a very personal form of learning that takes you out of your comfort zone, it is essential to take your learning style into account when deciding how you will be taught.
As mentioned earlier, you need to practice a new language, as much as any new skill. Using a language socially will have much greater benefit that continuing lessons, because you utilise the language you need for communication. In my view teaching of Latin is doomed because one of the first phrases you learn is "Davus servus est" (Davus is a slave). I will never ever ever need that phrase, even if I study old texts. In communicating socially you are talking about thing s you want to talk about and are interested in, but more importantly the focus is on communication not necessarily on grammatical accuracy, and after all that is what language is all about!