Pipeline run
87719b6d-1813-4720-95d4-ca38b24d34d2
Client output enrichment
v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA descriptionvocab breakdown (legacy)
Signals
Post-classification
1 POST /skills/extract-from-jd
2 POST /skills/extract-details
3 POST /skills/final-role-output
Frontend Developer
→Angular Frontend Developer
sub-role · 0.99 domain · Software Engineering CASE DOMAINslug: frontend-engineer · id: 7 · source: db · sub-role slug: angular-frontend-developer
Domain=Software Engineering → sub-role angular-frontend-developer; The JD is for a Java and Angular frontend/web UI role, which best matches Frontend Developer among the candidates.
Matched skills
Matched dimensions
Matched KRAs
Resolution:
in_db
— role exists in library; skill↔dim and role↔dim links saved when applicable.
Job description
About the Role: Min. 4 Years Experience Experience with Java, Angular.js Location: Remote Timing: Full-Time contractual (As per company timings) Notice Period: 1 month or less (immediate joiner - Preferred ) Must-Have Skills: Java Angular
Skills from this JD
Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.
Aliases — catalog
- Java (CANONICAL) primary
- JDK (VERSION)
- JDK 10 (VERSION)
- JDK 11 (VERSION)
- JDK 12 (VERSION)
- JDK 13 (VERSION)
- JDK 14 (VERSION)
- JDK 15 (VERSION)
- JDK 16 (VERSION)
- JDK 17 (VERSION)
- JDK 18 (VERSION)
- JDK 19 (VERSION)
- JDK 20 (VERSION)
- JDK 21 (VERSION)
- JDK 5 (VERSION)
- JDK 6 (VERSION)
- JDK 7 (VERSION)
- JDK 8 (VERSION)
- JDK 9 (VERSION)
- Java 1.0 (VERSION)
- Java 1.1 (VERSION)
- Java 1.2 (VERSION)
- Java 1.3 (VERSION)
- Java 1.4 (VERSION)
- Java 1.5 (VERSION)
- Java 1.6 (VERSION)
- Java 1.7 (VERSION)
- Java 1.8 (VERSION)
- Java 10 (VERSION)
- Java 11 (VERSION)
- Java 12 (VERSION)
- Java 13 (VERSION)
- Java 14 (VERSION)
- Java 15 (VERSION)
- Java 16 (VERSION)
- Java 17 (VERSION)
- Java 18 (VERSION)
- Java 19 (VERSION)
- Java 20 (VERSION)
- Java 21 (VERSION)
- Java 5 (VERSION)
- Java 6 (VERSION)
- Java 7 (VERSION)
- Java 8 (VERSION)
- Java 9 (VERSION)
- Java11 (VERSION)
- Java17 (VERSION)
- Java21 (VERSION)
- Java8 (VERSION)
- OpenJDK 11 (VERSION)
- OpenJDK 17 (VERSION)
- OpenJDK 21 (VERSION)
- OpenJDK 8 (VERSION)
- java 11 (VERSION)
- java 17 (VERSION)
- java 21 (VERSION)
- java 4 (VERSION)
- java 5 (VERSION)
- java 6 (VERSION)
- java 7 (VERSION)
- java 8 (VERSION)
- java lts (VERSION)
- java-11 (VERSION)
- java-17 (VERSION)
- java-21 (VERSION)
- java-4 (VERSION)
- java-5 (VERSION)
- java-6 (VERSION)
- java-7 (VERSION)
- java-8 (VERSION)
- java11 (VERSION)
- java17 (VERSION)
- java21 (VERSION)
- java4 (VERSION)
- java5 (VERSION)
- java6 (VERSION)
- java7 (VERSION)
- java8 (VERSION)
- jdk 11 (VERSION)
- jdk 17 (VERSION)
- jdk 21 (VERSION)
- jdk 4 (VERSION)
- jdk 5 (VERSION)
- jdk 6 (VERSION)
- jdk 7 (VERSION)
- jdk 8 (VERSION)
- jdk11 (VERSION)
- jdk17 (VERSION)
- jdk21 (VERSION)
- jdk4 (VERSION)
- jdk5 (VERSION)
- jdk6 (VERSION)
- jdk7 (VERSION)
- jdk8 (VERSION)
- jvm21 (VERSION)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Language
- Sub-category
- Programming Language
- Vendor
- Oracle
- License
- other_open
- Year introduced
- 1995
- Confidence
- 0.99
- Version strategy
- SEPARATE_ENTITY
- Version tag
- 21
Maturity reasoning: Java is a hiring-pipeline staple with very high JD volume across enterprise backend, Android, and cloud roles; it remains widely supported by major vendors and frameworks like Spring.
Skill profile (library / DB)
- Skill nature
- LANGUAGE
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 6
- Sub-category id
- 96
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Java Language and JVM Catalog dimension db id 279
Library dimension (catalog)
Roles linked in library: Java Backend Developer, Kotlin Backend Developer, Scala Backend Developer
-
Kotlin and Java Catalog dimension db id 161
Library dimension (catalog)
Roles linked in library: Android Developer
-
Native Mobile Languages Catalog dimension db id 274
Library dimension (catalog)
Roles linked in library: Native Mobile Developer
-
Pega Programming Languages & DSLs Catalog dimension db id 267
Library dimension (catalog)
Roles linked in library: Pega Developer
-
Programming Languages Catalog dimension db id 1
Library dimension (catalog)
Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer
-
Programming Languages for Data Work Catalog dimension db id 21
Library dimension (catalog)
Roles linked in library: Data Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Java Language and JVM
java-language-and-jvm
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Kotlin and Java
kotlin-and-java
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Native Mobile Languages
native-mobile-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Pega Programming Languages & DSLs
pega-programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages
programming-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages for Data Work
programming-languages-for-data-work
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Angular (CANONICAL) primary
- Angular 1 (VERSION)
- Angular 1.x (VERSION)
- Angular 10 (VERSION)
- Angular 11 (VERSION)
- Angular 12 (VERSION)
- Angular 13 (VERSION)
- Angular 14 (VERSION)
- Angular 15 (VERSION)
- Angular 16 (VERSION)
- Angular 17 (VERSION)
- Angular 2 (VERSION)
- Angular 2+ (VERSION)
- Angular 4 (VERSION)
- Angular 5 (VERSION)
- Angular 6 (VERSION)
- Angular 7 (VERSION)
- Angular 8 (VERSION)
- Angular 9 (VERSION)
- AngularJS (VERSION)
- angular 1 (VERSION)
- angular 1.x (VERSION)
- angular 10 (VERSION)
- angular 11 (VERSION)
- angular 12 (VERSION)
- angular 13 (VERSION)
- angular 14 (VERSION)
- angular 15 (VERSION)
- angular 16 (VERSION)
- angular 17 (VERSION)
- angular 18 (VERSION)
- angular 19 (VERSION)
- angular 2 (VERSION)
- angular 2+ (VERSION)
- angular 2.x (VERSION)
- angular 3 (VERSION)
- angular 4 (VERSION)
- angular 5 (VERSION)
- angular 6 (VERSION)
- angular 7 (VERSION)
- angular 8 (VERSION)
- angular 9 (VERSION)
- angular17 (VERSION)
- angular2 (VERSION)
- angularjs (VERSION)
- angularjs 1.x (VERSION)
- ng (VERSION)
- ng1 (VERSION)
- ng2 (VERSION)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Frontend Framework
- Vendor
- License
- mit
- Year introduced
- 2010
- Confidence
- 0.98
- Version strategy
- SEPARATE_ENTITY
- Version tag
- 2+
Maturity reasoning: Angular remains widely listed in frontend job descriptions and enterprise stacks; Google continues maintaining Angular, and it is a common hiring-pipeline skill alongside React/Vue rather than a sunset technology.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 1072
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Angular Component Model and Templates Catalog dimension db id 303
Library dimension (catalog)
Roles linked in library: Angular Frontend Developer
-
Application Frameworks & Libraries Catalog dimension db id 451
Library dimension (catalog)
Roles linked in library: Sitecore Dev
-
UI Frameworks and Rendering Catalog dimension db id 115
Library dimension (catalog)
Roles linked in library: Frontend Developer, Fullstack Developer, Fullstack Developer, Hybrid Mobile Developer, Ionic Developer, Web Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Angular Component Model and Templates
angular-component-model-and-templates
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Application Frameworks & Libraries
application-frameworks-libraries
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
UI Frameworks and Rendering
ui-frameworks-and-rendering
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
All API 3 persistence rows
Same grid as the skill-extractor “Persistence items” table: one row per (skill × dimension) work item.
| Skill | Tag | Dimension | Skill↔dim | Role↔dim | Outcome | Notes |
|---|---|---|---|---|---|---|
| Java | in_db |
Java Language and JVM
java-language-and-jvm
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Kotlin and Java
kotlin-and-java
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Native Mobile Languages
native-mobile-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Pega Programming Languages & DSLs
pega-programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Programming Languages
programming-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Programming Languages for Data Work
programming-languages-for-data-work
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Angular | in_db |
Angular Component Model and Templates
angular-component-model-and-templates
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Angular | in_db |
Application Frameworks & Libraries
application-frameworks-libraries
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Angular | in_db |
UI Frameworks and Rendering
ui-frameworks-and-rendering
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Library artifacts (this run)
nano JD Parser — gpt-4.1-nano click to toggle
Show raw JSON
{
"JD_type": "fail",
"archetype_override_applied": true,
"archetype_override_matched_skills": [
"Java",
"Role",
"Angular",
"Location"
],
"role_archetype": "Engineering"
}
API 1 — extract-from-jd click to toggle
{
"final_skills": [
{
"is_primary": true,
"skill_name": "Java"
},
{
"is_primary": true,
"skill_name": "Angular"
}
],
"jd_role": null,
"nano_parsed": {
"JD_type": "fail",
"archetype_override_applied": true,
"archetype_override_matched_skills": [
"Java",
"Role",
"Angular",
"Location"
],
"role_archetype": "Engineering"
},
"rejected": false,
"rejection_reason": null,
"run_id": "87719b6d-1813-4720-95d4-ca38b24d34d2",
"stage3_signals": {
"alias_found": false,
"alias_match_roles": [],
"kra_match_roles": [
{
"display_name": "Java Backend Developer",
"kra_matches": [
{
"kra_text": "service contract collaboration",
"sentence": "Timing: Full-Time contractual (As per company timings)",
"similarity": 0.3547
},
{
"kra_text": "asynchronous job processing",
"sentence": "Notice Period: 1 month or less (immediate joiner - Preferred )",
"similarity": 0.2569
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 79,
"score": 0.3058,
"slug": "java-backend-developer",
"total_count": null
},
{
"display_name": "Node.js Backend Developer",
"kra_matches": [
{
"kra_text": "asynchronous job processing",
"sentence": "Timing: Full-Time contractual (As per company timings)",
"similarity": 0.3065
},
{
"kra_text": "asynchronous job processing",
"sentence": "Notice Period: 1 month or less (immediate joiner - Preferred )",
"similarity": 0.2569
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 82,
"score": 0.2817,
"slug": "node-backend-developer",
"total_count": null
},
{
"display_name": "Kotlin Backend Developer",
"kra_matches": [
{
"kra_text": "service contract design",
"sentence": "Timing: Full-Time contractual (As per company timings)",
"similarity": 0.3337
},
{
"kra_text": "service contract design",
"sentence": "Notice Period: 1 month or less (immediate joiner - Preferred )",
"similarity": 0.2213
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 84,
"score": 0.2775,
"slug": "kotlin-server-backend-developer",
"total_count": null
},
{
"display_name": "Go Backend Developer",
"kra_matches": [
{
"kra_text": "background job processing",
"sentence": "Timing: Full-Time contractual (As per company timings)",
"similarity": 0.2911
},
{
"kra_text": "background job processing",
"sentence": "Notice Period: 1 month or less (immediate joiner - Preferred )",
"similarity": 0.2417
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 81,
"score": 0.2664,
"slug": "go-backend-developer",
"total_count": null
},
{
"display_name": ".NET Backend Developer",
"kra_matches": [
{
"kra_text": "service-level technical collaboration",
"sentence": "Timing: Full-Time contractual (As per company timings)",
"similarity": 0.3159
},
{
"kra_text": "service-level technical collaboration",
"sentence": "Notice Period: 1 month or less (immediate joiner - Preferred )",
"similarity": 0.2111
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 83,
"score": 0.2635,
"slug": "dotnet-backend-developer",
"total_count": null
}
],
"skill_match_roles": [
{
"display_name": "Fullstack Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Angular",
"Java"
],
"role_id": 435,
"score": 1.0,
"slug": "fullstack-developer",
"total_count": 2
},
{
"display_name": "Fullstack Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Angular",
"Java"
],
"role_id": 15,
"score": 1.0,
"slug": "full-stack-engineer",
"total_count": 2
},
{
"display_name": "Android Developer",
"kra_matches": null,
"matched_count": 1,
"matched_skills": [
"Java"
],
"role_id": 4,
"score": 0.5,
"slug": "android-engineer",
"total_count": 2
},
{
"display_name": "Hybrid Mobile Developer",
"kra_matches": null,
"matched_count": 1,
"matched_skills": [
"Angular"
],
"role_id": 11,
"score": 0.5,
"slug": "hybrid-mobile-developer",
"total_count": 2
},
{
"display_name": "Frontend Developer",
"kra_matches": null,
"matched_count": 1,
"matched_skills": [
"Angular"
],
"role_id": 7,
"score": 0.5,
"slug": "frontend-engineer",
"total_count": 2
}
]
},
"stage4_decision": {
"alias_collision_detected": false,
"case": "DOMAIN",
"chosen_role": {
"display_name": "Frontend Developer",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 7,
"score": 0.98,
"slug": "frontend-engineer",
"total_count": null
},
"confidence": 0.98,
"is_new_role": false,
"llm2_fired": false,
"llm2_reasoning": null,
"matched_dimensions": [
"Frontend Web Development",
"Angular-based UI Implementation",
"Java-based Application Development"
],
"matched_kras": [
"Experience with Java, Angular.js",
"Must-Have Skills: Java",
"Must-Have Skills: Angular"
],
"matched_skills": [
"Java",
"Angular",
"Angular.js"
],
"new_role_display_name": null,
"new_role_slug": null,
"queued": false,
"reasoning": "Domain=Software Engineering \u2192 sub-role angular-frontend-developer; The JD is for a Java and Angular frontend/web UI role, which best matches Frontend Developer among the candidates.",
"sub_role": {
"confidence": 0.99,
"display_name": "Angular Frontend Developer",
"reasoning": "The JD explicitly requires Angular/Angular.js, which clearly matches Angular Frontend Developer over the other framework options.",
"role_id": 90,
"slug": "angular-frontend-developer"
}
},
"stage5_updates": {
"centroid_n_after": 198,
"centroid_updated": true,
"collision_log_id": null,
"new_kra_attached": null,
"new_skills_attached": [],
"queue_entry_id": null,
"v3_pipeline_triggered": false,
"v3_role_slug": null,
"v3_run_id": null
}
}
API 2 — extract-details
{
"alias_matches": [
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1,
"existing_alias_text": "Java",
"input_term": "Java",
"matched_canonical": {
"category_id": 6,
"display_name": "Java",
"id": 1,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "java",
"sub_category_id": 96,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1067,
"existing_alias_text": "Angular",
"input_term": "Angular",
"matched_canonical": {
"category_id": 5,
"display_name": "Angular",
"id": 612,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "angular",
"sub_category_id": 1072,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
}
],
"candidate_roles": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
},
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
},
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
},
{
"display_name": "Angular Frontend Developer",
"id": 90,
"rationale": null,
"role_archetype": "Engineering",
"slug": "angular-frontend-developer",
"source": "db"
},
{
"display_name": "Sitecore Dev",
"id": 233,
"rationale": null,
"role_archetype": "Engineering",
"slug": "sitecore-dev",
"source": "db"
},
{
"display_name": "Frontend Developer",
"id": 7,
"rationale": null,
"role_archetype": null,
"slug": "frontend-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
},
{
"display_name": "Web Developer",
"id": 25,
"rationale": null,
"role_archetype": null,
"slug": "web-developer",
"source": "db"
}
],
"chosen_role": {
"display_name": "Frontend Developer",
"id": 7,
"rationale": "Domain=Software Engineering \u2192 sub-role angular-frontend-developer; The JD is for a Java and Angular frontend/web UI role, which best matches Frontend Developer among the candidates.",
"role_archetype": null,
"slug": "frontend-engineer",
"source": "db"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Java Language and JVM",
"id": 279,
"rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
"slug": "java-language-and-jvm",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Kotlin and Java",
"id": 161,
"rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
"slug": "kotlin-and-java",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile Languages",
"id": 274,
"rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
"slug": "native-mobile-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages",
"id": 1,
"rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
"slug": "programming-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Angular Component Model and Templates",
"id": 303,
"rationale": "Core Angular framework surface for building reusable UI, composing views, and wiring component behavior. This is the main application substrate for browser features in this role.",
"slug": "angular-component-model-and-templates",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Angular Frontend Developer",
"id": 90,
"rationale": null,
"role_archetype": "Engineering",
"slug": "angular-frontend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Frameworks \u0026 Libraries",
"id": 451,
"rationale": "Covers the primary software frameworks and libraries often used alongside Sitecore for building and enhancing site experiences.",
"slug": "application-frameworks-libraries",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Sitecore Dev",
"id": 233,
"rationale": null,
"role_archetype": "Engineering",
"slug": "sitecore-dev",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "UI Frameworks and Rendering",
"id": 115,
"rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
"slug": "ui-frameworks-and-rendering",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Frontend Developer",
"id": 7,
"rationale": null,
"role_archetype": null,
"slug": "frontend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
},
{
"display_name": "Web Developer",
"id": 25,
"rationale": null,
"role_archetype": null,
"slug": "web-developer",
"source": "db"
}
]
}
],
"input_final_skills": [
"Java",
"Angular"
],
"input_llm_skills": [
"Java",
"Angular"
],
"new_aliases_persisted": 0,
"run_id": "87719b6d-1813-4720-95d4-ca38b24d34d2",
"skills_detail": [
{
"aliases_in_db": [
{
"alias_text": "Java",
"alias_type": "CANONICAL",
"id": 1,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK",
"alias_type": "VERSION",
"id": 2968,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 10",
"alias_type": "VERSION",
"id": 2194,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 11",
"alias_type": "VERSION",
"id": 4,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 12",
"alias_type": "VERSION",
"id": 2196,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 13",
"alias_type": "VERSION",
"id": 2197,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 14",
"alias_type": "VERSION",
"id": 2198,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 15",
"alias_type": "VERSION",
"id": 2199,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 16",
"alias_type": "VERSION",
"id": 2200,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 17",
"alias_type": "VERSION",
"id": 5,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 18",
"alias_type": "VERSION",
"id": 2202,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 19",
"alias_type": "VERSION",
"id": 2203,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 20",
"alias_type": "VERSION",
"id": 2204,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 21",
"alias_type": "VERSION",
"id": 6,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 5",
"alias_type": "VERSION",
"id": 2189,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 6",
"alias_type": "VERSION",
"id": 2190,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 7",
"alias_type": "VERSION",
"id": 2191,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 8",
"alias_type": "VERSION",
"id": 3,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 9",
"alias_type": "VERSION",
"id": 2193,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.0",
"alias_type": "VERSION",
"id": 11,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.1",
"alias_type": "VERSION",
"id": 12,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.2",
"alias_type": "VERSION",
"id": 13,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.3",
"alias_type": "VERSION",
"id": 14,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.4",
"alias_type": "VERSION",
"id": 15,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.5",
"alias_type": "VERSION",
"id": 16,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.6",
"alias_type": "VERSION",
"id": 17,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.7",
"alias_type": "VERSION",
"id": 18,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.8",
"alias_type": "VERSION",
"id": 19,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 10",
"alias_type": "VERSION",
"id": 2211,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 11",
"alias_type": "VERSION",
"id": 8,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 12",
"alias_type": "VERSION",
"id": 2213,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 13",
"alias_type": "VERSION",
"id": 2214,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 14",
"alias_type": "VERSION",
"id": 2215,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 15",
"alias_type": "VERSION",
"id": 2216,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 16",
"alias_type": "VERSION",
"id": 2217,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 17",
"alias_type": "VERSION",
"id": 9,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 18",
"alias_type": "VERSION",
"id": 2219,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 19",
"alias_type": "VERSION",
"id": 2220,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 20",
"alias_type": "VERSION",
"id": 2221,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 21",
"alias_type": "VERSION",
"id": 10,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 5",
"alias_type": "VERSION",
"id": 288,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 6",
"alias_type": "VERSION",
"id": 289,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 7",
"alias_type": "VERSION",
"id": 290,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 8",
"alias_type": "VERSION",
"id": 7,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 9",
"alias_type": "VERSION",
"id": 2210,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java11",
"alias_type": "VERSION",
"id": 2976,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java17",
"alias_type": "VERSION",
"id": 2977,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java21",
"alias_type": "VERSION",
"id": 2978,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java8",
"alias_type": "VERSION",
"id": 2971,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 11",
"alias_type": "VERSION",
"id": 21,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 17",
"alias_type": "VERSION",
"id": 22,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 21",
"alias_type": "VERSION",
"id": 23,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 8",
"alias_type": "VERSION",
"id": 20,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 11",
"alias_type": "VERSION",
"id": 1512,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 17",
"alias_type": "VERSION",
"id": 1513,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 21",
"alias_type": "VERSION",
"id": 1514,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 4",
"alias_type": "VERSION",
"id": 1496,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 5",
"alias_type": "VERSION",
"id": 1497,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 6",
"alias_type": "VERSION",
"id": 1498,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 7",
"alias_type": "VERSION",
"id": 1499,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 8",
"alias_type": "VERSION",
"id": 1500,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java lts",
"alias_type": "VERSION",
"id": 3122,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-11",
"alias_type": "VERSION",
"id": 1515,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-17",
"alias_type": "VERSION",
"id": 1516,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-21",
"alias_type": "VERSION",
"id": 1517,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-4",
"alias_type": "VERSION",
"id": 1501,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-5",
"alias_type": "VERSION",
"id": 1502,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-6",
"alias_type": "VERSION",
"id": 1503,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-7",
"alias_type": "VERSION",
"id": 1504,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-8",
"alias_type": "VERSION",
"id": 1505,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java11",
"alias_type": "VERSION",
"id": 1506,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java17",
"alias_type": "VERSION",
"id": 1507,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java21",
"alias_type": "VERSION",
"id": 1508,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java4",
"alias_type": "VERSION",
"id": 1482,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java5",
"alias_type": "VERSION",
"id": 1483,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java6",
"alias_type": "VERSION",
"id": 1484,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java7",
"alias_type": "VERSION",
"id": 1485,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java8",
"alias_type": "VERSION",
"id": 1486,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 11",
"alias_type": "VERSION",
"id": 1509,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 17",
"alias_type": "VERSION",
"id": 1510,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 21",
"alias_type": "VERSION",
"id": 1511,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 4",
"alias_type": "VERSION",
"id": 1487,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 5",
"alias_type": "VERSION",
"id": 1488,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 6",
"alias_type": "VERSION",
"id": 1489,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 7",
"alias_type": "VERSION",
"id": 1490,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 8",
"alias_type": "VERSION",
"id": 1491,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk11",
"alias_type": "VERSION",
"id": 1492,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk17",
"alias_type": "VERSION",
"id": 1493,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk21",
"alias_type": "VERSION",
"id": 1494,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk4",
"alias_type": "VERSION",
"id": 1477,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk5",
"alias_type": "VERSION",
"id": 1478,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk6",
"alias_type": "VERSION",
"id": 1479,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk7",
"alias_type": "VERSION",
"id": 1480,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk8",
"alias_type": "VERSION",
"id": 1481,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jvm21",
"alias_type": "VERSION",
"id": 1495,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 6,
"display_name": "Java",
"id": 1,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "java",
"sub_category_id": 96,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Java Language and JVM",
"id": 279,
"rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
"slug": "java-language-and-jvm",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Kotlin and Java",
"id": 161,
"rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
"slug": "kotlin-and-java",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile Languages",
"id": 274,
"rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
"slug": "native-mobile-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages",
"id": 1,
"rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
"slug": "programming-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
]
}
],
"input_skill": "Java",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Angular",
"alias_type": "CANONICAL",
"id": 1067,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 1",
"alias_type": "VERSION",
"id": 1068,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 1.x",
"alias_type": "VERSION",
"id": 1086,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 10",
"alias_type": "VERSION",
"id": 1077,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 11",
"alias_type": "VERSION",
"id": 1078,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 12",
"alias_type": "VERSION",
"id": 1079,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 13",
"alias_type": "VERSION",
"id": 1080,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 14",
"alias_type": "VERSION",
"id": 1081,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 15",
"alias_type": "VERSION",
"id": 1082,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 16",
"alias_type": "VERSION",
"id": 1083,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 17",
"alias_type": "VERSION",
"id": 1084,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 2",
"alias_type": "VERSION",
"id": 1069,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 2+",
"alias_type": "VERSION",
"id": 1085,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 4",
"alias_type": "VERSION",
"id": 1070,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 5",
"alias_type": "VERSION",
"id": 1071,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 6",
"alias_type": "VERSION",
"id": 1072,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 7",
"alias_type": "VERSION",
"id": 1073,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 8",
"alias_type": "VERSION",
"id": 1074,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Angular 9",
"alias_type": "VERSION",
"id": 1075,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "AngularJS",
"alias_type": "VERSION",
"id": 1076,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 1",
"alias_type": "VERSION",
"id": 3205,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 1.x",
"alias_type": "VERSION",
"id": 3208,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 10",
"alias_type": "VERSION",
"id": 2098,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 11",
"alias_type": "VERSION",
"id": 2099,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 12",
"alias_type": "VERSION",
"id": 2100,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 13",
"alias_type": "VERSION",
"id": 2101,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 14",
"alias_type": "VERSION",
"id": 2102,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 15",
"alias_type": "VERSION",
"id": 2103,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 16",
"alias_type": "VERSION",
"id": 2104,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 17",
"alias_type": "VERSION",
"id": 2105,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 18",
"alias_type": "VERSION",
"id": 4019,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 19",
"alias_type": "VERSION",
"id": 4020,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 2",
"alias_type": "VERSION",
"id": 2089,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 2+",
"alias_type": "VERSION",
"id": 2106,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 2.x",
"alias_type": "VERSION",
"id": 3209,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 3",
"alias_type": "VERSION",
"id": 2090,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 4",
"alias_type": "VERSION",
"id": 2091,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 5",
"alias_type": "VERSION",
"id": 2092,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 6",
"alias_type": "VERSION",
"id": 2093,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 7",
"alias_type": "VERSION",
"id": 2094,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 8",
"alias_type": "VERSION",
"id": 2095,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular 9",
"alias_type": "VERSION",
"id": 2096,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular17",
"alias_type": "VERSION",
"id": 2097,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angular2",
"alias_type": "VERSION",
"id": 3204,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "angularjs",
"alias_type": "VERSION",
"id": 3207,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "ng",
"alias_type": "VERSION",
"id": 2088,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "ng1",
"alias_type": "VERSION",
"id": 3202,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "ng2",
"alias_type": "VERSION",
"id": 3203,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Angular",
"id": 612,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "angular",
"sub_category_id": 1072,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Angular Component Model and Templates",
"id": 303,
"rationale": "Core Angular framework surface for building reusable UI, composing views, and wiring component behavior. This is the main application substrate for browser features in this role.",
"slug": "angular-component-model-and-templates",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Angular Frontend Developer",
"id": 90,
"rationale": null,
"role_archetype": "Engineering",
"slug": "angular-frontend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Frameworks \u0026 Libraries",
"id": 451,
"rationale": "Covers the primary software frameworks and libraries often used alongside Sitecore for building and enhancing site experiences.",
"slug": "application-frameworks-libraries",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Sitecore Dev",
"id": 233,
"rationale": null,
"role_archetype": "Engineering",
"slug": "sitecore-dev",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "UI Frameworks and Rendering",
"id": 115,
"rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
"slug": "ui-frameworks-and-rendering",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Frontend Developer",
"id": 7,
"rationale": null,
"role_archetype": null,
"slug": "frontend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
},
{
"display_name": "Web Developer",
"id": 25,
"rationale": null,
"role_archetype": null,
"slug": "web-developer",
"source": "db"
}
]
}
],
"input_skill": "Angular",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
}
],
"unmatched_skills": []
}
API 3 — final-role-output
{
"chosen_role": {
"display_name": "Frontend Developer",
"id": 7,
"rationale": "Domain=Software Engineering \u2192 sub-role angular-frontend-developer; The JD is for a Java and Angular frontend/web UI role, which best matches Frontend Developer among the candidates.",
"role_archetype": null,
"slug": "frontend-engineer",
"source": "db"
},
"chosen_role_resolution": "in_db",
"final_input_skills": [
{
"skill": "Java",
"tag": "in_db"
},
{
"skill": "Angular",
"tag": "in_db"
}
],
"llm_cost_api1_usd": null,
"llm_cost_api2_usd": null,
"llm_cost_api3_usd": null,
"llm_cost_total_usd": null,
"persistence": {
"items": [
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Java Language and JVM",
"id": 279,
"rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
"slug": "java-language-and-jvm",
"source": "db"
},
"dimension_id": 279,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Kotlin and Java",
"id": 161,
"rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
"slug": "kotlin-and-java",
"source": "db"
},
"dimension_id": 161,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile Languages",
"id": 274,
"rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
"slug": "native-mobile-languages",
"source": "db"
},
"dimension_id": 274,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"dimension_id": 267,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages",
"id": 1,
"rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
"slug": "programming-languages",
"source": "db"
},
"dimension_id": 1,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"dimension_id": 21,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Angular Component Model and Templates",
"id": 303,
"rationale": "Core Angular framework surface for building reusable UI, composing views, and wiring component behavior. This is the main application substrate for browser features in this role.",
"slug": "angular-component-model-and-templates",
"source": "db"
},
"dimension_id": 303,
"input_skill": "Angular",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Angular Frontend Developer",
"id": 90,
"rationale": null,
"role_archetype": "Engineering",
"slug": "angular-frontend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 612,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Frameworks \u0026 Libraries",
"id": 451,
"rationale": "Covers the primary software frameworks and libraries often used alongside Sitecore for building and enhancing site experiences.",
"slug": "application-frameworks-libraries",
"source": "db"
},
"dimension_id": 451,
"input_skill": "Angular",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Sitecore Dev",
"id": 233,
"rationale": null,
"role_archetype": "Engineering",
"slug": "sitecore-dev",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 612,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 7,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "UI Frameworks and Rendering",
"id": 115,
"rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
"slug": "ui-frameworks-and-rendering",
"source": "db"
},
"dimension_id": 115,
"input_skill": "Angular",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Frontend Developer",
"id": 7,
"rationale": null,
"role_archetype": null,
"slug": "frontend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
},
{
"display_name": "Web Developer",
"id": 25,
"rationale": null,
"role_archetype": null,
"slug": "web-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 612,
"skill_tag": "in_db",
"skipped_reason": null
}
],
"new_skills_created": 0,
"role_dimension_saved": 0,
"skill_dimension_saved": 0,
"skipped": 0
},
"planner_output": null,
"run_id": "87719b6d-1813-4720-95d4-ca38b24d34d2"
}
LLM Calls
Every model call made for this run, in pipeline order. Click a card to see the model's response.