Software developers are in high demand pretty much anywhere in the world. And as a software developer, you probably know this. You also know that some places are better than others and Germany is one of the great ones.
One out of every ten jobs in Germany is aimed at software developers and, according to data from the Federal Employment Agency, it takes an average of 167 days to find a suitable candidate for these vacancies. So, whether you’re more experienced in Java or C/C++, there will be tons of companies looking for someone with your skillset.
The German job market for software developers isn’t just abundant. It also comes with some nice perks like a decent work-life balance, reasonable working hours, and above-average holidays.
In terms of salary, your average software developer working in Germany will earn about €50,000 per year, but it varies depending on the area of expertise, experience, and education. Also, different companies offer different bonus plans and other benefits.
Judging by the average salary, the best industries for IT professionals are consumer goods – where you can expect an annual income of €71,400, banking with €71,000, the automotive industry with €69,400, pharmaceuticals with €67,900, finance services also with €67,900 and the metal industry with €67,500.
Your income level will also vary according to what city you work in. Berlin is a hotspot for startups, so if you want to really make an impact and build a codebase for an up-and-coming company while expanding your skillset, that’s the place for you. In Munich, you’ll find some of the largest German corporations like Allianz and BMW as well as international corporations like Google, Microsoft, and IBM. Stuttgart also offers excellent career opportunities since it’s home to Porsche and Daimler.
In 2001, Google set up its German headquarters in Hamburg, and the city became a tech hub. It was followed by Facebook in 2010 and Airbnb in 2011.
What Are the Most Popular Programming Languages in Germany?
Java is the most popular programming language in Germany, especially in Munich, where you’ll find more large and medium-sized companies. At the time of writing this article, there are more than 1500 jobs for Java developers in Munich. A third of the companies looking for developers list Java as a requirement.
As we mentioned earlier, Berlin is more popular for startups, so many of the jobs you’ll find here require Ruby.
Do You Need to Speak German?
The short answer is no, but it helps. Most international companies will use English as their main language. Even if you land a position at a German-speaking company, the IT department will be proficient in English. However, when all skills are equal, being able to speak German will give you a competitive advantage.
Plus, you’ll also need to speak German when you have to deal with paperwork. You’ll be dealing with A LOT of paperwork if you move to Germany. German skills will also come in handy when looking for an apartment and just in everyday life.
We know that German has a reputation for being a difficult language to learn, but it’s actually a lot easier than you’d think as long as you remain practical and don’t obsess over grammar rules and grammar mistakes. It’s more important to understand it and be able to make yourself understood.
Start by setting aside some time every day and practice your comprehension skills. For example, you can watch some of your favorite shows on Netflix with a German voice-over since they’ll be using Hochdeutsch, and it will be easier to understand. You’ll get more options if you use a VPN to access the Netflix library in Germany. You can also listen to podcasts and watch the news in German.
Most software developer jobs in Germany will allow you to apply by adding your LinkedIn profile, but you’ll still find companies that require a more traditional CV. Note that CVs in Germany also include a headshot.
Cover letters are very important here and can make or break your chance to get a first interview. You’re probably already familiar with how cover letters work. They should be between half and three-quarters of a page and outline your skills, experience, and why you’re interested in that particular position and company.
If they liked your profile, CV, and cover letter, you’ll be contacted by email or telephone to arrange an initial interview. You’ll typically go through several rounds of interviews.
The initial interview will often be done via video call, and it will be with someone from the HR department and won’t include technical questions. It will take about 15 to 20 minutes when you have to answer a series of questions about your experience, skills, career aspirations, and so on so they can see if you’re a good fit for the company.
If all goes well, you go to the next round, which is a code challenge done remotely. It will usually have two parts. In the first part, you’ll be asked to solve medium to high difficulty algorithms in a limited time-frame. It could be anything between one hour and four hours.
The second part is not timed. You’ll be given a more complex code challenge that you have to solve in your own time. They’ll often ask you to submit the solution within a couple of days, but they expect you to be able to do it in a few hours, so don’t postpone it since it can look like you got stuck. Actually, even if they assume that you procrastinated, it still doesn’t put you in a good light.
Keep in mind that not all companies will give you both parts of the code challenge. Some will give you this second part we described and then ask you to do the timed part live while talking to them. Either way, expect another video call where you explain your solution.
If you pass this stage of the interview process, you move on to the onsite interview. If you apply from abroad, you might be able to skip this stage, or the company might offer to take responsibility for the travel expenses.
The final round is the manager round, where you’ll be interviewed by the people who have the final say in whether or not you get hired, such as the CTO or head of engineering. This is when you’ll get the chance to negotiate the terms of your contract and salary.