What we read
Job postings for tech roles in the United States and Canada, and remote roles open there: 28,652 postings from 2,371 employers in the 180 days to October 20, 2026, collected every day from employers' own job pages and public job boards. Trends reach back to 2021 through archived public job postings.
Only postings. Nothing about the people who use Mettlespark is ever part of these figures.
One posting, counted once
The same job is often posted again, or copied to other sites. Reposts and copies are merged into one posting before anything is counted, so a busy employer's reposts don't inflate a skill.
Reading the skills
Each posting is read for the skills, tools and subjects it asks for, and whether each is required or nice to have. Synonyms count as one skill: scikit-learn and sklearn, or Postgres and PostgreSQL. Many postings are also read by Mettlespark AI, which catches skills described in plain words rather than named.
A skill's share is the number of postings that name it, divided by all postings in the window. "Required when named" is the share of those postings that list it as required.
Roles
A role's postings are those whose title matches the role, wherever they are: Machine Learning Engineer includes "ML Engineer" and "Senior Machine Learning Engineer", for example. Professional skills such as communication are shown apart from the technical ones.
A role gets a page once it has at least 100 postings in the window, and a skill once at least 150 postings name it, so no page stands on a thin sample.
Trends, like for like
Comparing months fairly is harder than it looks: the mix of postings changes as archived history gives way to live postings, and as more of them are read in depth. So trends compare like with like: postings are grouped by kind, the change is measured within each group, and the groups are combined.
A skill is called rising or falling only when its move is clear of the month-to-month noise (about two standard errors). Smaller moves are shown as steady.
Pay, experience and level
Pay comes only from postings that state it, as a yearly figure. A role's typical range is the middle half of the midpoints of those ranges, and its median the middle one. Figures are in US dollars; postings in Canadian dollars are left out of them rather than converted.
Experience is the years a posting asks for, where it says; the median is shown. Level (intern to director) is read from the title and the text.
What the numbers can't tell you
Postings are what employers ask for, not who they hire. Some employers list every tool they use, others only the essentials. A share is a strong guide to what matters, not a checklist.
Spot something that looks wrong? Write to [email protected] and a person will look into it.