Guides

Writing a job ad that brings applications - in 30 minutes

A concrete template instead of job-title acrobatics. What German applicants actually click, what they bounce from, and where the salary belongs.

Job ad
Recruiting
Guide
Julia Yukovich
Julia YukovichCo-Founder + CEO
·June 28, 2026·
7 min read
·Updated

Key takeaways

Concrete title beats creative - 'Backend developer (Python, m/f/d)' delivers more applications than 'Code hero wanted'.
Naming a salary range is the only negotiation strategy that doesn't work against you.
AGG wording (m/f/d, gender-neutral title) is mandatory, not cosmetic.
5 requirements suffice. More signals uncertainty about what the role really needs.
Build the ad along AIDA: job title (attention), company + tasks (interest), profile + benefits (desire), apply-now CTA (action).
From 7 June 2026 the EU Pay Transparency Directive requires disclosing the entry salary or range at the latest before the first interview - the ad is the most effective place for it.
Step by step
1

Concrete title with role core + key skill

Format: '[Role] [Key skill] [Location] (m/f/d)'. Example: 'Backend developer Python in Berlin (m/f/d)'. The key skill is the difference between 50 unspecific and 30 highly-fit applications.

2

Four-sentence pitch on top

Who you are, what the person will do, with whom, why now. No marketing speak, no buzzwords. Example: 'We run the booking system 300 German hotels use. You'll rebuild the reservation API with Finn because our system won't carry the next 18 months. You'll work with two other backends, one frontend, a DBA. We're hiring now because we want to be live by Q4.'

3

Tasks block: 5 concrete tasks

Tasks are what the person will do, not their skills. Format: '[Verb] [Object] [Context]'. Example: 'Rebuild reservation API in Go', 'Support database migration to Postgres 16', 'Run code reviews with the frontend team'. No one wants to read 'responsible for backend architecture'; everyone wants to read 'rebuild reservation API in Go'.

4

Requirements block: 5, not 15

Cut everything 'nice to have'. Keep: 3 key skills (backend language, database, cloud), 1 soft skill (running code reviews), 1 prerequisite (EU work permit or C1 German). If you really want more, make a separate 'nice to have' block - max 3.

5

What we offer + salary range

What: full-time / part-time / remote share, vacation days, equity if startup, payroll interface. Salary: concrete range, not 'competitive'. Example: '€60,000 - €78,000 gross/year, 30 vacation days, 4-day-week optional, 100% remote possible, stock options from year 2'.

6

Application call with clear path

One sentence, one link, no marketing fluff. Example: 'Send us your CV + 3 sentences on the project you were most proud of, to [link to careers page]'. No one wants to read 'we look forward to you'; everyone wants to know what to send and where.

Why most job ads underperform

Three patterns recur. One - the title is too creative. 'Code hero', 'marketing magician', 'sales ninja' aren't searchable; applicants search for 'backend developer', 'marketing manager', 'account executive'. If you need the creative title, add it as subtitle.

Two - the requirements block is too long. 15 'you bring' points signal either uncertainty or the wish for a unicorn. Both deter qualified candidates who realistically assess their own competence. Three - salary missing. An ad without salary loses ~40% of top-performance applications because senior candidates won't invest time in an unknown negotiation corridor.

The structure: AIDA and the classic sections

Most good job ads follow the same grid - the AIDA model from marketing, translated to recruiting. Attention: the job title pulls in the search result and the first second. Interest: company intro and tasks establish relevance. Desire: requirements and concrete benefits (including a salary range) make the role desirable. Action: a clear apply-now call with a low-friction path. Cover these four phases and you rarely have a weak ad.

Translated into the canonical German order, that's six sections: (1) job title, (2) intro / company description, (3) tasks ('your tasks'), (4) requirements ('your profile'), (5) what we offer / benefits, (6) call-to-action / contact. Throughout: gender-fair and AGG-compliant, so at least (m/f/d), ideally plus inclusive forms like 'Mitarbeiter:innen'.

The six building blocks, with example

We recommend structuring job ads in exactly six blocks. Not too few (all mandatory aspects covered) and not too many (reading flow preserved).

Separate must-have from nice-to-have

The most common requirements mistake: lumping must and wish together. List only real knock-out criteria as must-have - what the person objectively cannot do the job without. Everything else goes in a clearly separated, short nice-to-have block (max 3 points). Studies show qualified candidates often don't apply when they miss one of ten requirements - even when it was just a 'nice to have'. The split wins exactly those people back.

What you *can't* ask in the ad

AGG risks: don't ask gender (unless the role objectively requires it, rare), don't ask age, religion, disability, sexual orientation. Don't ask marital status or pregnancy. Don't ask ethnic origin. Also not indirectly ('native German speaker' is risky; 'business-fluent German C1' is clean). More on AGG-compliant hiring in practice.

Requiring a photo isn't mandatory since 2006 and AGG-risky - makes gender / age / ethnicity identification trivial. Recommendation: make photo optional, don't require.

Salary in or out - the honest answer

In. A range, not a point. Example: '€60,000 - €78,000 per year, depending on experience'. Three effects: (1) qualified applications rise 30-50% per LinkedIn data; (2) negotiation corridor is clear, nobody dragged below range; (3) AGG risk falls because salary doesn't depend on gut estimates appearing in discrimination claims.

From 2026 it's no longer just a recommendation. The EU Pay Transparency Directive (Directive 2023/970) had to be transposed into German law by 7 June 2026 and applies to all employers regardless of headcount. The duty: disclose the entry salary or range at the latest before the first interview - in the ad it isn't (yet) mandatory, but it's the most effective place. At the same time, asking for the previous salary in the hiring process becomes unlawful. Note: the concrete German implementing law wasn't final in early 2026, so the national detail is still moving - but the direction is set.

Make it mobile-readable and findable

Two technical levers that decide reach. Mobile: a large share of applications come from smartphones. Keep the job title under ~40 characters (otherwise it's truncated on mobile), use short blocks and bullets instead of walls of text, and provide an application path that works without login and without a forced PDF upload. More on how a lean form cuts the drop-off rate is in our applicant-management guide.

Findability: candidates search for common German job titles. 'Softwareentwickler:in' has roughly double the search volume of 'Software Developer', 'Buchhalter:in' beats 'Accountant'. Put the searched keyword in the title and add sought-after modifiers like 'Homeoffice' or the location. When the ad lives on your own careers page, real search-engine optimisation pays off - covered in our careers-page SEO guide. No tool for your own careers page yet? Compare options in the ATS overview for Germany.

FAQ

Frequently asked

Try KI BMS

Free plan, no credit card. We host in Germany. You can export and delete everything self-serve.

Julia Yukovich

Written by

Julia Yukovich

Co-Founder + CEO

Julia is one of the Co-Founders. She handles design, development, product direction, and most of the support replies that arrive in the morning.

julia.yukovich at aicuflow dot comLinkedIn