While building a job description for a graduate assignment — for QA Manager, a role I was writing toward, not the QA Lead title I actually held at the time — I went looking for a benchmark and ended up inside a federal database with 1,000-plus occupations in it. Out of roughly 80 candidates in my search, two came close, one to each job. Neither one was quite right — and that gap turned out to matter more than I expected.
Most people have never heard of O*NET, and most people have already been affected by it. It’s the U.S. Department of Labor’s free, public database of what work actually looks like in this country — occupation by occupation, task by task, skill by skill — and it quietly sits underneath things like job postings, career-counseling tools, and immigration paperwork without ever announcing itself.
What it actually is
ONET (the Occupational Information Network) replaced the old Dictionary of Occupational Titles in the late 1990s and has been maintained by the Department of Labor’s Employment and Training Administration ever since, through the ONET Resource Center. It’s not a static reference book — it’s a live, ongoing survey. Real workers and occupational experts in each field get surveyed on a rolling basis, and the results feed a taxonomy of over 1,000 occupational titles covering more than 55,000 real jobs, each broken down into tasks, work activities, and the knowledge, skills, and abilities (KSAOs) the job actually requires — with an importance rating attached to every single one. You can search all of it for free at O*NET OnLine.
Neither code was quite me
Here’s where it stopped being an abstraction. Searching for a benchmark for that job description, I pulled up the full occupational listing and landed on two candidates: Quality Control Systems Managers (11-3051.01) — “plan, direct, or coordinate quality assurance programs” — and Software Quality Assurance Analysts and Testers (15-1253.00) — “develop and execute software tests… document software and application defects.” The first was closer to QA Manager, the role I was writing toward. The second was closer to QA Lead, the role I actually held. Neither code cleanly separated the job I had from the job I was reaching for — which is its own small confession, since I hadn’t cleanly separated them either. O*NET, for all its rigor, doesn’t have a box for the gap between where you are and where you’re writing yourself toward. It was a smaller-scale version of a lesson I’d already run into elsewhere: even a taxonomy built from real survey data has coverage gaps, and you can be a real, working example of one.
Quality Control Systems Managers
"Plan, direct, or coordinate quality assurance programs."
Software Quality Assurance Analysts and Testers
"Develop and execute software tests… document software and application defects."
O*NET has no box for the gap between where you are and where you're writing yourself toward — which is its own small confession, since I hadn't cleanly separated them either.
Why this isn’t just academic
The reason to actually know what ONET is goes well past curiosity. The Standard Occupational Classification (SOC) codes that ONET is built on are the same codes the Department of Labor uses to set prevailing wages — including for H-1B and other work-visa sponsorships. When an employer files for a visa, the DOL takes the SOC code, the job’s geographic location, and a wage level (I through IV, informed by O*NET’s own data on the education and experience a role normally requires) and uses that combination to issue a Prevailing Wage Determination — the wage floor the employer has to meet or exceed. Get slotted into the wrong code, and the gap I found between two job titles stops being a curiosity and starts being someone’s actual ceiling.
That wage level used to just set a floor. As of the FY2027 H-1B cap cycle, it decides something closer to your odds of getting in at all. DHS replaced the old random lottery with a wage-weighted selection system: a Level I registration gets one entry, Level II gets two, Level III gets three, Level IV gets four. Two applicants for the same job, in the same city, filed under the same SOC code, can walk into the lottery with a 4-to-1 difference in their chances of being selected — determined entirely by which wage level their O*NET-informed occupation profile landed them in. The code doesn’t just describe the job anymore. It’s doing math on whether you get to stay.
The wage floor the employer has to meet or exceed. Wage level is informed by O*NET's own data on the education and experience a role normally requires.
Same job, same city, same SOC code — a 4-to-1 difference in odds of selection, decided entirely by which wage level the occupation profile landed you in.
What transfers
My throughline is negotiating for clarity, and O*NET is a reminder that clarity gets assigned from outside you as often as you build it yourself. A code is not a description, and a description is not the job — but a code is what gets typed into a government form, and the form is what the paycheck and the paperwork actually run on.
Thanks for reading. Look yourself up at onetonline.org — search the closest title to what you actually do, and see how much of your real week is missing from it.
Comments