# PHP Developer Job Description: Template and Examples

> A good PHP developer job description states the salary band, names the framework, PHP version and state of the codebase, and separates three to five real requirements from nice-to-haves. It describes actual tasks, including how much time goes into maintenance, avoids age-coded phrases like young team, and explains the hiring steps with their duration.

- URL: https://php-entwickler-gesucht.de/en/hiring/php-developer-job-description/
- Language: en
- Updated: 2026-10-19
- Publisher: PHP-Entwickler gesucht (OnlineBuilders LLC, https://onlinebuilders.biz)

Since 2021, employers posting jobs that can be done in Colorado have had to include a pay range. California and Washington followed with their own rules, and so did New York. The EU's Directive 2023/970 had a transposition deadline of 7 June 2026; Article 5 lets candidates learn the starting pay or its range before the interview and bars employers from asking about salary history.

For PHP roles, this is mostly good news. Experienced developers skip ads without a number. If you have to publish a range anyway, you might as well put it near the top.

## What belongs in a PHP developer job description

Your job description should answer the questions a developer has while reading it. Roughly in the order they come up: what would switching cost me, what do I get, and what will I actually work on?

That gives you a structure that also works on a phone:

1. Title with role and stack, for example "PHP Developer (Symfony), remote UK"
2. Salary band and working model in the first three lines
3. The product in two sentences: what does it do, and for whom?
4. The technical setup, with version numbers
5. Responsibilities, honestly weighted
6. Three to five must-haves, clearly separated from nice-to-haves
7. The hiring process, step by step, with how long it takes

Point 4 is missing from most ads. It's also the strongest filter you have. "PHP 8.4, Symfony 7.4 LTS, PostgreSQL 16, PHPStan level 8, deploys via GitLab CI" tells a developer in one line whether they'll be comfortable. "Modern technologies" tells them nothing.

## Responsibilities that read like a real job

Most PHP job descriptions list responsibilities nobody could disagree with. "Write clean, maintainable code." "Collaborate with cross-functional teams." These lines fill space and filter no one.

Write responsibilities the way you'd explain the job to a friend over coffee. What happens in a typical week? What will this person own after six months? If 40 percent of the time goes into maintaining an older module, write that down. Good developers expect maintenance. What they hate is discovering it after they've signed.

Here's a useful exercise: list the last ten tickets your team closed and sort them by type. That ratio (new features, bugs, upgrades, ops work) is your honest responsibilities section.

## Separate must-haves from nice-to-haves

Long requirement lists scare off the wrong people. Someone who's unsure of themselves won't apply to a list of twelve must-haves even if they meet ten. Someone overconfident applies anyway.

**Wording that filters versus wording that just puts people off**

| | Weak | Better |
|---|---|---|
| Experience | 5+ years of PHP | has run a PHP 8 application in production |
| Framework | Laravel, Symfony, Zend, CakePHP | Symfony; Laravel experience is fine too |
| Testing | testing experience a plus | writes tests with PHPUnit as part of every change |
| Team | young, dynamic team | four developers, one product manager, weekly code review |
| Language | native English speaker | fluent written English for tickets and reviews |

The common problem on the left: those lines describe traits, not activities. Activities can be checked in an interview, for example with the questions in our list of [PHP interview questions](https://php-entwickler-gesucht.de/en/assessing-candidates/php-interview-questions/).

Be decisive about frameworks. The JetBrains State of PHP 2025 survey found that 64 percent of respondents used Laravel and 23 percent used Symfony. Asking for both as must-haves shrinks your pool for no good reason. If you haven't settled which world your project belongs in, read [Laravel vs Symfony](https://php-entwickler-gesucht.de/en/assessing-candidates/laravel-vs-symfony/) first.

## Salary bands that mean something

Something like $70,000 to $150,000 is not information. It just says you won't commit. Useful bands sit 10 to 15 percent around the figure you'd actually pay for the role as described.

For orientation, the US Bureau of Labor Statistics puts the median for web developers and digital designers at $99,520 (May 2025) and for software developers at $135,980. For the UK, ITJobsWatch shows a median of £50,000 for permanent PHP developer roles in the six months to 18 October 2026, with the 75th percentile at £60,000. There's more detail in our article on [PHP developer salary](https://php-entwickler-gesucht.de/en/salary-and-cost/php-developer-salary/).

Asking candidates about their current salary was always a weak move. Under Article 5(2) of [Directive (EU) 2023/970](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32023L0970) it won't be allowed in EU member states once transposed, and several US states and cities already ban salary history questions. Ask about expectations instead, if you ask at all.

## Equality law traps in developer ads

Phrases that look harmless can point to discrimination. The UK's Equality Act 2010 protects characteristics such as age and race, and disability too; similar rules exist across the EU and the US. Badly worded ads become evidence later.

Common slip-ups in tech postings:

- "digital native" or "young team", which hints at age
- "native speaker" instead of a language level
- "recent graduate" as a hard requirement for a non-graduate scheme
- photos that only show one age group
- "culture fit" with no explanation of what it means

This isn't legal advice. It's a list of easily avoidable wording. If in doubt, have HR or an employment lawyer read the ad before it goes live.

## Template: PHP developer job description (Symfony)

Below is a template with placeholders. Replace every value with your real data, especially the salary and stack.

> **PHP Developer (Symfony), remote UK or Bristol**
>
> £58,000 to £66,000 a year, 25 days' holiday plus bank holidays, remote with one team day a month.
>
> We build scheduling software for veterinary practices. Around 1,900 clinics use it every day.
>
> **Stack:** PHP 8.4, Symfony 7.4 LTS, Doctrine, PostgreSQL 16, Messenger with RabbitMQ, PHPStan level 8, PHPUnit, deploys via GitLab CI.
>
> **What you'll do:** roughly 60% new features, 40% maintenance and refactoring. You review your colleagues' code and they review yours. In your first quarter you'll help move our billing module off a legacy service.
>
> **You need:** production experience with Symfony or Laravel; you write tests before anyone asks; you can read a query plan and fix a slow query.
>
> **Helpful:** Messenger or other queue systems, Doctrine migrations on large tables, framework upgrades between major versions.
>
> **Process:** 30-minute intro call, a paid take-home task of no more than three hours, a 90-minute technical conversation. Decision within two weeks.

Some notes on it. The 60/40 split is honest if it's true, and it won't scare off anyone who expects maintenance anyway. Paying for the take-home task shows respect for candidates' time; our guide to the [PHP coding test](https://php-entwickler-gesucht.de/en/assessing-candidates/php-coding-test/) explains how to design one. And the two-week decision is a promise you have to keep.

**Proofread before you publish**

- [ ] Salary band appears in the first three lines
- [ ] PHP version and framework named with version numbers
- [ ] No more than five must-haves
- [ ] No age hints, no native speaker, no clichés
- [ ] Split between maintenance and new work stated
- [ ] Hiring steps listed with duration
- [ ] A named contact instead of a generic inbox

## Where the description should appear

The ad is only one piece. Experienced PHP developers rarely search actively, so you'll also need referrals and direct outreach. Our overview on how to [hire a PHP developer](https://php-entwickler-gesucht.de/en/hiring/hire-php-developer/) covers the channels.

If several weeks pass without a good applicant, the ad is rarely the only cause. Usually the salary band is off or the role is cut too wide. For a single project such as an upgrade, an external team can be faster, for example [OnlineBuilders](https://onlinebuilders.biz/solutions/software-development), who also take over existing PHP applications.

Take your current ad and delete every must-have you wouldn't actually test in the interview. What's left is your real list.

## FAQ

### Do I have to include a salary in a PHP job posting?

It depends on where you hire. Several US states, including Colorado, California, Washington and New York, require pay ranges in job postings. In the EU, Directive 2023/970 gives candidates the right to know the starting pay or range before the interview.

### How long should a developer job description be?

Long enough to answer the questions a developer has, short enough to read on a phone. That usually means 300 to 500 words. Cut anything that sounds like a brochure.

### Should I list years of experience?

Describe what the person must have done instead, such as owned a major framework upgrade. That tells candidates more than five years of PHP and keeps you away from age-related wording that can cause trouble under equality law.

### What is the difference between a job description and a job ad?

The job description is the internal document that defines the role, responsibilities and level. The ad is the public, shorter version written to attract applicants. Write the description first, then cut it down for the ad.

Photo: Aimaimyi, CC BY-SA 3.0 (https://commons.wikimedia.org/wiki/File:Job_Advertisement_Board_in_Shenzhen_-01.jpg)