All you really need to learn German is
A positive attitude!
A little free time every day (even just 20 minutes)!
To accept the language for what it is and use it anyway!
A handful of opportunities to speak (Expats have no excuses here)!
A good reason for learning the language