O*NET vs ESCO: What US and European Job Frameworks Actually Mean for Your Tech Career
Two official occupational frameworks sit behind a lot of hiring infrastructure. What each one is, how they disagree about tech roles, and why the gap between them matters when you write your CV.
- Job Frameworks
- Skills-Based Hiring
- Tech Careers

Job titles in tech are invented by employers, not by any standards body. "Platform Engineer," "Solutions Architect," and "Site Reliability Engineer" mean noticeably different things at different companies — which is a problem the moment anyone tries to compare roles, publish wage statistics, or match candidates to postings at scale. (If you just want the definitions, our index of 62 tech job titles links every one of them.)
Two public frameworks exist to solve exactly that, one American and one European. They are worth understanding, because a growing amount of hiring and salary infrastructure is built on top of them.
O*NET: the US occupational database
O*NET is maintained for the US Department of Labor, Employment and Training Administration. It organises the American labour market into occupations, each with a numeric code — the one behind Software Engineer is 15-1252.00, "Software Developers" — and a detailed profile covering tasks, tools and technology, required knowledge, and skills.
Its strengths and limits are both worth knowing:
- It is deeply descriptive. An O*NET occupation tells you what people in that job actually do day to day, not just its title.
- It underpins official US labour statistics, which is why occupation-level wage data for the US ties back to these codes.
- It is coarse-grained for tech. The technology industry invents titles faster than any national framework updates, so several distinct modern roles often sit under one broad occupation.
ESCO: the European multilingual classification
ESCO — European Skills, Competences, Qualifications and Occupations — is published by the European Commission. It identifies each occupation by a URI rather than a numeric code, and it is built around a different priority: skills.
Two properties make it particularly useful:
- Every occupation carries an explicit list of essential skills. Not a prose description you have to interpret — an actual, enumerated list.
- It is multilingual by design. The same occupation carries official labels and descriptions in many European languages, and the public data includes Arabic — which is why an Arabic-language role page can show a real official term rather than a machine translation of an English one.
Where the two disagree — and why that is informative
Take DevOps Engineer. It is one of the most-posted titles in tech, and neither framework has an occupation by that name. O*NET's closest match is Network and Computer Systems Administrators; ESCO's is ICT system administrator — which is also roughly where Systems Administrator and Cloud Engineer land. All defensible. None a clean fit.
This is not a flaw to hide — it tells you something real: the market title and the standard occupation are different objects. Your title is what your employer calls you. The occupation is the standardised bucket that statistics, salary data, and increasingly matching engines use.
That is why on our role glossary every role carries both mappings side by side, and why we mark them honestly. Where a mapping is a clean, unambiguous fit, the entry is flagged verified. Where the closest official occupation is only an approximation — as with DevOps Engineer — it is left unverified rather than dressed up as exact. An audit of our own mappings caught several that looked right and were not.
What this means for your CV
You do not need to write your CV in framework language. But the gap between market titles and standard occupations has practical consequences:
- Write the market title, not the occupation code. No recruiter searches for
15-1252.00. Use the title the posting uses. - Use the framework's skill list as a checklist. ESCO's essential skills for your occupation are a concrete answer to "what is this role supposed to be able to do" — far more reliable than guessing from one job ad.
- Expect salary data to be occupation-shaped. Official wage statistics report by occupation, not by trendy title — which is why the salary calculator asks for a role from a fixed taxonomy rather than free text, and why what actually moves a tech salary is worth understanding before you compare figures.
- If your title is unusual, name a recognisable equivalent once. "Platform Engineer (Site Reliability / DevOps)" costs one line and removes ambiguity for both humans and matching systems.
- Know which framework your reader uses. A Business Analyst or IT Project Manager role reads differently under a US and a European classification, and the shift toward framework-based screening makes that difference practical rather than academic.
Both frameworks are public
O*NET and ESCO are published openly under CC BY 4.0 licences, which is why they can be cited directly rather than paraphrased. Each entry in our role glossary links back to the source record on O*NET Online and the ESCO portal, so you can read the official definition yourself instead of taking ours on trust.
If you want to see how your CV measures against a role's official skill list rather than a keyword list, the ATS score checker runs that comparison — the skills it reports as found or missing are the real ESCO essential skills for the role, not terms we invented.