A software engineer is one of the most perspective professions nowadays and with startups like Google and Facebook, seems like everyone wants to become an IT expert. But how easy or how hard is it actually to get a job as a software engineer in a country like Germany?
In fact, plenty of great German companies are trying to figure out how to find a good software developer. Not all of them succeed. This guide will provide you all the necessary information you will need to get hired in Europe’s center of technology – Germany.
Estimate Your Chances
Estimating your chances in Germany is important when applying for a job as a foreigner. With all our equal rights we aren’t all same when pretending on the job, unfortunately.
Especially the nationality and location of the applicant plays the significant role in the hiring process. The reason for this is that employers in Germany choose candidates depending on where they live and come from over their qualifications and experience.
For a company, it is easier to hire someone from the EU who can start working next week, rather than wait for a non-EU expert to make a visa, so she/he can come to Germany.
Assuming all candidates have equal qualification and experience most companies in Germany will hire as follows:
- German citizens
- EU citizens / Permanent Residents who speak German
- EU citizens / Permanent Residents who speak basic to no German
- Non-EU citizens who speak German
- Non-EU citizens who do not speak German
Consequently, if you are from a non-EU country and don’t speak German you need to put quite a lot of effort to get a job even as a demanded software engineer in Germany. Be proactive!
Current Situation in Germany
In 2019, Germany was missing 124,000 IT specialists including software engineers, the demand has increased by 50% from the last year. To find a suitable person takes 6 months on average, some companies don’t receive an application for their job positions altogether!
This is a big complication for German employers, many projects have to be postponed or won’t be started at all.
Another problem of employers is that some German developers expect a high salary despite the lack of skills or incapability to get a job done. Some practically don’t possess some important for IT specialist skills and knowledge.
Every third company with at least one job offer is looking for an IT expert. This shows the serious changes that are taking place in the German economy due to digitalization.
Software is becoming more and more part of the core business. This means that the software development process is now in companies across all industries and it is becoming massively more and more important. Software engineers, data scientists, and IT project managers are frequently searched for.
Furthermore, German schools aren’t managing to train enough computer science students, the numbers are only slightly increasing with the years, disproportionally with the demand. In 2018 it was around 27,000 universities and vocational school graduates with the IT majors.
Your skillset plays one of the most important roles when estimating your chances to get a job in Germany. Often an employer hires a non-EU candidate because of his/her skills over anything else. This is your selling proposition.
As a rule for software engineer hard skills over soft skills. Usually, software engineers possess several skills and knowledge such as programming languages, software design, information systems, databases, and software architecture.
Typical hard skills a software engineer or software developer should have to work in Germany are:
- software development
- system design and architecture
- algorithms and data structures
- understanding product development
- consulting of software solutions
- English skills and ideally German
Not all of them are a must but one should master at least one programming language.
Some other abilities and soft skills will improve your chances including:
- verbal communication, to work as part of a team
- written communication, to write reports and express ideas clearly
- research, using different sources of information
- time-management, to manage competing demands and projects
- project management
- information technology across different applications
- attention to detail
- logic and an ability to follow processes and procedures
Additionally, you could undertake further studies, such as a Masters degree in software engineering (full or part-time) or in another IT-related field. Usually, a Bachelor’s degree it’s enough to enter a German company, but the better your qualifications, the higher chances.
In-depth knowledge of programming languages is essential to be able to work as a software engineer in Germany.
Another factor that is important for your job application is professional experience. Doesn’t matter how good your education and how many certificates you have, if you never tried it on practice.
Luckily, most of the software engineers too curious and often implement their knowledge already during the studies whatever it is an internship or part-time job. In general, depending on the company’s field, German employers can require between 2 and 5 years of professional experience.
The experience should be closely relevant to the field that you’re applying for. Employers might also ask applicants for some of the code samples so they can see if the candidate fulfills their criteria.
Software engineers with a business background can even make it to the managing director. In general, every professional experience that you have gives you better chances for a better position and salary.
CV and Cover Letter
These are the milestones of your application and you should not underestimate their importance! in fact, a cover letter can be more important than your CV for the company!
Germany has different rules for both of these documents and you should follow the guidelines and don’t send your American structured application.
A cover letter is a formal letter. It is not a repetition of your resume, it should consist of arguments why you should be hired for that particular job and not the other candidate. As well as why you choosed this company. Check the job ad for special requirements, duties, and responsibilities and refer to your own experiences and skills.
A cover letter in Germany is never longer than one page. There are shouldn’t be any spelling mistakes and wrong grammar.
You might already know enough about CV: include information about you, your education, skills, and experience. You should adapt your CV and Covering Letter for every company individually, add the high-quality picture for a better impression.
Ideally have both documents translated or conducted in German, but if you aren’t capable and don’t have funds to hire someone, English is fine too.
Job Options for Software Engineers
Also read: Salary of a Software engineer in Germany.
With a degree in software engineering, you have a wide variety of jobs to undertake. In Germany, a software engineer can be hired in many industries for different positions, but they all have some of the underlying skills of the professions which we will discuss later.
Most teams in companies are composed of several specializations of engineers. Here are the most common types of software engineering roles:
- Back-end engineers spend much of their time writing services, algorithms and architecting the core bits and pieces of a system and the way it works.
- Front-end engineers make the services that the back-end engineers are writing accessible to the end-user through a UI. It’s not uncommon for front-end engineers to have some experience with UI design or partner often with a designer at the company.
- Operations engineers are responsible for ensuring the infrastructure that supports a product or service is reliable and stays up and running. Another primary responsibility is ensuring a system’s scalability.
- QA or test engineers are responsible for building systems that test the code that the other engineers are writing to ensure it’s stable and reliable.
- Full-stack engineers do everything (back-end, front-end, operations, testing). These are less common as entry-level roles unless they work at a small startup.
However, if you are an experienced software engineer, you possibly will have a full-stack role in a German company. If your potential employer is an IT company, the team will include experts for every single role, so your job will be more specialized too.
Possible job titles for software engineers related to their degree:
- Applications developer
- Database administrator
- Game developer
- Multimedia programmer
- Web developer
- Web designer
- Software engineer
- Software tester
Jobs where your degree would be useful include:
- Application analyst
- IT consultant
- IT technical support officer
- IT sales professional
- Sound designer
- Systems analyst
Types of Employers in Germany
As a software engineer, you have a wide variety of business to work for in Germany: every big or middle-sized company need an IT expert nowadays.
You could be employed by a company specializing in software engineering/development or other areas of IT which may be broad in scope or specific to an area, such as an app or website development. More and more business have their IT department as the most value-added areas of the business.
Or you can be employed by the company which doesn’t have anything to do with IT but need a such specialist anyway.
These are a few examples of the types of companies you could work for:
- information technology
- financial services
- insurance services
The best-paid industries to work as a software engineer in Germany:
- banks and insurances
- medical technology
- automotive industry
- pharmaceutical industry
- educational institutions
- metal and chemical industries
- petroleum processing industry
How to Apply for a Job in Germany?
The right application plays a significant when not the most important role in being hired by a German company. Your CV and cover letter must be optimized, you should know where to look for jobs and how to speak to the employers.
1. First, you should create a compelling professional profiles LinkedIn and German version of LinkedIn – Xing. These are two big social media platform which is used by professionals in Germany.
The employers often choose candidates on these platforms, you can also apply for available jobs there or engage with HR departments of companies of your interest directly.
Don’t forget that LinkedIn and Xing are networking sites, you should try to expand your list of contacts by adding the right people, engage with companies you want to work for, follow them, commend, post, etc.
2. LinkedIn is a must, as the second you should apply for job posting available on the biggest German job platforms such as Glassdoor, Stepstone, and Indeed. Another way it’s check websites of companies you want to work for in Germany, most of them post all their open positions in the Career or Karriere page.
3. Pick cities with the most job offers for software engineers such as Munich and Berlin. Send your application including (German way!) designed CV and covering letter to the job offers which interest you the most. When applying via email, the content of your email text is basically your short version of the cover letter. It must be official!
Attach the proper cover letter and other documents (CV, references/certificates) to your email, just referring to your documents in a short introduction.
4. Engage in conversation with companies who have responded, show your passion, motivation, and interest, attend Skype interviews if they have invited you.
The interview of software engineer can be a complex process in Germany, the manager will ask many related to the job questions. Consequently, your preparation must be excellent (read below).
Job Interview: Essentials
Never underestimate the importance of a job interview, you need to be prepared 100%. In Germany, they usually make several rounds by giving a candidate some coding exercise and different practical and theoretical questions related to the job.
Many companies practice technical round to test your knowledge (hard skills), followed by a cultural round on soft skills and general interview with maybe the CTO, CEO of the company, or department manager.
This can happen in a single day or span across several days depending on the availability of the interviewers. Sometimes there are more rounds and the hiring can take a while.
What you should know to be able to pass a job interview and hiring process in Germany?
Since you will almost in 100% of cases receive a coding exercise to complete you need to know how to code. When you are applying for a software developer job, this is something that is quite obvious.
You should be able to solve algorithmic problems in the language you are comfortable with, but most companies have their preferences for languages, so you should only apply for those you master.
Architecture Design/Data Modeling
The interviewers also will test your knowledge in these areas of software engineering, it will be a part of your job.
Architecture design and data modeling are very important for any developer to learn and understand. So they can decide which platform is best based on the company’s goals.
In most cases, candidates need to have several years of experience to apply for a job in Germany from abroad. Consequently, you should already have some completed projects behind you and be capable to talk in detail about them.
A typical question for this section will be asking you about a critical situation from your past projects and what you did to handle that.
Often the interview process for software engineers looks like this: after you have received a positive response on your application, the company will send out a take-at-home coding challenge and you get 2 days to finish.
If they like the results the manager will schedule an interview with you via skype if abroad or life if you are already in Germany. Do prepare thoroughly: read about the company, its history, goals, achievements, and the job position you applied for.
Common Job Interview Questions
Which questions should you expect in your first software engineering interview? That depends on the role you’ve applied for. Software engineering jobs tend to fall under two categories: domain-specific or general programming.
For a general programming or web development role, the process is fundamentally different. These interviews evaluate your problem-solving ability as well as your coding proficiency, so recruiters are likely to ask questions ranging from the technical to the behavioral.
Both of these interviews include a take-home test that requires you to debug or build something.
Some common questions you should expect and be ready for! on your software engineer interview for the German company:
- Describe the process you use for writing a piece of code, from requirements to delivery.
- What has your experience been like as part of an agile software development process, if any?
- What is responsive design? What is the difference between fixed and fluid layouts?
- What is your process to test and find bugs in an application?
- Tell me about a tough software development problem and how you solved it.
- What would you improve in this source code and why?
Additionally, candidates receive some technical questions where they need to use existing knowledge to find a solution, these include also some calculations.
Other skills, that your potential employer might ask for include knowledge of Java, C++, SAP, and PHP. They may also test how capable you are in dealing with developer tools such as UML as well as tools for test automation and programming, such as reports- and barcode generators.
If you have made programming a hobby, you will have additional good points: anyone who pursues work-relevant activities in their free time obviously enjoys their job.
To prepare yourself for possible interview questions not only for a job in Germany but for all countries you should check the book “cracking the coding interview”. It was recommended by former foreign applicants. As they say, this book helped a lot during their software engineering job interview in Germany.
Follow Examples of Others
There are thousands of IT specialists coming to Germany every year from EU and non-EU countries. You can network with them, ask about their experience, and learn from them.
Moreover, there are other countries in the world where software engineers find very attractive job offers, you can connect with people there. Just search in the Quora for questions and people who responded, check FB groups, and engage there or discover people on LinkedIn.
Nevertheless, the German government relies on immigration as a part of the solution for the shortage of IT professionals. They understand that it is not foreign experts depend on Germany but Germany depends on them.
Since 2012 employment of foreigners had been increased in IT and in STEM fields overall. This had begun thanks to the introduction of a new immigration program – EU Blue Card. Im March 2020 German government made some changes in immigration law, which make it even easier for non-EU nationals to come to work in Germany.
The regulations were made particularly easy for IT specialists: now they are allowed to enter the country and search for a job without a degree, but with several years of working experience in the IT industry.
The majority of software engineers and developers come from non-EU countries (59%) such as India, Russia, Turkey, Balkans respectively, and EU countries (41%). The future of Germany pretty much depends on foreign IT exerts, unless companies find the way to outsource these processes in other countries.
I see more and more people will come from non-EU countries to work in technology in Germany in the future. European countries don’t have enough potential for the exponentially growing German economy.