How we count
How Coursecrit turns public job postings into skills data: where the postings come from, how roles and skills are detected, and how we check the results by hand.
What we measure
For each role we report the share of open job postings that mention a skill: “React in 87% of frontend postings” means 87 of every 100 unique frontend jobs we read name React somewhere in the description. We also report what the postings say about level, years of experience, degrees, location and advertised pay.
We publish aggregates only. We never republish the text of a job posting.
Where the data comes from
- Company job boards. Every open posting on the public job boards of thousands of companies that hire through Greenhouse, Lever and Ashby, read through the boards' public APIs. The list of companies comes from the LastRound AI ATS Company Directory (CC BY 4.0).
- Polite crawling. Our crawler identifies itself as CoursecritResearchBot and links to this page. Requests are rate-limited per platform.
- Cleaning. Test and demo boards, test postings and postings with an empty description are removed.
- One job, one count. The same title at the same company counts once, even when it's advertised in several cities: frontend developer: 944 → 688; full-stack developer: 3,874 → 3,022 and backend developer: 2,619 → 2,158.
- Freshness. The numbers on the site come from postings crawled November 2026. Each page shows its date.
Who counts for a role
A rule-based classifier reads the job title first and checks it against the description. “Senior Backend Engineer” is backend; “Java Developer” counts as backend only if the description is about server-side work; “Backend QA Engineer”, DevOps, data engineering and management roles don't count. Only confident matches go into the numbers. When in doubt we leave a posting out: an unknown is better than a wrong count.
How skills are found
- A dictionary with rules, not a language model. Each skill has patterns written and tested on real postings (“Go” only next to another language, since “go to market” isn't a skill; “TS/SCI” is a security clearance, not TypeScript).
- What the job asks, not what the company is. The company intro and the legal tail are ignored, so an AI company that says “we build agentic AI” isn't counted as asking for LLM skills.
- Required or nice to have. A skill is “required” unless every mention sits under a nice-to-have heading or in a description of the company's own tech stack.
- Margins of error. Each share comes with its 95% interval for the number of postings behind it.
Checked by hand
Before a role goes live we label a random sample of its postings by hand and compare the labels with what the extractor found.
| Role | Postings labelled | Role accuracy | Skills: correct | Skills: found | Salaries correct |
|---|---|---|---|---|---|
| Frontend Developer | 400 | 92% | 97% | 95% | 117 / 120 |
| Full-Stack Developer | 200 | 85% | 98% | 98% | 117 / 120 |
| Backend Developer | 200 | 90% | 96% | 99% | 57 / 60 |
- Role accuracy: share of postings counted for the role that really are that role.
- Skills, correct: share of the skills the extractor found that the posting really asks for.
- Skills, found: share of the skills in the posting that the extractor caught.
- Salaries: parsed pay ranges compared with the posting text.
Salaries
- Read from the pay range in the posting (or the job board's salary field) and turned into an annual figure.
- Each posting counts at the midpoint of its range. We report the lower quartile, the median and the upper quartile.
- A range counts for a country only in that country's currency: a role in Latin America paid in US dollars doesn't count towards the United States.
- A country or a level appears only with at least 30 postings that publish a range.
- These are base salaries from companies that publish ranges, mostly because US states such as California, New York, Colorado and Washington require it. That leans towards tech companies and senior roles.
Limits
- Which employers. Companies that use Greenhouse, Lever or Ashby: many tech companies, start-ups and scale-ups, fewer large enterprises, agencies and public-sector employers.
- Where. The sample leans towards the United States.
- Language. Postings in languages other than English are only partly understood.
- A posting isn't a hire. Postings show what employers ask for, not what the people they hire actually know.
Independence
Nothing on Coursecrit is sponsored. No one pays to be listed, and no one pays to change the data or the order of anything on this site.
Course and certification reviews aren't published yet. We'll describe how we score them here before the first score goes live.