I studied German for my first degree, before becoming a programmer years ago, and also worked in Germany for several years. If you're interested in learning German for fun, go for it, and good luck with it.
But you need to be realistic about how much you can learn without actually being in Germany (or Austria or Switzerland). As with any language, you only really learn to understand and use it properly if you're surrounded by people speaking the language most of the time and if you make a real effort to use it yourself. One of the best things I ever did when I was learning German was to go on a 3-week residential course in Graz
in Austria, where you had several hours of intensive language classes every day and were surrounded by people speaking German most of the time. Plus it was great fun to see what life is like in Austria.
Other good places to start learning German include the Goethe Institute, which is the official organisation that promotes German language and culture around the world. They also provide language classes
and certificates that are recognised in Germany. There may be a Goethe Institute near you.
Working in Germany: If you are not an EU citizen, you may find it hard to get work in Germany, as most EU countries are under pressure to tighten up visa regulations for non-EU citizens because there are thousands of unemployed European IT workers these days (I'm one of them
). Also, your IT qualifications may not be recognised, or you may have to provide extra documentation to support/explain your qualifications (the Germans can be very
bureaucratic!). Your nearest German consulate/embassy can advise you on this stuff.
Many international companies in Germany use a lot of English and some projects/teams may be English-speaking, but it will be much better if you can claim (honestly) to be able to speak/understand German at a reasonable level. This will allow you to participate in informal conversations with German-speaking colleagues/customers, read documentation, and integrate more easily into the organisation. But smaller companies and even many larger organisations will expect you to speak/understand German in the workplace. After all, why should they all have to switch to English just because you don't know the local language?
Outside work, you will almost certainly need to speak some German e.g. to find a place to live, deal with the authorities/banks/utilities etc, especially in smaller cities where fewer ordinary people speak fluent English. Most cities have a Goethe Institute or other adult education classes (often called the Volkshochschule), though, so you can continue your language studies after you arrive. You should
also be aware that many Germans speak regional dialects, and these dialects can often be very different from the standard German (Hochdeutsch) that you learn in classes. People may try to speak Hochdeutsch to you if they know you're a foreigner, but you may have trouble understanding conversations when they're all talking to each other. This can be a real shock to foreign visitors!
Finally, it can still be difficult for non-Europeans to find work/accommodation in Germany, especially in smaller cities//towns, where people may be more conservative and where there is still a certain amount of racism. Most big cities e.g. Munich, Berlin, Frankfurt, are far more cosmopolitan, although some problems still occur.
Anyway, I hope this does not discourage you from learning German, as it's a fascinating language and well worth learning for its own sake.
Viel Spass und alles Gute!