Salary Negotiation Scripts for German Tech Jobs

Word-for-word scripts and email templates for negotiating your tech salary in Germany. Covers counter-offers, lowballs, and benefits pivots.

You know you should negotiate your salary. Every career article tells you so. The problem is not awareness. The problem is that HR says “What are your salary expectations?” and your mind goes blank. You mumble something about being “flexible” or blurt out the first number that comes to mind. Three seconds of hesitation, and you have anchored yourself 5,000 euros below where you should be.

Our salary negotiation guide covers the strategy: when to negotiate, where to find market data, what benefits to target. This article is the companion piece. It gives you the exact words to say and write at every stage of the process, in both English and German. Bookmark it. Open it on your phone before the call. Copy the email templates into your drafts folder.

These scripts are designed for the German tech market specifically. The phrasing respects German business culture, which values directness and preparation over aggressive posturing. If you walk into a negotiation with US-style hardball tactics, you will alienate most German hiring managers. If you walk in with the scripts below, you will come across as professional, informed, and worth every euro you are asking for.

When HR Asks “What Are Your Salary Expectations?”🔗

This question comes early, usually in the first phone screening. It feels like a trap because it is one. Whoever names a number first typically sets the anchor, and if you anchor too low, you spend the rest of the process trying to climb back up.

You have two options: deflect the question to learn their range first, or give a well-researched range on your own terms.

The Deflect-and-Learn Script🔗

This works best when you genuinely do not know enough about the role yet. The goal is to get them to name the range first.

English:

“I’d like to understand the full scope of the role and team before we discuss compensation specifics. Could you share the salary band you’ve allocated for this position? That way, we can see early on whether we’re in the same ballpark.”

German:

„Ich würde gerne den vollen Umfang der Rolle und des Teams verstehen, bevor wir über konkrete Vergütung sprechen. Könnten Sie die Gehaltsspanne teilen, die Sie für diese Position eingeplant haben? Dann können wir früh sehen, ob wir in einem ähnlichen Bereich liegen.”

Most German companies will share a range. If they push back with “We’d really like to hear your expectations first,” do not repeat the deflection. Move to the anchored range script instead. Deflecting twice reads as evasive.

The Anchored Range Script🔗

When you need to name a number, name a range. Make the bottom of your range the number you would actually accept. The top should sit 10-15% above that.

English:

“Based on my research using the StepStone Gehaltsreport and comparable roles on levels.fyi, senior developers in [city] with my experience in [specific technology or domain] earn between [X] and [Y]. Given the scope of this role, I’d target the upper end of that range.”

German:

„Basierend auf meiner Recherche mit dem StepStone Gehaltsreport und vergleichbaren Rollen auf levels.fyi verdienen Senior-Entwickler in [Stadt] mit meiner Erfahrung in [spezifische Technologie oder Domäne] zwischen [X] und [Y]. Angesichts des Umfangs dieser Rolle würde ich das obere Ende dieser Spanne anstreben.”

The key is the data citation. German HR professionals respect homework. When you reference specific reports, you signal that your number is grounded in market reality, not wishful thinking. Even if they cannot match your range, the conversation starts from a position of mutual respect.

Note: always discuss Bruttojahresgehalt (gross annual salary). Never mention net figures. If you are unsure how gross and net relate in Germany, our salary negotiation guide explains the Brutto-vs.-Netto dynamic in detail.

Scripts for Countering a Written Offer🔗

You have completed the interviews. The offer email arrives. The number is lower than your target. This is the moment where most developers lose money, not because they refuse to counter, but because they counter weakly or emotionally.

The Data-Backed Counter (Email Template)🔗

Use this when you have market data that supports a higher number. This is the strongest and most common counter-offer approach.

English email template:

Subject: Re: Offer for [Position Title]

Dear [Name],

Thank you for the offer. I’m genuinely excited about joining the team and contributing to [specific project or challenge discussed in interviews].

After reviewing the compensation, I’d like to discuss the base salary. Based on current market data for [role] in [city], specifically the StepStone Gehaltsreport and levels.fyi benchmarks, the range for professionals with my experience sits between [X] and [Y]. I was targeting [your target number], which reflects both the market rate and the value I’d bring through my background in [specific skill].

I’d love to find a number that works for both sides. Would you be open to discussing this?

Best regards, [Your name]

German email template:

Betreff: Re: Angebot für [Positionsbezeichnung]

Sehr geehrte/r [Name],

