Europe's Best-Paying Technology Cities—Without Hiding the Sample Size
Salary rankings are easy to publish and easy to get wrong.
A city can jump to the top because three unusually well-paid vacancies happen to disclose compensation. Another can look cheaper because most of its employers publish no salary at all. Currency conversion, job mix and seniority can move the result again.
To make the comparison more defensible, this JobSnout snapshot includes only cities with at least 20 active, salary-visible programming jobs. Salaries are shown as annual EUR equivalents using the midpoint of each advertised range.
The city table
| Rank | City | Median advertised salary | Salary sample |
|---|---|---|---|
| 1 | Cambridge | €134,201 | 52 |
| 2 | Berlin | €125,000 | 31 |
| 3 | London | €121,325 | 222 |
| 4 | Madrid | €90,000 | 47 |
| 5 | Manchester | €89,314 | 39 |
| 6 | Barcelona | €89,250 | 64 |
| 7 | Munich | €85,625 | 20 |
| 8 | Lisbon | €67,500 | 39 |
| 9 | Paris | €63,500 | 27 |
| 10 | Krakow | €62,089 | 38 |
| 11 | Warsaw | €60,879 | 57 |
These are medians of advertised salaries, not estimates of every technology worker's earnings. They describe the subset of active vacancies whose employers disclosed pay.
Cambridge leads, but London supplies the strongest sample
Cambridge had the highest median at approximately €134,201 across 52 visible salaries. Its technology market includes research-intensive, semiconductor, AI and specialist engineering employers, which may help explain the high observed figure.
London followed at €121,325, below both Cambridge and Berlin, but its 222-job salary sample was by far the largest. That makes London's median less sensitive to a handful of postings than the results for cities near the 20-job threshold.
London also dominated vacancy volume overall: 1,127 active jobs explicitly named the city. Paris was a distant second with 324, followed by Berlin with 279, Warsaw with 266 and Munich with 239.
| City | All active jobs naming the city | Salary sample |
|---|---|---|
| London | 1,127 | 222 |
| Paris | 324 | 27 |
| Berlin | 279 | 31 |
| Warsaw | 266 | 57 |
| Munich | 239 | 20 |
| Madrid | 227 | 47 |
| Barcelona | 197 | 64 |
| Amsterdam | 174 | —* |
| Dublin | 153 | —* |
| Lisbon | 130 | 39 |
*Not shown in the salary ranking because the complete comparable city table used for this draft did not yield at least 20 qualifying salary observations for that city at the snapshot time.
The contrast is important. Paris had the second-largest named-city job market, but only 27 qualifying salary observations. Warsaw supplied visible pay more often in absolute terms despite having fewer total jobs.
Spain's two largest hubs were almost level
Madrid and Barcelona produced remarkably similar medians: €90,000 and €89,250 respectively.
Barcelona's sample was larger—64 visible salaries versus Madrid's 47—while Madrid had more active vacancies overall, 227 against 197. At this stage, the data supports “broadly similar advertised medians” more strongly than a claim that one Spanish city pays better than the other.
The figure also does not account for cost of living, taxation, equity or bonus. A salary comparison is one input into a location decision, not a complete answer.
Berlin's result deserves attention—and caution
Berlin's €125,000 median put it ahead of London in this snapshot. The result is interesting, but its sample of 31 is much thinner than London's 222.
Several factors could contribute:
- international companies advertising globally benchmarked ranges;
- a high share of senior or specialist roles among transparent postings;
- differences in which employers disclose pay;
- the mix of currencies and remote eligibility;
- the short JobSnout observation window.
The correct conclusion is that Berlin's visible-salary segment looked strong, not that a typical Berlin developer necessarily earns more than a London one.
Country context changes the picture
Among countries with at least 20 visible salaries, the active-job medians were:
| Country | Median advertised salary | Salary sample |
|---|---|---|
| Ireland | €122,250 | 55 |
| Switzerland | €114,500 | 22 |
| United Kingdom | €102,660 | 495 |
| Spain | €90,000 | 202 |
| Austria | €83,750 | 26 |
| Lithuania | €82,500 | 27 |
| Portugal | €80,000 | 59 |
| Germany | €79,200 | 159 |
| Netherlands | €72,000 | 79 |
| Poland | €62,760 | 231 |
| Italy | €62,500 | 35 |
| France | €45,000 | 132 |
City and country medians are not expected to line up perfectly. A country's sample includes smaller markets, remote-country postings and roles outside its best-paying hub. A city sample can also be concentrated in a particular industry or seniority band.
How candidates should use the ranking
The most useful question is not simply “which city is first?” It is “where can I find enough relevant, transparent opportunities at a level that works for me?”
On JobSnout, each country or town under What it pays where opens the active jobs for that place with Salary visible enabled. Candidates can then inspect the actual roles behind the median rather than treating the summary number as a promise.
Methodology and limitations
The ranking uses active, canonical JobSnout postings on 29 August 2026 and requires at least 20 salary-visible jobs per city. Towns are identified from the employer's location text. Remote jobs with no named town do not enter a city sample.
Salary means employer-provided compensation that JobSnout can display. Ranges use their midpoint. Supported non-EUR currencies are converted with ECB reference rates dated 28 August 2026. No adjustment is made for tax, benefits, bonus, equity, purchasing power, seniority or occupation mix.
The collection window began on 24 August 2026. The figures are an early market snapshot, not a long-run salary benchmark.