What skills get you promoted?

Cell color = share of that role's active listings mentioning the skill. Darker = higher.

Skill mention share by roleAssociateJuniorUXPDSeniorStaffPrincipalLeadDirectorHeadfigmaslope = 0.0 pp/levelfigma × Associate: 0% (n=0)figma × Junior: 0% (n=0)figma × UX: 0% (n=0)figma × PD: 0% (n=0)figma × Senior: 0% (n=0)figma × Staff: 0% (n=0)figma × Principal: 0% (n=0)figma × Lead: 0% (n=0)figma × Director: 0% (n=0)figma × Head: 0% (n=0)framerslope = 0.0 pp/levelframer × Associate: 0% (n=0)framer × Junior: 0% (n=0)framer × UX: 0% (n=0)framer × PD: 0% (n=0)framer × Senior: 0% (n=0)framer × Staff: 0% (n=0)framer × Principal: 0% (n=0)framer × Lead: 0% (n=0)framer × Director: 0% (n=0)framer × Head: 0% (n=0)prototypingslope = 0.0 pp/levelprototyping × Associate: 0% (n=0)prototyping × Junior: 0% (n=0)prototyping × UX: 0% (n=0)prototyping × PD: 0% (n=0)prototyping × Senior: 0% (n=0)prototyping × Staff: 0% (n=0)prototyping × Principal: 0% (n=0)prototyping × Lead: 0% (n=0)prototyping × Director: 0% (n=0)prototyping × Head: 0% (n=0)typographyslope = 0.0 pp/leveltypography × Associate: 0% (n=0)typography × Junior: 0% (n=0)typography × UX: 0% (n=0)typography × PD: 0% (n=0)typography × Senior: 0% (n=0)typography × Staff: 0% (n=0)typography × Principal: 0% (n=0)typography × Lead: 0% (n=0)typography × Director: 0% (n=0)typography × Head: 0% (n=0)motionslope = 0.0 pp/levelmotion × Associate: 0% (n=0)motion × Junior: 0% (n=0)motion × UX: 0% (n=0)motion × PD: 0% (n=0)motion × Senior: 0% (n=0)motion × Staff: 0% (n=0)motion × Principal: 0% (n=0)motion × Lead: 0% (n=0)motion × Director: 0% (n=0)motion × Head: 0% (n=0)visualslope = 0.0 pp/levelvisual × Associate: 0% (n=0)visual × Junior: 0% (n=0)visual × UX: 0% (n=0)visual × PD: 0% (n=0)visual × Senior: 0% (n=0)visual × Staff: 0% (n=0)visual × Principal: 0% (n=0)visual × Lead: 0% (n=0)visual × Director: 0% (n=0)visual × Head: 0% (n=0)interactionslope = 0.0 pp/levelinteraction × Associate: 0% (n=0)interaction × Junior: 0% (n=0)interaction × UX: 0% (n=0)interaction × PD: 0% (n=0)interaction × Senior: 0% (n=0)interaction × Staff: 0% (n=0)interaction × Principal: 0% (n=0)interaction × Lead: 0% (n=0)interaction × Director: 0% (n=0)interaction × Head: 0% (n=0)researchslope = 0.0 pp/levelresearch × Associate: 0% (n=0)research × Junior: 0% (n=0)research × UX: 0% (n=0)research × PD: 0% (n=0)research × Senior: 0% (n=0)research × Staff: 0% (n=0)research × Principal: 0% (n=0)research × Lead: 0% (n=0)research × Director: 0% (n=0)research × Head: 0% (n=0)systemsslope = 0.0 pp/levelsystems × Associate: 0% (n=0)systems × Junior: 0% (n=0)systems × UX: 0% (n=0)systems × PD: 0% (n=0)systems × Senior: 0% (n=0)systems × Staff: 0% (n=0)systems × Principal: 0% (n=0)systems × Lead: 0% (n=0)systems × Director: 0% (n=0)systems × Head: 0% (n=0)accessibilityslope = 0.0 pp/levelaccessibility × Associate: 0% (n=0)accessibility × Junior: 0% (n=0)accessibility × UX: 0% (n=0)accessibility × PD: 0% (n=0)accessibility × Senior: 0% (n=0)accessibility × Staff: 0% (n=0)accessibility × Principal: 0% (n=0)accessibility × Lead: 0% (n=0)accessibility × Director: 0% (n=0)accessibility × Head: 0% (n=0)evalsslope = 0.0 pp/levelevals × Associate: 0% (n=0)evals × Junior: 0% (n=0)evals × UX: 0% (n=0)evals × PD: 0% (n=0)evals × Senior: 0% (n=0)evals × Staff: 0% (n=0)evals × Principal: 0% (n=0)evals × Lead: 0% (n=0)evals × Director: 0% (n=0)evals × Head: 0% (n=0)engineeringslope = 0.0 pp/levelengineering × Associate: 0% (n=0)engineering × Junior: 0% (n=0)engineering × UX: 0% (n=0)engineering × PD: 0% (n=0)engineering × Senior: 0% (n=0)engineering × Staff: 0% (n=0)engineering × Principal: 0% (n=0)engineering × Lead: 0% (n=0)engineering × Director: 0% (n=0)engineering × Head: 0% (n=0)codeslope = 0.0 pp/levelcode × Associate: 0% (n=0)code × Junior: 0% (n=0)code × UX: 0% (n=0)code × PD: 0% (n=0)code × Senior: 0% (n=0)code × Staff: 0% (n=0)code × Principal: 0% (n=0)code × Lead: 0% (n=0)code × Director: 0% (n=0)code × Head: 0% (n=0)reactslope = 0.0 pp/levelreact × Associate: 0% (n=0)react × Junior: 0% (n=0)react × UX: 0% (n=0)react × PD: 0% (n=0)react × Senior: 0% (n=0)react × Staff: 0% (n=0)react × Principal: 0% (n=0)react × Lead: 0% (n=0)react × Director: 0% (n=0)react × Head: 0% (n=0)htmlslope = 0.0 pp/levelhtml × Associate: 0% (n=0)html × Junior: 0% (n=0)html × UX: 0% (n=0)html × PD: 0% (n=0)html × Senior: 0% (n=0)html × Staff: 0% (n=0)html × Principal: 0% (n=0)html × Lead: 0% (n=0)html × Director: 0% (n=0)html × Head: 0% (n=0)aislope = 0.0 pp/levelai × Associate: 0% (n=0)ai × Junior: 0% (n=0)ai × UX: 0% (n=0)ai × PD: 0% (n=0)ai × Senior: 0% (n=0)ai × Staff: 0% (n=0)ai × Principal: 0% (n=0)ai × Lead: 0% (n=0)ai × Director: 0% (n=0)ai × Head: 0% (n=0)mlslope = 0.0 pp/levelml × Associate: 0% (n=0)ml × Junior: 0% (n=0)ml × UX: 0% (n=0)ml × PD: 0% (n=0)ml × Senior: 0% (n=0)ml × Staff: 0% (n=0)ml × Principal: 0% (n=0)ml × Lead: 0% (n=0)ml × Director: 0% (n=0)ml × Head: 0% (n=0)llmslope = 0.0 pp/levelllm × Associate: 0% (n=0)llm × Junior: 0% (n=0)llm × UX: 0% (n=0)llm × PD: 0% (n=0)llm × Senior: 0% (n=0)llm × Staff: 0% (n=0)llm × Principal: 0% (n=0)llm × Lead: 0% (n=0)llm × Director: 0% (n=0)llm × Head: 0% (n=0)agentsslope = 0.0 pp/levelagents × Associate: 0% (n=0)agents × Junior: 0% (n=0)agents × UX: 0% (n=0)agents × PD: 0% (n=0)agents × Senior: 0% (n=0)agents × Staff: 0% (n=0)agents × Principal: 0% (n=0)agents × Lead: 0% (n=0)agents × Director: 0% (n=0)agents × Head: 0% (n=0)vectorslope = 0.0 pp/levelvector × Associate: 0% (n=0)vector × Junior: 0% (n=0)vector × UX: 0% (n=0)vector × PD: 0% (n=0)vector × Senior: 0% (n=0)vector × Staff: 0% (n=0)vector × Principal: 0% (n=0)vector × Lead: 0% (n=0)vector × Director: 0% (n=0)vector × Head: 0% (n=0)strategyslope = 0.0 pp/levelstrategy × Associate: 0% (n=0)strategy × Junior: 0% (n=0)strategy × UX: 0% (n=0)strategy × PD: 0% (n=0)strategy × Senior: 0% (n=0)strategy × Staff: 0% (n=0)strategy × Principal: 0% (n=0)strategy × Lead: 0% (n=0)strategy × Director: 0% (n=0)strategy × Head: 0% (n=0)leadershipslope = 0.0 pp/levelleadership × Associate: 0% (n=0)leadership × Junior: 0% (n=0)leadership × UX: 0% (n=0)leadership × PD: 0% (n=0)leadership × Senior: 0% (n=0)leadership × Staff: 0% (n=0)leadership × Principal: 0% (n=0)leadership × Lead: 0% (n=0)leadership × Director: 0% (n=0)leadership × Head: 0% (n=0)visionslope = 0.0 pp/levelvision × Associate: 0% (n=0)vision × Junior: 0% (n=0)vision × UX: 0% (n=0)vision × PD: 0% (n=0)vision × Senior: 0% (n=0)vision × Staff: 0% (n=0)vision × Principal: 0% (n=0)vision × Lead: 0% (n=0)vision × Director: 0% (n=0)vision × Head: 0% (n=0)mentoringslope = 0.0 pp/levelmentoring × Associate: 0% (n=0)mentoring × Junior: 0% (n=0)mentoring × UX: 0% (n=0)mentoring × PD: 0% (n=0)mentoring × Senior: 0% (n=0)mentoring × Staff: 0% (n=0)mentoring × Principal: 0% (n=0)mentoring × Lead: 0% (n=0)mentoring × Director: 0% (n=0)mentoring × Head: 0% (n=0)hiringslope = 0.0 pp/levelhiring × Associate: 0% (n=0)hiring × Junior: 0% (n=0)hiring × UX: 0% (n=0)hiring × PD: 0% (n=0)hiring × Senior: 0% (n=0)hiring × Staff: 0% (n=0)hiring × Principal: 0% (n=0)hiring × Lead: 0% (n=0)hiring × Director: 0% (n=0)hiring × Head: 0% (n=0)partnershipslope = 0.0 pp/levelpartnership × Associate: 0% (n=0)partnership × Junior: 0% (n=0)partnership × UX: 0% (n=0)partnership × PD: 0% (n=0)partnership × Senior: 0% (n=0)partnership × Staff: 0% (n=0)partnership × Principal: 0% (n=0)partnership × Lead: 0% (n=0)partnership × Director: 0% (n=0)partnership × Head: 0% (n=0)craftslope = 0.0 pp/levelcraft × Associate: 0% (n=0)craft × Junior: 0% (n=0)craft × UX: 0% (n=0)craft × PD: 0% (n=0)craft × Senior: 0% (n=0)craft × Staff: 0% (n=0)craft × Principal: 0% (n=0)craft × Lead: 0% (n=0)craft × Director: 0% (n=0)craft × Head: 0% (n=0)roadmapslope = 0.0 pp/levelroadmap × Associate: 0% (n=0)roadmap × Junior: 0% (n=0)roadmap × UX: 0% (n=0)roadmap × PD: 0% (n=0)roadmap × Senior: 0% (n=0)roadmap × Staff: 0% (n=0)roadmap × Principal: 0% (n=0)roadmap × Lead: 0% (n=0)roadmap × Director: 0% (n=0)roadmap × Head: 0% (n=0)
Each cell shows the percentage of that role's active listings mentioning the skill (rounded). Empty/zero cells stay light.

How to read this

Rows are sorted by seniority slope — a linear-regression fit of mention-share against the seniority ladder. Skills that climb steeply left→right (top of the chart) are the strongest signals for promotion to Staff/Director. Skills that flatten or fall (bottom) are table-stakes vocabulary that fade as seniority increases. Hover any skill label to see its slope in percentage-points-per-level.

Rows: 28 focus skills. Columns: 10roles ordered by coarse seniority. Color encoding is Viridis (perceptually uniform, color-blind safe). Cell value = share of that role's active listings mentioning the skill.