vielen Dank für das Angebot. Ich freue mich sehr darauf, dem Team beizutreten und zu [konkretes Projekt oder Herausforderung aus den Interviews] beizutragen.

Nach Durchsicht der Vergütung würde ich gerne das Grundgehalt besprechen. Basierend auf aktuellen Marktdaten für [Rolle] in [Stadt], insbesondere dem StepStone Gehaltsreport und levels.fyi-Benchmarks, liegt die Spanne für Fachkräfte mit meiner Erfahrung zwischen [X] und [Y]. Mein Ziel war [Ihre Zielzahl], was sowohl den Marktkurs als auch den Wert widerspiegelt, den ich durch meinen Hintergrund in [spezifischer Skill] einbringe.

Ich würde gerne eine Zahl finden, die für beide Seiten funktioniert. Wären Sie offen, das zu besprechen?

Mit freundlichen Grüßen, [Ihr Name]

The Competing Offer Counter🔗

If you hold a second offer, use it. But frame it as a preference for this company, not as a threat.

English:

“I want to be transparent: I’ve received an offer from [Company B] at [amount]. I’d prefer to join your team because [genuine reason, e.g., the technical challenges, the team culture, the product]. Can we find a number closer to [your target] that makes this decision straightforward?”

German:

„Ich möchte transparent sein: Ich habe ein Angebot von [Unternehmen B] über [Betrag] erhalten. Ich würde bevorzugt Ihrem Team beitreten, weil [echter Grund, z.B. die technischen Herausforderungen, die Teamkultur, das Produkt]. Können wir eine Zahl näher an [Ihr Ziel] finden, die diese Entscheidung einfach macht?”

Never bluff about a competing offer. German tech is a smaller world than you think. HR professionals talk to each other, and a fabricated offer can destroy your reputation.

The Value-Alignment Counter🔗

You have no competing offer and the market data is ambiguous. Anchor the counter to the value you demonstrated during the interview process itself.

English:

“In our system design discussion, we talked about [specific challenge the company faces]. My experience with [related technology or approach] puts me in a strong position to contribute here from day one. I believe [target number] reflects that alignment. Would there be room to adjust the offer?”

German:

„In unserem System-Design-Gespräch haben wir über [spezifische Herausforderung des Unternehmens] gesprochen. Meine Erfahrung mit [verwandte Technologie oder Ansatz] versetzt mich in eine starke Position, hier vom ersten Tag an beizutragen. Ich glaube, [Zielzahl] spiegelt diese Passung wider. Gäbe es Spielraum, das Angebot anzupassen?”

Scenario Weak Phrasing Strong Phrasing
General dissatisfaction "I was hoping for a bit more." "Market data for this role in [city] suggests a range of X–Y. Could we close the gap?"
Competing offer "Someone else is paying more." "I have an offer at Y. I'd prefer to join your team. Can we find a number that reflects that?"
Value-based "I think I'm worth more." "My experience with [X] directly addresses your [Y] challenge. I believe [number] reflects that fit."
Lowball response "That's really low..." "That's significantly below the market range I've researched. Can you walk me through how you arrived at that number?"

Phrasing adapted for German business culture. For live practice with these scripts, the Salary Jump and High-Pay Tech Strategy bundles include mock negotiation sessions with real-time feedback as part of the coaching.

Handling a Lowball Offer🔗

A lowball is not just a low number. It is an offer that sits meaningfully below the documented market range for your role, experience, and location. If StepStone and levels.fyi both point to 70,000-80,000 for your profile and the offer comes in at 58,000, that is a lowball. If the data says 70,000-80,000 and the offer is 68,000, that is just a negotiation starting point.

The distinction matters because your response should be different in each case.

How to Identify a Lowball🔗

Before reacting emotionally, run the number through your research. Cross-reference at least two salary data sources for your specific role, level, city, and company size. If the offer falls more than 15% below the median of your data, you are likely looking at a genuine lowball.

Possible explanations: the company has rigid salary bands and your level assignment is wrong, the role scope is smaller than you assumed, or the company simply pays below market. Each of these requires a different response.

The Recalibration Script🔗

This script works for genuine lowballs. The goal is to surface the gap without accusation, and to give HR a face-saving way to correct it.

English:

“Thank you for the offer. I’m excited about the role, and I want to make this work. When I compare the proposed salary to current market data for [role] in [city], there’s a meaningful gap. The StepStone report and levels.fyi both indicate a range of [X-Y] for this level. Could you help me understand how the team arrived at [offered amount]? I want to make sure we’re evaluating the role at the same level.”

