Tony Wang12 min readEngineering Leads the Labels — Store Hourly Runs the Real Market
Engineering is the top named department (~11.8k), but Store Hourly alone is ~5k. We ranked ATS department and employment-type labels on open postings.
Is the online job market “mostly engineering roles”? If you only look at the largest named department label, Engineering wins — 11,786 open postings in Crawlora’s mid-July 2026 Jobs facet. Keep reading the same ranking and the story changes. Store Hourly Positions posts 5,047 under a single label. Clinical, Behavior Technician, Nursing, Retail, and a stack of gym-department labels sit in the same list. The labels that look like a tech careers page share the table with the labels that staff pharmacies, fitness chains, and store floors.
That split is the point of this post: what kinds of work get labeled on public career boards, and how messy the employment-type field is when you try to count full-time versus part-time.
Named departments: Engineering first, Store Hourly not far behind
Sort the top department labels by count and the first row is what tech Twitter expects. The fourth is not.
Store Hourly Positions (5,047) is 43% of Engineering (11,786) under a single retail/hourly taxonomy string. Add Clinical (1,643), Behavior Technician (1,088), Retail (1,064), Customer Service (1,027), Nursing (650), and the gym stack (Operations 755 + Fitness 608 + Sales 588 + Childcare 338) and you are looking at the staffing language of healthcare systems, franchises, and fitness chains — the same employers that dominate the open-roles power law.
The long tail is also honest about data quality. The facet includes MAX AHP (967), Stroll (269), Canada (231), Global (672), and HSS (470) — company-specific or geography-as-department noise. Those rows are not “findings about the labor market”; they are evidence that ATS department is a free-text-ish field, not a controlled vocabulary.
| # | Department label | Open postings | Read as |
|---|---|---|---|
| 1 | Engineering | 11,786 | Broad eng bucket (not only software) |
| 2 | Sales | 9,556 | Quota / GTM sales |
| 3 | Operations | 5,245 | Ops mixed with field ops |
| 4 | Store Hourly Positions | 5,047 | Retail / store hourly |
| 5 | Marketing | 3,563 | Marketing functions |
| 6 | Finance | 2,343 | Finance / accounting-adjacent |
| 7 | Product | 2,285 | Product (often tech cos) |
| 8 | Government Services | 1,906 | Gov / public-sector services |
| 9 | Clinical | 1,643 | Clinical healthcare |
| 10 | Technology | 1,617 | Tech label parallel to Engineering |
| 11 | Commercial | 1,294 | Commercial / sales-adjacent |
| 12 | Software Engineering | 1,219 | Explicit SWE split |
| 13 | Inspection and Field Testing | 1,213 | Field testing / inspection |
| 14 | Manufacturing | 1,143 | Plant / manufacturing |
| 15 | Customer Success | 1,123 | Post-sale CS |
| 16 | Behavior Technician | 1,088 | ABA / care tech roles |
| 17 | Laboratory & Testing | 1,066 | Lab / testing |
| 18 | Retail | 1,064 | Retail department label |
| 19 | Customer Service | 1,027 | Service / support |
| 20 | MAX AHP | 967 | Company-specific noise |
| 21 | Consultant Services | 946 | Consulting services |
| 22 | Reconditioning | 913 | Auto / reconditioning (e.g. Carvana-class) |
| 23 | Product Management | 888 | PM split from Product |
| 24 | Salon Professionals | 879 | Salon / beauty services |
| 25 | Stores | 850 | Store ops parallel to hourly |
Even a generous tech merge does not erase hourly and care work
ATS boards split “tech” across many strings. If we merge the obvious tech-ish labels listed in the Method callout, the cluster reaches about 19,958 tagged postings. Merge hourly, retail, clinical, behavior, nursing, gym, and related care labels and you get about 17,027.
Tech-ish still leads after a favorable merge. The gap is not a rout: hourly/care/retail is 85% of the tech-ish total, and Store Hourly alone remains a first-class raw label. If your mental model of “the job market” is only Engineering + Product + Software Engineering, you are sampling the taxonomy startups use — not the taxonomy that fills open reqs at CVS, Domino’s, BAYADA, or EōS Fitness.
Employment form: full-time wins, part-time is large, spelling is chaos
Department answers “what family of work.” Employment type answers “what kind of contract,” and the raw field is a mess of near-duplicates.
Across 40 distinct employment_type strings in the facet (summing to about 235,000 tagged postings — still only a subset of all open roles):
| Family (hand-merged) | Approx. open postings |
|---|---|
| Full-time | 199,669 |
| Part-time | 24,284 |
| Contract | 5,170 |
| Flexible / other (variable, PRN, moonlighter, freelance, hybrid strings, other…) | 3,880 |
| Temporary | 923 |
| Intern / apprenticeship | 671 |
Full-time is the default when the field is set. Part-time is not a rounding error: ~24,000 tagged part-time postings is the size of a mid-tier ATS ecosystem. Contract, PRN, per diem, moonlighter, and variable-time strings are the fingerprint of healthcare and hourly operations that never look like a Greenhouse “FullTime” enum.
And full-time alone does not agree how to spell itself:
| Raw employment_type | Open postings |
|---|---|
| Full time | 123,225 |
| Full-time | 43,845 |
| FullTime | 16,939 |
| full-time | 7,259 |
| fulltime_permanent | 6,131 |
| fulltime_fixed_term | 1,611 |
| Full Time | 345 |
| fulltime | 211 |
| Permanent | 103 |
Nine common spellings of full-time; forty employment_type keys overall in this facet pull. If you scrape one ATS at a time and GROUP BY employment_type, you will invent a fake long tail of “job types” that is really string variance.
Long-tail forms worth naming, not burying:
| Raw value | Open postings |
|---|---|
| Part time | 17,567 |
| Part-time | 3,712 |
| Contract | 4,650 |
| full-or-part-time | 1,767 |
| Temporary | 838 |
| Moonlighter | 400 |
| Intern | 333 |
| internship | 265 |
| freelance | 205 |
| PRN | 79 |
| Time as Reported / Per Diem | 79 |
| apprenticeship | 73 |
Same market as the mega-boards
Department and employment-type structure line up with who posts the most open roles. Domino’s, CVS Health, Albertsons, JCPenney, Accor, BAYADA, Pulse Healthcare, and EōS Fitness are not Engineering/Product taxonomies with a side of hourly — they are hourly, clinical, retail, and hospitality machines that also happen to appear in the same Jobs crawl as OpenAI and Notion. The hiring power-law post ranks those boards by open-req count; this post shows the labels those markets use.
If you only filter the free tool to department=Engineering, you will correctly find eng reqs — and you will systematically under-sample the volume side of public hiring.
What this is not
- Not O*NET or BLS occupations. Department is whatever the employer typed into the ATS.
- Not a title study. “Software Engineer” vs “Registered Nurse” needs title clustering we did not run here (search totals also cap at 10,000).
- Not remote share.
remote_openis about 27,000 in this crawl and is not “5% of jobs are remote” — Workday and Greenhouse under-populate the flag. - Not “tech is dead.” Tech labels are large and real. They are not the whole tagged market, and tagged is not the whole market.
Who this helps
Job seekers and analysts: use department and employment-type filters knowing they are incomplete. Pair them with employer or provider filters when you care about volume.
Researchers: cite the tagged subset explicitly. Engineering-as-#1 is true in the facet and false as a claim about all open reqs.
Anyone normalizing ATS JSON: treat employment_type and department as dirty enums. Collapse full-time spellings; expect company-specific department junk; do not build a 40-row “job type” pie chart from raw strings.
Everything above is re-queryable from the same facets endpoint. If a re-crawl moves Store Hourly past Operations, that is a feature of a live market snapshot — not a reason to freeze a one-time export.
Filter live postings by department and employment type
Search open roles across 14 ATS providers, facet by department, and inspect employment_type strings over one REST API. 2,000 free credits a month, no card.
Frequently asked questions
What is the largest department label on public ATS job postings?
In Crawlora's mid-July 2026 Jobs facets, Engineering is the largest single department label at 11,786 open postings among the top 100 department keys. That ranking is only over postings that carry a department — not over every open role in the crawl.
Is the online job market mostly engineering jobs?
Not by a complete count of all open roles. Engineering leads named department labels, but Store Hourly Positions alone is 5,047, and clinical, behavior technician, retail, and gym labels add a large non-tech tagged slice. The top 100 department keys sum to about 91,900 postings versus roughly 525,000 open postings by provider sum — department is sparse.
How big is part-time hiring in this dataset?
Hand-merged part-time employment_type values sum to about 24,284 tagged open postings in the mid-July 2026 facet pull, versus about 199,669 for full-time families. Only postings with a populated employment_type are included.
Why are there so many employment_type strings?
Each ATS exports its own vocabulary. Crawlora's facet shows 40 distinct raw employment_type values in this pull, including many near-duplicates of full-time (Full time, Full-time, FullTime, full-time, fulltime_permanent, and more). That is string variance, not 40 different kinds of work.
Does this post measure remote work or salaries?
No. Remote is a separate methodology post (ats-remote-flag-is-broken-2026): remote_open is a floor after free-text inference, not market share. Salary fields are sparse outside a few providers and are out of scope.
How is this different from the Domino's vs OpenAI hiring post?
That post ranks employers by open-role volume on career boards. This post ranks department and employment-type labels on postings. Same Jobs dataset, different unit: who is hiring versus what kinds of roles get labeled.