Methodology
How the taxonomy was built, how scoring works, and what it doesn't capture. Every claim on this page is traceable to a sourced research brief — this page exists so you don't have to take the result on faith.
1. Where the 18 archetypes came from
postings · 542 companies
Each archetype started from a research brief built from real job postings across company sizes, practitioner blog posts and talks, and comp data (Levels.fyi, Glassdoor). Briefs cite every trait claim back to a specific source — no claim is asserted from stereotype alone.
A 2026-07-11 sourcing pass then verified those companies directly against their public job-board APIs and classified those postings into the 18 archetypes — not scraped or estimated, every posting traceable to a live URL at the time it was harvested. The other 5 (Embedded/IoT Engineer, Solutions Architect — Consulting-side, Developer Relations, Technical Product Manager, Solutions Architect — Vendor-side) came in between 57 and 148 postings — still several times the original sourcing bar, but a genuinely smaller public posting pool for these titles than for the other 13.
2. The 22 trait dimensions
Every archetype is scored against the same 22 dimensions — 10 skill/experience dimensions and 12 preference/temperament dimensions. Each dimension was derived from patterns across multiple research briefs, not written top-down before the research. The taxonomy separates skill axes precisely enough to avoid conflation — ML aptitude is scored apart from general domain fit, and private mentoring is scored apart from public visibility, so overlapping traits don't get flattened into one blurry axis.
3. How scoring works
Every archetype has a target value (1-5) and a weight (0-1) for each dimension, drawn from its research brief. Your answers produce a 1-5 value per dimension.
Fit is a weighted average of how close your answers land to each archetype's targets, weighted by how much that dimension actually matters for that role — not a raw distance across all 22 dimensions equally. Closeness is scored with a non-linear penalty, so a large gap on a dimension counts far more heavily than a small one.
A role's overall score is capped by how well you match its single defining trait — its highest-weighted dimension — so no role can reach the top of your list on incidental agreement while you mismatch on the thing that actually makes it that role.
Some traits reliably travel together across the 18 roles — depth at cross-layer debugging with appetite for on-call incidents, comfort teaching with comfort being publicly visible. Those pairs are measured directly from the taxonomy (a committed script, not a hidden model), and when your answers on a correlated pair line up the way a role's own profile does, that coherent combination nudges its score up; when they pull in opposite directions it nudges down. It's a deliberate tie-breaker between close matches — it can reorder neighbors but never override the defining-trait cap above it.
The “why you matched” explanation is not written after the fact — it is the 3 dimensions that contributed the most to your specific fit score for that archetype. Growth areas are the dimensions pulling your score down the most, above a floor that filters out noise. There is no black-box model here: every number on a result page is reproducible from your answers and the public taxonomy data.
4. What this doesn't capture
▸ Non-linear gap penalty▾ Non-linear gap penalty
▸ Dimension correlation layer▾ Dimension correlation layer
▸ Defining-trait floor▾ Defining-trait floor
▸ Expert-authored weights▾ Expert-authored weights
▸ Two dimensions we deliberately excluded▾ Two dimensions we deliberately excluded
5. Compensation data
AI labs · FAANG/Mag7 · high-growth public · growth-stage private · early-stage
L3 · L4 · L5 · Staff
P10 / P25 / P50 / P75 / P90
high · medium · low
The comp-by-tier charts on each archetype page (and the Staff cross-role ranking) are a separate, hand-curated dataset from the salary ranges in the research briefs. They cover all 18 archetypes and break total compensation into base, bonus, and annualized equity across five company tiers at four career levels.
Sources.
Manually curated from Levels.fyi public role pages, the Carta H1 2025 State of Startup Compensation report, techinterview.org, and the Cadence engineering-comp blog, cross-checked against salary figures pulled from a 67,000+ job-posting corpus for the archetypes where postings were plentiful enough to yield a usable sample. This is not a live feed — treat it as directional, and expect drift as the market moves. Every cell carries a citation — including an explicit record for cells with no public data — and it's permanently archived, so none of it depends on a live URL that may go stale.
What the percentiles mean. Each band (P10 / P25 / P50 / P75 / P90) reflects individual-contributor total-comp submissions for the US market. The P50 is the median; the P25–P75 interquartile band is the thick middle of each bar. Equity is annualized paper value at vest, not liquid cash — and for growth-stage and early-stage tiers that equity is illiquid, so the equity figure is an expected value against a wide, uncertain outcome, not money in hand. Below is a real worked example for one archetype, Product / Full-Stack Software Engineer, so you can see what the P10–P90 track, the P25–P75 band, and the P50 tick look like in practice.
product-full-stack-software-engineer · total comp (base + bonus + annualized equity) · P25–P75 band, P50 median
Confidence. Each cell is tagged high, medium, or low confidence by how much public data backs that specific role/tier/level combination. Cells marked low carry a limited data badge on the chart. 50 of 360 cells are low-confidence — concentrated in Customer Support Solutions Engineer (13 cells), Customer Support Engineer (10), Embedded/IoT Engineer (8), Developer Relations & Advocacy (6), Consulting Engineer / Professional Services (4), Sales Engineer (Pre-Sales) (3), Solutions Architect (Consulting) (3), and Engineering Management's L3 row (3, across tiers) — because no public compensation data exists for that specific role/tier/level combination. Engineering Management's L3 cells reflect a taxonomy mismatch on top of that: “L3 engineering manager” isn't a real leveling tier — first-line EMs are promoted senior/staff ICs, not L3 hires.
Not financial advice.
This is directional context to help you weigh paths, not a negotiation figure, an offer prediction, or personalized financial guidance. Your actual comp depends on company, location, level calibration, timing, and negotiation — none of which this dataset knows about you.
6. What's next
A future version layers in verified practitioners and hiring managers rating what their role actually demands day-to-day, with expert-seeded weights adjusted by that crowd input — but only once there's enough traffic per archetype to make that signal reliable, and always with the diff between expert and crowd published, not hidden.
Questions or feedback: kazaam@swe-genie.com.