German:

„Vielen Dank für das Angebot. Ich bin begeistert von der Rolle und möchte, dass das klappt. Wenn ich das vorgeschlagene Gehalt mit aktuellen Marktdaten für [Rolle] in [Stadt] vergleiche, gibt es eine deutliche Lücke. Der StepStone-Report und levels.fyi zeigen beide eine Spanne von [X-Y] für dieses Level. Könnten Sie mir helfen zu verstehen, wie das Team auf [angebotener Betrag] gekommen ist? Ich möchte sicherstellen, dass wir die Rolle auf dem gleichen Level bewerten.”

The phrase “evaluating the role at the same level” is deliberate. It reframes the problem from “you’re underpaying me” to “we might have a level mismatch.” This gives the company room to either adjust the salary or re-level the position without admitting they lowballed you.

If the company confirms the number is final and it remains well below market, that tells you something important about how they value the role. You can still take the job for other reasons (visa sponsorship, industry switch, first role in Germany), but go in with clear eyes.

Pivoting to Benefits When Salary Is Fixed🔗

Some companies genuinely cannot move on base salary. This happens most often in larger organizations with strict salary bands tied to specific levels or collective bargaining agreements (Tarifverträge). When the band is truly locked, the conversation shifts to everything around the salary.

The Benefits Pivot Script🔗

English:

“I understand the salary band is fixed for this level. I’d like to explore whether there’s flexibility on other aspects of the package. Specifically, I’m interested in: [pick 2-3 from the list below based on what matters to you]

  • Moving from 28 to 30 vacation days
  • A contractual home office arrangement of [X] days per week
  • An increased annual training budget
  • A signing bonus to bridge the gap from my current compensation”

German:

„Ich verstehe, dass die Gehaltsspanne für dieses Level festgelegt ist. Ich würde gerne prüfen, ob es Flexibilität bei anderen Aspekten des Pakets gibt. Konkret interessiere ich mich für: [wähle 2-3 aus der Liste basierend auf deinen Prioritäten]

  • Eine Erhöhung von 28 auf 30 Urlaubstage
  • Eine vertragliche Homeoffice-Regelung von [X] Tagen pro Woche
  • Ein erhöhtes jährliches Weiterbildungsbudget
  • Einen Signing Bonus, um die Lücke zu meiner aktuellen Vergütung zu überbrücken”

Pick your battles. Asking for everything on the list weakens each individual request. Lead with the two items that matter most to you, and frame each one with a brief reason.

Email Template: Benefits Negotiation Follow-Up🔗

If the salary discussion happened over the phone, always follow up in writing. This creates a record and gives HR something concrete to take to their manager.

English email template:

Subject: Re: Offer Discussion – Benefits Follow-Up

Dear [Name],

Following our conversation about the compensation package, I’d like to confirm the points we discussed regarding benefits:

  1. Vacation days: adjustment from 28 to 30 days per year
  2. Home office: [X] days per week, contractually agreed

Could you confirm whether these adjustments are feasible? I’d like to move forward as soon as we’ve aligned on these details.

Best regards, [Your name]

German email template:

Betreff: Re: Angebotsbesprechung – Benefits-Follow-up

Sehr geehrte/r [Name],

im Anschluss an unser Gespräch über das Vergütungspaket möchte ich die besprochenen Punkte bezüglich der Benefits bestätigen:

  1. Urlaubstage: Anpassung von 28 auf 30 Tage pro Jahr
  2. Homeoffice: [X] Tage pro Woche, vertraglich vereinbart

Könnten Sie bestätigen, ob diese Anpassungen machbar sind? Ich würde gerne fortfahren, sobald wir uns bei diesen Details einig sind.

Mit freundlichen Grüßen, [Ihr Name]

The Final Acceptance🔗

You have negotiated. You have a number and a benefits package you can live with. The last step is accepting in a way that protects everything you just agreed to.

Accepting with Grace (and Protecting Your Terms)🔗

English email template:

Subject: Re: Offer for [Position Title] – Acceptance

Dear [Name],

I’m happy to formally accept the offer for the [Position Title] role. Thank you for working with me on the compensation details.

To confirm, my understanding of the agreed terms is:

  • Base salary: [amount] gross per year
  • Vacation: [number] days per year
  • Start date: [date]
  • [Any other negotiated terms]

