Despite English being the lingua franca of software engineering, there are still good reasons to learn to talk in foreign languages if you are doing international business. Locals will often communicate in their mother tongue and not all languages use so many English technical terms like German. France’s académie française makes sure that there are technical terms in French and the sheer amount of Chinese speakers and their language structure calls for chinese words.
So, if you are going abroad and want to learn a language, memorizing the vocabulary is one of the most important parts. But instead of writing vocab lists on sheets of paper or on cards, there is a very nice software that supports you in learning: It is called “Anki” and it is available for PC, Android, iPhone and others.
It is a software supporting a spaced repetition system (SRS), which essentially means that you’ll see those entries that you are not good at more often than those which you know well. And you can sync all your cards between PC, Android, iPhone comfortably. A large number of word lists are available for several languages and you can easily define your own deck of cards, e.g. with software terminology or sentence patterns.
And you are not limited to using Anki for learning languages. You can use it for all kinds of studying: physics formulas, law, business, etc.
Anki has become one of my favourite tools.