I feel the shortest path to get a job in Germany as a foreigner is having two to three years of career in a high demand high supply tech stack then moving to Germany. Getting a job in a foreign country is always a risk, and you might end up wasting time due to many reasons.
I've seen some people trying to get a job with no career in tech, entering Germany with a high risk. It is still possible to find a job but I feel this is too much high of a risk to take and the chances are not high, because usually the biggest obstacle of getting a tech job is not having a career or a tech background to begin with, so you never know how long it'll take to get a job.
If you have no plans to study, I recommend you to try to get a tech job in your own country and work for two to three years, and then moving to Germany. I feel this is the lower risk while you can still can get some working experience without having the risk of getting kicked out of the country.
If you're studying or have a plan to study, getting a student job is a great stepstone to get a full time job. I don't have any statistics, but I hear from many people confirming this as a fact, that indeed a working student experience or an intership has became a stepstone for them, either being hired directly in the company they've worked in; or they used the experience as a career to step on and get a full time job. I myself was converted to a full time after a voulentary intership as well.
Here are some different types of student jobs.
- Mandatory internships (Praktikum)
- Voulentary interships (Praktikum)
- Working student (Werkstudent)
- Auxiliary scientist (Hiwi)
- .. and maybe more as TA in universities .. etc.
All usually requires using "Working Hours", if you're under a student VISA you're given certain hours over the year that you can work for. (Citation needed) Please check the exact hours that you can work for, but I think it's 26 weeks if you're working half (20 hours).
Mandatory internships are usually not paid, but (Citation needed) I heard that the legislation has recently changed that the companies need to pay the students. Anyways it was usually easier to get this kind of jobs as it costed nothing for the companies except for the resources going into educating the interns, and as this is considered as part of your study it's easier as you don't have to take extra time for it.
Voulentary internships are paid internships, usually for a 6 months of period and full time.
Working student is unlimeted, part time work, and I've seen some people who works as a working student for years and becoming very proficient at software engineering, as well as finacially supporting themselves during their study. It isn't an insane amount of money that you can earn, but still much better than nothing.
Auxiliary scientist aka Hiwi is a student job you usually do at unversity's research institutes supporting the research. Due to this reason I see Masters students doing Hiwi jobs more frequently. I feel Hiwi jobs are nice, but maybe if you want to work in the industry the knowledge might not be immediately transferrable unless you want to get a job in research institutes. I feel working student in industry might be better in terms of getting a job in the industry.
To find student jobs, use platform like below, or see the below section for other platforms. There are also university internal web-portals of which you can find job posting specifically targeting those students from your university.
Here are the common platforms to look for tech jobs, and in my experience, if you're looking for an English speaking job, you'll most likely finding them on linkedin.
I've tried honeypot, which is similar to talent.io, is a platform where active head-hunters will try to match companies with candidates. The people here speak English so it shouldn't be a problem. I hadn't a great expreince with them maybe because I have a skillset which is neither with high demand nor with high supply, so I felt they didn't really understood my past experience and I hadn't feel like my resume was respected. But I think if you'd work in web development (full stack, frontend, backend) it might work out for you.
Xing is a German jobs oriented platform, if you want to look for Germany speaking tech jobs, this is the place to go. Stepstone is similar in that sense, but it contains both German and English jobs.
Big companies sometimes do not offer jobs in these platforms, so you might want to go in their individual career site to apply for jobs.
But in my experience, many of the English jobs are reposted in many different platforms, so using a single platform - for me linkedin - most of the time made sense.
Here are some websites that you can look for salary information
But I think the easiest way is to google for "'company name' + 'title' + 'germany' + 'Salary'" (e.g. "SAP Senior Software Engineer Germany Salary")
There's no one-fits-all approach for applying for jobs. If you're an experienced software engineer and have some expreinces of applying for companies, I guess you'd already know how to find your way though the process. So I'm going to talk about some specific things that you might not be aware of.
You can read the which city to live page for more information about which cities that you want to live in, but if you already know or have moved to the city, change your linkedin profile to the city that you're living in. You'll get more messages from the recruiters and head hunters looking for candidates for their positions.
When you're applying to companies, you might get less matches with companies if you're living outside of the country. I heard this several times, and also heard people recommending to be present in Germany if you want to apply for jobs here. If I would be on the companies' shoes, I think they think it as a risk to bring somebody from outside of the country as they don't know yet how well they fit culturally to the country and they might just leave soon if they feel unfit. Supporting relocation might also be a thing that they feel as a disadvantage compared to people already living in Germany. But still if you can get a job already before moving in Germany, I think that's the best because there should be no risk.
One thing that you can do outside of job searching is building a good relationship with a head hunter. You'll see the recruiting companies on linkedin, they often have a name of "search" on their name of the company and many are based in UK. You will be able to notice that they're hiring for a variety of different positions, as the nature of these companies. Anyways, applying for these kinds of positions in linkedin, you'll get an email or a call requests if they find you fit to the position, and trying to actively engaging with them might help getting you a job quicker because their job is to get you a job and get commission from the companies that hired you. You can also use honeypot are talentio in that sense.
For writing a resume or doing interviews I think isn't much different from outside of Germany maybe I feel this way because I don't know well enough of other countries, so just in case I'm wrong, here's the the types of interviews that I had in Germany.
- Knowledge verification technical interview
- Algo/DS style problem solving pair programming interview
- Walkthrough of my career style tech interview
- Presentation interviews
- Programming assignments and an explanation session
- Leetcode-style platform Algo/DS assignments
- Verification of understanding in programming languages style interview
- Behaviorual interview
Usuaully the whole process will be in a scale of couple of weeks to months. You might also hear a couple weeks after your interview, when the HR people is on vacation or is during public holiday season. So please be patient, but if you feel it has been more than two weeks already and you're really in a hurry, writing a polite email to the recruiter might not be that harmful.
Do your research in the early stage on what kind of jobs or tech stacks are popular in Germany. You can do this by simply searching for keywords for jobs in linkedin for a cetain amount of period. For instance, to talk about frontend frameworks, (Citation needed) there's a tendancy that German companies prefer Angular over other frameworks because many of the websites are for b2b. In some countries I heard, that for backend frameworks Java spring is dominating, and so on. So it is important that you might see that what you conceive as being popular might not be true in Germany and prepare for the popular tech stacks for your migration.
Most German jobs has a probation period (Probezeit), of which either parties can cancel the working contract with a very short notice period within that duration. After you go beyond that period for the company it gets very difficult to fire you, but of course you can quit easily with some notice period. The probation usually lasts for 6 months for permanent jobs (unbefristet), and is usually 3 months for 6 months internship.
So people usually pay more attention to not be fired during this period, but it's also not that common to be fired as (usually) they take special care to hire the right person to begin with.