I look forward to receiving the final contract reflecting these points. Please let me know if you need anything from my side in the meantime.

Best regards, [Your name]

German email template:

Betreff: Re: Angebot für [Positionsbezeichnung] – Annahme

Sehr geehrte/r [Name],

ich freue mich, das Angebot für die Stelle als [Positionsbezeichnung] formal anzunehmen. Vielen Dank, dass Sie mit mir an den Vergütungsdetails gearbeitet haben.

Zur Bestätigung, mein Verständnis der vereinbarten Bedingungen:

  • Grundgehalt: [Betrag] brutto pro Jahr
  • Urlaub: [Anzahl] Tage pro Jahr
  • Startdatum: [Datum]
  • [Weitere verhandelte Bedingungen]

Ich freue mich, den finalen Vertrag mit diesen Punkten zu erhalten. Bitte lassen Sie mich wissen, falls Sie in der Zwischenzeit etwas von meiner Seite benötigen.

Mit freundlichen Grüßen, [Ihr Name]

What to Put in Writing Before You Sign🔗

Verbal promises made during the negotiation are worth nothing unless they appear in the Arbeitsvertrag (employment contract). Before you sign, check that every negotiated item is explicitly written down:

  • Base salary as Bruttojahresgehalt
  • Vacation days (the exact number, not “as per company policy”)
  • Home office arrangement (days per week, if negotiated)
  • Signing bonus (amount and payment date)
  • Probation period length and notice period
  • Training budget (if above the standard amount)

If something is missing, ask for it in writing before you sign. A simple “Could you add the agreed [X] to the contract?” is enough. No German company will take offense at this request. They expect it.

Practice the Script Before the Real Thing🔗

Reading these scripts is preparation. Using them under pressure is performance. The gap between the two is where thousands of euros get left on the table.

Why Reading Scripts Is Not the Same as Using Them🔗

You can memorize every template in this article and still freeze when the hiring manager pauses after your counter-offer. Silence feels different when real money is involved. The urge to fill it, to soften your ask, to say “but of course, I’m flexible” is strong. It takes practice to sit with that discomfort and let your number stand.

The other challenge is adaptation. No negotiation follows a script exactly. HR might phrase the salary question differently than expected. They might skip straight to a verbal offer on the call. They might push back with “that’s above our band” before you finish your sentence. You need to internalize the principles behind each script, not just the words.

How CodingCareer’s Mock Negotiation Sessions Work🔗

CodingCareer’s salary negotiation coaching puts you in realistic scenarios with someone who knows the German tech hiring process from the inside. The sessions are run by developers, not generic career consultants, which means the mock conversations reflect how actual German tech interviews and offer discussions unfold.

Here is what a typical session covers: you bring the offer (or the expected offer based on where you are in the process), and the coach analyzes your position using current market data for your role, level, and target city. You then role-play the negotiation itself, with the coach playing the HR lead. After each round, you get direct feedback on your phrasing, timing, and body language. The session produces a concrete artifact: your personalized counter-offer script, adapted to your real situation.

This is part of the Salary Jump and High-Pay Tech Strategy packages. Both include mock negotiation practice alongside broader interview preparation and career strategy. The pay-on-success pricing model means you pay a reduced rate upfront and the rest only after you land the job, so the coach’s incentives are aligned with yours.

Book your free 15-minute diagnostic session and walk through your specific negotiation scenario with someone who has been on both sides of the table.

FAQ

How do I respond when asked about my salary expectations?

Deflect initially by saying you want to focus on the role and mutual fit first. If the employer insists, provide a range based on market data and emphasize that the total package matters most to you.

What do I say when the offer is too low?

Thank them for the offer and express genuine interest in the role. Then explain calmly that the offer is below your expectation, name a specific number you have in mind, and provide a brief rationale based on your experience and market value.

Can I ask for a signing bonus in Germany?

Yes. Signing bonuses are increasingly common in the German tech industry, especially at larger companies and when the employer hits budget limits on base salary. A signing bonus is often easier to approve than a permanent salary increase.

How do I negotiate more vacation days in Germany?

The statutory minimum vacation in Germany is 20 days for a 5-day work week. Many companies offer 25–30 days. Additional vacation days are a commonly accepted negotiation point, especially when the company has limited flexibility on salary.

I use Umami for privacy-friendly analytics.

If you'd like to help me improve this site, please consider disabling your adblocker.