Pipeline run
4068b4ae-ac17-4065-8391-2d4afee7d9ed
Client output enrichment
v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA descriptionvocab breakdown (legacy)
Signals
Post-classification
Captured for admin review
• Work with product owners and designers to refine, estimate and prioritise Jira tickets • Attend and contribute to agile ceremonies and platform discussions • Collaborate with other Android engineers…
1 POST /skills/extract-from-jd
2 POST /skills/extract-details
3 POST /skills/final-role-output
Native Mobile Developer
→Android Developer
sub-role · 1.00 CASE Aslug: native-mobile-developer · id: 75 · source: db · sub-role slug: android-engineer
Exact alias hit on android-engineer (1.0) — no other alias at this confidence; skill_top full-stack-engineer 0.18 does not contradict
Resolution:
in_db
— role exists in library; skill↔dim and role↔dim links saved when applicable.
Job description
Role: Android Engineer Department: Technology Reporting To: Engineering Manager Contract Location: UK Working Style: Fully flexible remote working model Hours of Work: Mon - Fri, 9:00 - 17:30 Travel Requirements: 1-3 time per year About Jaja Our Mission: Empowering our customers to buy, borrow, and build—driven by technology, fuelled by data, and built for the future. Our Company Values: Care Deeply, Adapt & Thrive, Challenge Everything, Go for It! Own It, Make It Simple. Jaja is an innovative UK-based consumer finance business, initially launching a digital credit card in 2018, with a pipeline of consumer finance solutions in development. With backing from major private equity funds, Jaja has grown rapidly, recently acquiring a £530m credit card portfolio from the Bank of Ireland and launching a significant partnership with Asda in the UK. We are on a mission to redefine the consumer finance experience and liberate customers from unnecessary complexity, wasted time, and frustration. Or as we say it, Make It Simple. We aim to delight our customers by making their experience simpler, more enjoyable, and more intelligent treating them fairly and giving them greater control over their finances. Why Join Us? This is an opportunity to make a significant impact in a growing business on a mission to transform the consumer finance industry forever. Join our Technology team, working in agile squads with passionate colleagues, to deliver top-tier technical solutions for our mobile-first consumer finance platform in a fast-paced environment. About The Role As an Android Engineer, you will deliver a substantial backlog of varied and exciting changes to our native Android app by providing high-quality technical solutions. This will be a combination of both business-led features and platform-led technical initiatives. Key Responsibilities • Work with product owners and designers to refine, estimate and prioritise Jira tickets • Attend and contribute to agile ceremonies and platform discussions • Collaborate with other Android engineers through the code peer review process • Deliver code that is easy to understand, maintain and test • Collaborate closely with engineers from other platforms About You We’re seeking passionate individuals who align with our values—caring deeply about customer experience, adapting to challenges, and owning their work to deliver simple, high-quality solutions. The successful candidate must reside in Europe and have the legal right to work in the jurisdiction they live in and meet the following criteria: Required Skills & Experience • Enthusiasm to learn and deliver high-quality software. • Experience in agile teams with practices like pairing and code reviews. • Proven experience developing consumer-facing Android apps using Kotlin. • Understanding of design patterns, SOLID, and clean code principles. • Ability to write unit tests with mocking frameworks. • Proficiency in reactive programming using Kotlin Flow. • Experience building modern UIs with Jetpack Compose. • Knowledge of dependency injection. • Familiarity with crash report analysis, bug fixing, and performance optimisation. • Experience with tools such as Jira, Git, and Bitrise. Desired Skills & Experience • Experience with Koin, Realm, Room, Coroutines, Jetpack Navigation, Compose Navigation, Mockito, JUnit, Espresso, or Clean/MVVM architecture. • Knowledge of delivering accessibility features for users. • Familiarity with design tools like Sketch or Figma. • Experience with other front-end platforms such as iOS or Web (Angular). What's in It for You? • Competitive salary based on industry benchmarking. • Fully flexible remote working model. • Pension Salary Exchange scheme to enhance pension contributions. • Participation in our annual bonus scheme. • 25 days annual leave (FTE) plus UK bank holidays (increasing by 1 day per full calendar year worked, up to 30 days). • An additional day off for your birthday each year. • Private medical cover through Vitality. (UK only) • 4x life assurance cover. • Family-friendly policies with enhanced support. • Free access to our confidential Employee Assistance Programme. • Access to company perks, competitions, and recognition schemes.
Skills from this JD
Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Project Management Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- Agile (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Methodology
- Sub-category
- Agile
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Agile appears in a large share of software job descriptions and is a standard hiring-pipeline requirement; Scrum/Kanban are commonly listed alongside it, showing broad market adoption.
Skill profile (library / DB)
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 8
- Sub-category id
- 3594
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
-
Software Concepts, Patterns & Practices Catalog dimension db id 478
Library dimension (catalog)
Roles linked in library: Engineering Manager
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Software Concepts, Patterns & Practices
software-concepts-patterns-practices
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Code Review (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- SoftSkill
- Sub-category
- Code Review
- Confidence
- 0.96
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Code review is a standard hiring-pipeline requirement in engineering JDs and is built into major platforms like GitHub/GitLab pull-request workflows, indicating broad adoption.
Skill profile (library / DB)
- Skill nature
- PRACTICE
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 58
- Sub-category id
- 364
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Soft Skills
- Sub-category
- general
- Skill nature
- PRACTICE
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Aliases — catalog
- Android (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Platform
- Vendor
- License
- apache_2
- Year introduced
- 2008
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Android appears in large volumes of mobile job postings and remains a standard platform in hiring pipelines; Google continues active platform releases and OEM ecosystem support, indicating broad adoption.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 1201
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Kotlin (CANONICAL) primary
- kotlin 1.9 (VERSION)
- kotlin 1.9.0 (VERSION)
- kotlin 1.9.1 (VERSION)
- kotlin 1.9.10 (VERSION)
- kotlin 1.9.x (VERSION)
- kotlin-1.9 (VERSION)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Language
- Sub-category
- Programming Language
- Vendor
- JetBrains
- License
- apache_2
- Year introduced
- 2011
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Kotlin appears in many Android, backend, and multiplatform job postings, and JetBrains reports strong ecosystem growth; it’s a mainstream hiring skill rather than niche.
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
-
Programming Languages Catalog dimension db id 1
Library dimension (catalog)
Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer
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 saved |
|
Programming Languages
programming-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- design patterns (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Software Design Patterns
- Confidence
- 0.94
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Design patterns are a standard interview/JD topic across backend and frontend roles; job postings commonly mention them alongside OOP and system design, and they remain core in books, courses, and code reviews.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 1247
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- SOLID (CANONICAL) primary
- Solid (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Object Oriented Design Principles
- Vendor
- SolidJS
- License
- mit
- Year introduced
- 2018
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: SOLID is a standard OOP design-principles topic in many software engineering JDs and interview loops; it’s widely taught and referenced in code reviews, though not a standalone tool.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 2976
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Application Architecture Patterns Catalog dimension db id 293
Library dimension (catalog)
Roles linked in library: .NET Backend Developer, Python Backend Developer
-
Service Architecture and Design Patterns Catalog dimension db id 18
Library dimension (catalog)
Roles linked in library: Backend Developer, Java Backend Developer, Kotlin Backend Developer, Node.js Backend Developer, PHP Backend Developer, Ruby Backend Developer, Scala Backend Developer
-
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 |
|---|---|---|---|
|
Application Architecture Patterns
application-architecture-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Service Architecture and Design Patterns
service-architecture-and-design-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
UI Frameworks and Rendering
ui-frameworks-and-rendering
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Concepts
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Aliases — catalog
- Unit Testing (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Methodology
- Sub-category
- Testing Methodology
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Unit testing is a standard hiring requirement across software JDs and appears in mainstream frameworks/docs; GitHub and Stack Overflow usage remain consistently high, with no successor replacing it.
Skill profile (library / DB)
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 8
- Sub-category id
- 44
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Testing Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Programming Languages
- Sub-category
- general
- Skill nature
- LANGUAGE
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Concepts
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- Jetpack Compose (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Ui Framework
- Vendor
- License
- apache_2
- Year introduced
- 2020
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Jetpack Compose appears in many Android job postings and Google positions it as the modern UI toolkit replacing XML-based Views, but it is not yet universal across Android teams.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- EMERGING
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 341
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Android UI Frameworks Catalog dimension db id 162
Library dimension (catalog)
Roles linked in library: Android Developer, Native Mobile Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Android UI Frameworks
android-ui-frameworks
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- dependency injection (CANONICAL) primary
- Dependency Injection (CANONICAL)
- Dependency injection (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Dependency Injection
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Common in JDs for Java/.NET/TypeScript roles and supported by major frameworks like Spring, ASP.NET Core, and Angular; it’s a standard architectural pattern rather than a niche tool.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 2482
- 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
-
App Architecture and Dependency Injection Catalog dimension db id 94
Library dimension (catalog)
Roles linked in library: Android Developer, iOS Developer
-
Application Architecture Patterns Catalog dimension db id 293
Library dimension (catalog)
Roles linked in library: .NET Backend Developer, Python Backend Developer
-
Application Architecture and Code Organization Catalog dimension db id 220
Library dimension (catalog)
Roles linked in library: Fullstack Developer, Fullstack Developer
-
Backend Application Architecture and Code Organization Catalog dimension db id 366
Library dimension (catalog)
Roles linked in library: Go Backend Developer
-
Flutter App Architecture Catalog dimension db id 316
Library dimension (catalog)
Roles linked in library: Flutter Developer
-
Ionic App Architecture Catalog dimension db id 384
Library dimension (catalog)
Roles linked in library: Ionic Developer
-
Mobile Architecture and Code Organization Catalog dimension db id 170
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, React Native Developer
-
Native Mobile App Architecture and Dependency Injection Catalog dimension db id 273
Library dimension (catalog)
Roles linked in library: Native Mobile Developer
-
PHP and Magento Extension Points Catalog dimension db id 391
Library dimension (catalog)
Roles linked in library: Magento Dev
-
Service Architecture and Design Patterns Catalog dimension db id 18
Library dimension (catalog)
Roles linked in library: Backend Developer, Java Backend Developer, Kotlin Backend Developer, Node.js Backend Developer, PHP Backend Developer, Ruby Backend Developer, Scala Backend 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) |
|
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Application Architecture Patterns
application-architecture-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Application Architecture and Code Organization
application-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Backend Application Architecture and Code Organization
backend-application-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Flutter App Architecture
flutter-app-architecture
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Ionic App Architecture
ionic-app-architecture
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
|
PHP and Magento Extension Points
php-and-magento-extension-points
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Service Architecture and Design Patterns
service-architecture-and-design-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Git (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Tool
- Sub-category
- Version Control Tool
- Vendor
- Linus Torvalds
- License
- gpl_v2
- Year introduced
- 2005
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Git is a hiring-pipeline staple: it appears in the vast majority of software engineering job descriptions and is the default VCS on GitHub/GitLab/Bitbucket.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 13
- Sub-category id
- 730
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- CI/CD Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- FAST
- Typical lifespan
- SHORT_LIVED
- Version strategy
- VERSIONED
Aliases — catalog
- Koin (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Dependency Injection Framework
- Vendor
- InsertKoin
- License
- apache_2
- Year introduced
- 2018
- Confidence
- 0.90
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Koin appears in some Kotlin Android/backend JDs, but JD volume is far below Dagger/Hilt and it remains a specialized DI choice rather than a default stack item.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 1234
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Realm (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Datastore
- Sub-category
- Object Database
- Vendor
- Realm
- License
- apache_2
- Year introduced
- 2014
- Confidence
- 0.96
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Realm appears in mobile/backend JDs far less than SQLite/PostgreSQL; market signal is its niche use in legacy React Native/Android apps, while MongoDB has shifted focus to Atlas Device Sync and announced deprecation of the standalone Realm SDK path.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 3
- Sub-category id
- 327
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Local Persistence and Offline Behavior Catalog dimension db id 85
Library dimension (catalog)
Roles linked in library: Android Developer, Flutter Developer, Hybrid Mobile Developer, Native Mobile Developer, React Native Developer, iOS Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- Room (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Library
- Sub-category
- Persistence Library
- Vendor
- License
- apache_2
- Year introduced
- 2016
- Confidence
- 0.88
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Room is Google’s Android persistence library and appears frequently in Android job descriptions and official Android docs as the recommended SQLite abstraction, indicating broad adoption.
Skill profile (library / DB)
- Skill nature
- LIBRARY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 7
- Sub-category id
- 702
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Local Persistence and Offline Behavior Catalog dimension db id 85
Library dimension (catalog)
Roles linked in library: Android Developer, Flutter Developer, Hybrid Mobile Developer, Native Mobile Developer, React Native Developer, iOS Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- coroutines (CANONICAL) primary
- Coroutines (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Concurrency Concept
- Confidence
- 0.88
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Coroutines are widely used in modern JDs for Kotlin, Python async, and JavaScript async/await; they’re a common concurrency concept rather than a niche tool.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 7
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Backend Concurrency and Async Programming Catalog dimension db id 387
Library dimension (catalog)
Roles linked in library: Kotlin Backend Developer
-
Concurrency and Async Workflows Catalog dimension db id 292
Library dimension (catalog)
Roles linked in library: .NET Backend Developer, Python Backend Developer
-
Kotlin and Java Catalog dimension db id 161
Library dimension (catalog)
Roles linked in library: Android Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Backend Concurrency and Async Programming
backend-concurrency-and-async-programming
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Concurrency and Async Workflows
concurrency-and-async-workflows
|
✓ | — | 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) |
Aliases — catalog
- Jetpack Navigation (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Navigation Framework
- Vendor
- License
- apache_2
- Year introduced
- 2018
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Common in Android job descriptions and Google’s official Android docs recommend it as the standard navigation component, replacing ad hoc fragment transactions for new apps.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 1538
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Screen Navigation and State Catalog dimension db id 83
Library dimension (catalog)
Roles linked in library: Android Developer, Flutter Developer, Fullstack Developer, Fullstack Developer, Hybrid Mobile Developer, Ionic Developer, Native Mobile Developer, React Native Developer, iOS Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Screen Navigation and State
screen-navigation-and-state
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Android Development
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- Mockito (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Library
- Sub-category
- Mocking Library
- Vendor
- Mockito
- License
- apache_2
- Year introduced
- 2007
- Confidence
- 0.96
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Mockito is a standard Java testing library, commonly listed in Java/Spring job descriptions and widely used in enterprise test suites; no vendor sunset or replacement trend is evident.
Skill profile (library / DB)
- Skill nature
- LIBRARY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 7
- Sub-category id
- 2252
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Flutter Testing Frameworks Catalog dimension db id 324
Library dimension (catalog)
Roles linked in library: Flutter Developer
-
Testing and Verification Catalog dimension db id 284
Library dimension (catalog)
Roles linked in library: Go Backend Developer, Java Backend Developer, Kotlin Backend Developer, Ruby Backend Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Flutter Testing Frameworks
flutter-testing-frameworks
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Testing and Verification
testing-and-verification
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Testing Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- Espresso (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Ui Testing Framework
- Vendor
- License
- apache_2
- Year introduced
- 2013
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Android UI testing staple; Espresso appears in many Android job descriptions and is the standard Google-backed framework for instrumented UI tests.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 1542
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Android Testing Frameworks Catalog dimension db id 164
Library dimension (catalog)
Roles linked in library: Android Developer
-
Mobile Testing Frameworks Catalog dimension db id 168
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Native Mobile Developer, React Native Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Android Testing Frameworks
android-testing-frameworks
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Mobile Testing Frameworks
mobile-testing-frameworks
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- MVVM (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Architecture
- Sub-category
- Presentation Architecture
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: MVVM is widely used in mobile and desktop JDs, especially Android, WPF, and SwiftUI ecosystems; it remains a common hiring keyword rather than a sunset pattern.
Skill profile (library / DB)
- Skill nature
- PATTERN
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 1
- Sub-category id
- 662
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
App Architecture and Dependency Injection Catalog dimension db id 94
Library dimension (catalog)
Roles linked in library: Android Developer, iOS Developer
-
Mobile Architecture and Code Organization Catalog dimension db id 170
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, React Native Developer
-
Native Mobile App Architecture and Dependency Injection Catalog dimension db id 273
Library dimension (catalog)
Roles linked in library: Native Mobile Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Web Development Concepts
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Design Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Design Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- iOS (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Operating Platform
- Vendor
- Apple Inc.
- License
- proprietary
- Year introduced
- 2007
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: iOS is a mainstream mobile platform with high JD volume for Swift/iOS roles across consumer and enterprise apps; Apple continues active platform support and releases, indicating broad adoption rather than niche use.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 1200
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | 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
-
Frameworks & Libraries Catalog dimension db id 360
Library dimension (catalog)
Roles linked in library: Drupal Dev, Engineering Manager
-
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) |
|
Frameworks & Libraries
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 skipped (dimension not under chosen role) |
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 |
|---|---|---|---|---|---|---|
| Agile | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Agile | in_db |
Software Concepts, Patterns & Practices
software-concepts-patterns-practices
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Code Review | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Android | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Kotlin | in_db |
Java Language and JVM
java-language-and-jvm
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Kotlin | in_db |
Kotlin and Java
kotlin-and-java
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Kotlin | in_db |
Native Mobile Languages
native-mobile-languages
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Kotlin | in_db |
Programming Languages
programming-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Design Patterns | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SOLID | in_db |
Application Architecture Patterns
application-architecture-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SOLID | in_db |
Service Architecture and Design Patterns
service-architecture-and-design-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SOLID | in_db |
UI Frameworks and Rendering
ui-frameworks-and-rendering
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Unit Testing | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Jetpack Compose | in_db |
Android UI Frameworks
android-ui-frameworks
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Dependency Injection | in_db |
Angular Component Model and Templates
angular-component-model-and-templates
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Application Architecture Patterns
application-architecture-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Application Architecture and Code Organization
application-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Backend Application Architecture and Code Organization
backend-application-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Flutter App Architecture
flutter-app-architecture
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Ionic App Architecture
ionic-app-architecture
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Dependency Injection | in_db |
PHP and Magento Extension Points
php-and-magento-extension-points
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Dependency Injection | in_db |
Service Architecture and Design Patterns
service-architecture-and-design-patterns
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Git | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Koin | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Realm | in_db |
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Room | in_db |
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Coroutines | in_db |
Backend Concurrency and Async Programming
backend-concurrency-and-async-programming
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Coroutines | in_db |
Concurrency and Async Workflows
concurrency-and-async-workflows
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Coroutines | in_db |
Kotlin and Java
kotlin-and-java
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Jetpack Navigation | in_db |
Screen Navigation and State
screen-navigation-and-state
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Mockito | in_db |
Flutter Testing Frameworks
flutter-testing-frameworks
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Mockito | in_db |
Testing and Verification
testing-and-verification
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Espresso | in_db |
Android Testing Frameworks
android-testing-frameworks
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Espresso | in_db |
Mobile Testing Frameworks
mobile-testing-frameworks
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| MVVM | in_db |
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| MVVM | in_db |
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| MVVM | in_db |
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| iOS | in_db |
React Frontend Development
d_init_01
|
✓ | — | 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 |
Frameworks & Libraries
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 skipped (dimension not under chosen role) |
Library artifacts (this run)
| Kind | Detail | DB id |
|---|---|---|
| canonical_skill_proposed | Jira | type=Project Management Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Pair Programming | type=Soft Skills subtype=general nature=PRACTICE lifespan=EVERGREEN | |
| canonical_skill_proposed | Clean Code | type=Concepts subtype=general nature=CONCEPT lifespan=EVERGREEN | |
| canonical_skill_proposed | Mocking Frameworks | type=Testing Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Kotlin Flow | type=Programming Languages subtype=general nature=LANGUAGE lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Reactive Programming | type=Concepts subtype=general nature=CONCEPT lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Bitrise | type=CI/CD Tools subtype=general nature=TOOL lifespan=SHORT_LIVED | |
| canonical_skill_proposed | Compose Navigation | type=Android Development subtype=general nature=CONCEPT lifespan=MULTI_YEAR | |
| canonical_skill_proposed | JUnit | type=Testing Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Accessibility | type=Web Development Concepts subtype=general nature=CONCEPT lifespan=EVERGREEN | |
| canonical_skill_proposed | Sketch | type=Design Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Figma | type=Design Tools subtype=general nature=TOOL lifespan=MULTI_YEAR |
nano JD Parser — gpt-4.1-nano click to toggle
Show raw JSON
{
"JD_type": "pass",
"about_company": {
"source_marker": {
"first_5_words": "Jaja is an innovative UK-based",
"last_5_words": "partnership with Asda in the UK."
},
"text": "Jaja is an innovative UK-based consumer finance business, initially launching a digital credit card in 2018, with a pipeline of consumer finance solutions in development. With backing from major private equity funds, Jaja has grown rapidly, recently acquiring a \u00a3530m credit card portfolio from the Bank of Ireland and launching a significant partnership with Asda in the UK.",
"word_count": 64
},
"certifications": [],
"company_name": "Jaja",
"ctc": null,
"domain": {
"primary": {
"aliases": [
"FinTech",
"Consumer Finance"
],
"domain": "Financial Services"
},
"secondary": null
},
"education": [],
"experience": {
"max": null,
"min": null,
"raw": null
},
"job_locations": [
{
"aliases": [],
"city": null,
"country": "UK",
"state": null,
"work_mode": "remote"
}
],
"role": "Android Engineer",
"role_aliases": [
"Android Developer",
"Mobile Engineer"
],
"role_archetype": "Engineering",
"roles_and_responsibilities": [
{
"bullet_count": 5,
"heading": "Key Responsibilities",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Work with product owners",
"last_5_words": "engineers from other platforms"
},
"text": "\u2022 Work with product owners and designers to refine, estimate and prioritise Jira tickets\n\u2022 Attend and contribute to agile ceremonies and platform discussions\n\u2022 Collaborate with other Android engineers through the code peer review process\n\u2022 Deliver code that is easy to understand, maintain and test\n\u2022 Collaborate closely with engineers from other platforms",
"word_count": 41
},
{
"bullet_count": 0,
"heading": "About You",
"heading_was_present": true,
"source_marker": {
"first_5_words": "We\u2019re seeking passionate individuals who",
"last_5_words": "the following criteria:"
},
"text": "We\u2019re seeking passionate individuals who align with our values\u2014caring deeply about customer experience, adapting to challenges, and owning their work to deliver simple, high-quality solutions. The successful candidate must reside in Europe and have the legal right to work in the jurisdiction they live in and meet the following criteria:",
"word_count": 49
},
{
"bullet_count": 10,
"heading": "Required Skills \u0026 Experience",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Enthusiasm to learn and deliver",
"last_5_words": "Jira, Git, and Bitrise."
},
"text": "\u2022 Enthusiasm to learn and deliver high-quality software.\n\u2022 Experience in agile teams with practices like pairing and code reviews.\n\u2022 Proven experience developing consumer-facing Android apps using Kotlin.\n\u2022 Understanding of design patterns, SOLID, and clean code principles.\n\u2022 Ability to write unit tests with mocking frameworks.\n\u2022 Proficiency in reactive programming using Kotlin Flow.\n\u2022 Experience building modern UIs with Jetpack Compose.\n\u2022 Knowledge of dependency injection.\n\u2022 Familiarity with crash report analysis, bug fixing, and performance optimisation.\n\u2022 Experience with tools such as Jira, Git, and Bitrise.",
"word_count": 98
},
{
"bullet_count": 4,
"heading": "Desired Skills \u0026 Experience",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Experience with Koin, Realm, Room",
"last_5_words": "or Web (Angular)."
},
"text": "\u2022 Experience with Koin, Realm, Room, Coroutines, Jetpack Navigation, Compose Navigation, Mockito, JUnit, Espresso, or Clean/MVVM architecture.\n\u2022 Knowledge of delivering accessibility features for users.\n\u2022 Familiarity with design tools like Sketch or Figma.\n\u2022 Experience with other front-end platforms such as iOS or Web (Angular).",
"word_count": 56
}
],
"urls": []
}
API 1 — extract-from-jd click to toggle
{
"final_skills": [
{
"is_primary": true,
"skill_name": "Jira"
},
{
"is_primary": true,
"skill_name": "Agile"
},
{
"is_primary": true,
"skill_name": "Code Review"
},
{
"is_primary": true,
"skill_name": "Pair Programming"
},
{
"is_primary": true,
"skill_name": "Android"
},
{
"is_primary": true,
"skill_name": "Kotlin"
},
{
"is_primary": true,
"skill_name": "Design Patterns"
},
{
"is_primary": true,
"skill_name": "SOLID"
},
{
"is_primary": true,
"skill_name": "Clean Code"
},
{
"is_primary": true,
"skill_name": "Unit Testing"
},
{
"is_primary": true,
"skill_name": "Mocking Frameworks"
},
{
"is_primary": true,
"skill_name": "Kotlin Flow"
},
{
"is_primary": true,
"skill_name": "Reactive Programming"
},
{
"is_primary": true,
"skill_name": "Jetpack Compose"
},
{
"is_primary": true,
"skill_name": "Dependency Injection"
},
{
"is_primary": true,
"skill_name": "Git"
},
{
"is_primary": true,
"skill_name": "Bitrise"
},
{
"is_primary": false,
"skill_name": "Koin"
},
{
"is_primary": false,
"skill_name": "Realm"
},
{
"is_primary": false,
"skill_name": "Room"
},
{
"is_primary": false,
"skill_name": "Coroutines"
},
{
"is_primary": false,
"skill_name": "Jetpack Navigation"
},
{
"is_primary": false,
"skill_name": "Compose Navigation"
},
{
"is_primary": false,
"skill_name": "Mockito"
},
{
"is_primary": false,
"skill_name": "JUnit"
},
{
"is_primary": false,
"skill_name": "Espresso"
},
{
"is_primary": false,
"skill_name": "MVVM"
},
{
"is_primary": false,
"skill_name": "Accessibility"
},
{
"is_primary": false,
"skill_name": "Sketch"
},
{
"is_primary": false,
"skill_name": "Figma"
},
{
"is_primary": false,
"skill_name": "iOS"
},
{
"is_primary": false,
"skill_name": "Angular"
}
],
"jd_role": {
"display_name": "Android Engineer",
"rationale": null,
"role_aliases": [
"Android Developer",
"Mobile Engineer"
],
"role_archetype": "Engineering",
"slug": ""
},
"nano_parsed": {
"JD_type": "pass",
"about_company": {
"source_marker": {
"first_5_words": "Jaja is an innovative UK-based",
"last_5_words": "partnership with Asda in the UK."
},
"text": "Jaja is an innovative UK-based consumer finance business, initially launching a digital credit card in 2018, with a pipeline of consumer finance solutions in development. With backing from major private equity funds, Jaja has grown rapidly, recently acquiring a \u00a3530m credit card portfolio from the Bank of Ireland and launching a significant partnership with Asda in the UK.",
"word_count": 64
},
"certifications": [],
"company_name": "Jaja",
"ctc": null,
"domain": {
"primary": {
"aliases": [
"FinTech",
"Consumer Finance"
],
"domain": "Financial Services"
},
"secondary": null
},
"education": [],
"experience": {
"max": null,
"min": null,
"raw": null
},
"job_locations": [
{
"aliases": [],
"city": null,
"country": "UK",
"state": null,
"work_mode": "remote"
}
],
"role": "Android Engineer",
"role_aliases": [
"Android Developer",
"Mobile Engineer"
],
"role_archetype": "Engineering",
"roles_and_responsibilities": [
{
"bullet_count": 5,
"heading": "Key Responsibilities",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Work with product owners",
"last_5_words": "engineers from other platforms"
},
"text": "\u2022 Work with product owners and designers to refine, estimate and prioritise Jira tickets\n\u2022 Attend and contribute to agile ceremonies and platform discussions\n\u2022 Collaborate with other Android engineers through the code peer review process\n\u2022 Deliver code that is easy to understand, maintain and test\n\u2022 Collaborate closely with engineers from other platforms",
"word_count": 41
},
{
"bullet_count": 0,
"heading": "About You",
"heading_was_present": true,
"source_marker": {
"first_5_words": "We\u2019re seeking passionate individuals who",
"last_5_words": "the following criteria:"
},
"text": "We\u2019re seeking passionate individuals who align with our values\u2014caring deeply about customer experience, adapting to challenges, and owning their work to deliver simple, high-quality solutions. The successful candidate must reside in Europe and have the legal right to work in the jurisdiction they live in and meet the following criteria:",
"word_count": 49
},
{
"bullet_count": 10,
"heading": "Required Skills \u0026 Experience",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Enthusiasm to learn and deliver",
"last_5_words": "Jira, Git, and Bitrise."
},
"text": "\u2022 Enthusiasm to learn and deliver high-quality software.\n\u2022 Experience in agile teams with practices like pairing and code reviews.\n\u2022 Proven experience developing consumer-facing Android apps using Kotlin.\n\u2022 Understanding of design patterns, SOLID, and clean code principles.\n\u2022 Ability to write unit tests with mocking frameworks.\n\u2022 Proficiency in reactive programming using Kotlin Flow.\n\u2022 Experience building modern UIs with Jetpack Compose.\n\u2022 Knowledge of dependency injection.\n\u2022 Familiarity with crash report analysis, bug fixing, and performance optimisation.\n\u2022 Experience with tools such as Jira, Git, and Bitrise.",
"word_count": 98
},
{
"bullet_count": 4,
"heading": "Desired Skills \u0026 Experience",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Experience with Koin, Realm, Room",
"last_5_words": "or Web (Angular)."
},
"text": "\u2022 Experience with Koin, Realm, Room, Coroutines, Jetpack Navigation, Compose Navigation, Mockito, JUnit, Espresso, or Clean/MVVM architecture.\n\u2022 Knowledge of delivering accessibility features for users.\n\u2022 Familiarity with design tools like Sketch or Figma.\n\u2022 Experience with other front-end platforms such as iOS or Web (Angular).",
"word_count": 56
}
],
"urls": []
},
"rejected": false,
"rejection_reason": null,
"run_id": "4068b4ae-ac17-4065-8391-2d4afee7d9ed",
"stage3_signals": {
"alias_found": true,
"alias_match_roles": [
{
"display_name": "Android Developer",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 4,
"score": 1.0,
"slug": "android-engineer",
"total_count": null
}
],
"kra_match_roles": [
{
"display_name": "Android Developer",
"kra_matches": [
{
"kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
"sentence": "Experience building modern UIs with Jetpack Compose.",
"similarity": 0.6058
},
{
"kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
"sentence": "Proven experience developing consumer-facing Android apps using Kotlin.",
"similarity": 0.5946
},
{
"kra_text": "Prepares Android releases by managing build variants, ProGuard configurations, signing keystores, and Google Play Store submission requirements.",
"sentence": "Collaborate with other Android engineers through the code peer review process",
"similarity": 0.4688
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 4,
"score": 0.5564,
"slug": "android-engineer",
"total_count": null
},
{
"display_name": "Flutter Developer",
"kra_matches": [
{
"kra_text": "collaborate with design, product, and backend teams",
"sentence": "Collaborate closely with engineers from other platforms",
"similarity": 0.6407
},
{
"kra_text": "collaborate with design, product, and backend teams",
"sentence": "Work with product owners and designers to refine, estimate and prioritise Jira tickets",
"similarity": 0.4976
},
{
"kra_text": "collaborate with design, product, and backend teams",
"sentence": "Collaborate with other Android engineers through the code peer review process",
"similarity": 0.4951
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 74,
"score": 0.5445,
"slug": "flutter-developer",
"total_count": null
},
{
"display_name": "React Native Developer",
"kra_matches": [
{
"kra_text": "maintain code quality",
"sentence": "Deliver code that is easy to understand, maintain and test",
"similarity": 0.6624
},
{
"kra_text": "Implement mobile screens and flows",
"sentence": "Experience building modern UIs with Jetpack Compose.",
"similarity": 0.4833
},
{
"kra_text": "maintain code quality",
"sentence": "Understanding of design patterns, SOLID, and clean code principles.",
"similarity": 0.476
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 73,
"score": 0.5406,
"slug": "react-native-developer",
"total_count": null
},
{
"display_name": "Angular Frontend Developer",
"kra_matches": [
{
"kra_text": "code review and refactoring",
"sentence": "Deliver code that is easy to understand, maintain and test",
"similarity": 0.5447
},
{
"kra_text": "collaboration with design and QA",
"sentence": "Collaborate closely with engineers from other platforms",
"similarity": 0.5229
},
{
"kra_text": "code review and refactoring",
"sentence": "Collaborate with other Android engineers through the code peer review process",
"similarity": 0.5008
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 90,
"score": 0.5228,
"slug": "angular-frontend-developer",
"total_count": null
},
{
"display_name": "Node.js Backend Developer",
"kra_matches": [
{
"kra_text": "code review and refactoring",
"sentence": "Deliver code that is easy to understand, maintain and test",
"similarity": 0.5447
},
{
"kra_text": "code review and refactoring",
"sentence": "Collaborate with other Android engineers through the code peer review process",
"similarity": 0.5007
},
{
"kra_text": "code review and refactoring",
"sentence": "Understanding of design patterns, SOLID, and clean code principles.",
"similarity": 0.4609
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 82,
"score": 0.5021,
"slug": "node-backend-developer",
"total_count": null
}
],
"skill_match_roles": [
{
"display_name": "Fullstack Developer",
"kra_matches": null,
"matched_count": 3,
"matched_skills": [
"Kotlin",
"SOLID",
"dependency injection"
],
"role_id": 15,
"score": 0.1765,
"slug": "full-stack-engineer",
"total_count": 17
},
{
"display_name": "Native Mobile Developer",
"kra_matches": null,
"matched_count": 3,
"matched_skills": [
"Jetpack Compose",
"Kotlin",
"dependency injection"
],
"role_id": 75,
"score": 0.1765,
"slug": "native-mobile-developer",
"total_count": 17
},
{
"display_name": "Backend Developer",
"kra_matches": null,
"matched_count": 3,
"matched_skills": [
"Kotlin",
"SOLID",
"dependency injection"
],
"role_id": 1,
"score": 0.1765,
"slug": "backend-engineer",
"total_count": 17
},
{
"display_name": "Android Developer",
"kra_matches": null,
"matched_count": 3,
"matched_skills": [
"Jetpack Compose",
"Kotlin",
"dependency injection"
],
"role_id": 4,
"score": 0.1765,
"slug": "android-engineer",
"total_count": 17
},
{
"display_name": "Java Backend Developer",
"kra_matches": null,
"matched_count": 3,
"matched_skills": [
"Kotlin",
"SOLID",
"dependency injection"
],
"role_id": 79,
"score": 0.1765,
"slug": "java-backend-developer",
"total_count": 17
}
]
},
"stage4_decision": {
"alias_collision_detected": false,
"case": "A",
"chosen_role": {
"display_name": "Native Mobile Developer",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 75,
"score": 1.0,
"slug": "native-mobile-developer",
"total_count": null
},
"confidence": 1.0,
"is_new_role": false,
"llm2_fired": false,
"llm2_reasoning": null,
"matched_dimensions": [],
"matched_kras": [],
"matched_skills": [],
"new_role_display_name": null,
"new_role_slug": null,
"queued": false,
"reasoning": "Exact alias hit on android-engineer (1.0) \u2014 no other alias at this confidence; skill_top full-stack-engineer 0.18 does not contradict",
"sub_role": {
"confidence": 1.0,
"display_name": "Android Developer",
"reasoning": "hoisted from chosen leaf (case=A)",
"role_id": 4,
"slug": "android-engineer"
}
},
"stage5_updates": {
"centroid_n_after": 64,
"centroid_updated": true,
"collision_log_id": null,
"new_kra_attached": {
"best_kra_similarity": 0.0,
"queue_id": 1003,
"r_and_r_preview": "\u2022 Work with product owners and designers to refine, estimate and prioritise Jira tickets\n\u2022 Attend and contribute to agile ceremonies and platform discussions\n\u2022 Collaborate with other Android engineers",
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"status": "pending"
},
"new_skills_attached": [
{
"is_primary": true,
"queue_id": 14595,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Jira",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 14596,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Pair Programming",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 14597,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Clean Code",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 14598,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Mocking Frameworks",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 14599,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Kotlin Flow",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 14601,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Reactive Programming",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 14603,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Bitrise",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 14606,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Compose Navigation",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 14608,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "JUnit",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 14610,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Accessibility",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 14611,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Sketch",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 14613,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Figma",
"status": "pending"
}
],
"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": 868,
"existing_alias_text": "Agile",
"input_term": "Agile",
"matched_canonical": {
"category_id": 8,
"display_name": "Agile",
"id": 520,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "agile",
"sub_category_id": 3594,
"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": 864,
"existing_alias_text": "Code Review",
"input_term": "Code Review",
"matched_canonical": {
"category_id": 58,
"display_name": "Code Review",
"id": 516,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PRACTICE",
"slug": "code-review",
"sub_category_id": 364,
"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": 2541,
"existing_alias_text": "Android",
"input_term": "Android",
"matched_canonical": {
"category_id": 9,
"display_name": "Android",
"id": 1595,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "android",
"sub_category_id": 1201,
"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": 24,
"existing_alias_text": "Kotlin",
"input_term": "Kotlin",
"matched_canonical": {
"category_id": 6,
"display_name": "Kotlin",
"id": 2,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "kotlin",
"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": 2624,
"existing_alias_text": "design patterns",
"input_term": "Design Patterns",
"matched_canonical": {
"category_id": 2,
"display_name": "design patterns",
"id": 1654,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "design-patterns",
"sub_category_id": 1247,
"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": 1098,
"existing_alias_text": "Solid",
"input_term": "SOLID",
"matched_canonical": {
"category_id": 2,
"display_name": "SOLID",
"id": 614,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "solid",
"sub_category_id": 2976,
"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": 865,
"existing_alias_text": "Unit Testing",
"input_term": "Unit Testing",
"matched_canonical": {
"category_id": 8,
"display_name": "Unit Testing",
"id": 517,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "unit-testing",
"sub_category_id": 44,
"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": 1521,
"existing_alias_text": "Jetpack Compose",
"input_term": "Jetpack Compose",
"matched_canonical": {
"category_id": 5,
"display_name": "Jetpack Compose",
"id": 918,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "jetpack-compose",
"sub_category_id": 341,
"typical_lifespan": "EVERGREEN",
"volatility": "EMERGING"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 5279,
"existing_alias_text": "Dependency Injection",
"input_term": "Dependency Injection",
"matched_canonical": {
"category_id": 2,
"display_name": "dependency injection",
"id": 88,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "dependency-injection",
"sub_category_id": 2482,
"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": 1613,
"existing_alias_text": "Git",
"input_term": "Git",
"matched_canonical": {
"category_id": 13,
"display_name": "Git",
"id": 1002,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "git",
"sub_category_id": 730,
"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": 2601,
"existing_alias_text": "Koin",
"input_term": "Koin",
"matched_canonical": {
"category_id": 5,
"display_name": "Koin",
"id": 1637,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "koin",
"sub_category_id": 1234,
"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": 787,
"existing_alias_text": "Realm",
"input_term": "Realm",
"matched_canonical": {
"category_id": 3,
"display_name": "Realm",
"id": 461,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "realm",
"sub_category_id": 327,
"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": 1541,
"existing_alias_text": "Room",
"input_term": "Room",
"matched_canonical": {
"category_id": 7,
"display_name": "Room",
"id": 938,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "room",
"sub_category_id": 702,
"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": 3641,
"existing_alias_text": "coroutines",
"input_term": "Coroutines",
"matched_canonical": {
"category_id": 2,
"display_name": "coroutines",
"id": 1639,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "coroutines",
"sub_category_id": 7,
"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": 3133,
"existing_alias_text": "Jetpack Navigation",
"input_term": "Jetpack Navigation",
"matched_canonical": {
"category_id": 5,
"display_name": "Jetpack Navigation",
"id": 2080,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "jetpack-navigation",
"sub_category_id": 1538,
"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": 3539,
"existing_alias_text": "Mockito",
"input_term": "Mockito",
"matched_canonical": {
"category_id": 7,
"display_name": "Mockito",
"id": 2271,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "mockito",
"sub_category_id": 2252,
"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": 1556,
"existing_alias_text": "Espresso",
"input_term": "Espresso",
"matched_canonical": {
"category_id": 5,
"display_name": "Espresso",
"id": 953,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "espresso",
"sub_category_id": 1542,
"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": 830,
"existing_alias_text": "MVVM",
"input_term": "MVVM",
"matched_canonical": {
"category_id": 1,
"display_name": "MVVM",
"id": 504,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PATTERN",
"slug": "mvvm",
"sub_category_id": 662,
"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": 2540,
"existing_alias_text": "iOS",
"input_term": "iOS",
"matched_canonical": {
"category_id": 9,
"display_name": "iOS",
"id": 1594,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "ios",
"sub_category_id": 1200,
"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": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "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"
},
{
"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": "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": 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": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
},
{
"display_name": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-backend-developer",
"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"
},
{
"display_name": "Angular Frontend Developer",
"id": 90,
"rationale": null,
"role_archetype": "Engineering",
"slug": "angular-frontend-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
},
{
"display_name": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "Magento Dev",
"id": 231,
"rationale": null,
"role_archetype": "Engineering",
"slug": "magento-dev",
"source": "db"
},
{
"display_name": "Sitecore Dev",
"id": 233,
"rationale": null,
"role_archetype": "Engineering",
"slug": "sitecore-dev",
"source": "db"
},
{
"display_name": "Drupal Dev",
"id": 228,
"rationale": null,
"role_archetype": "Engineering",
"slug": "drupal-dev",
"source": "db"
}
],
"chosen_role": {
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": "Exact alias hit on android-engineer (1.0) \u2014 no other alias at this confidence; skill_top full-stack-engineer 0.18 does not contradict",
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Agile",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"input_skill": "Agile",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Code Review",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Android",
"llm_role": null,
"roles_from_db": []
},
{
"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": "Kotlin",
"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": "Kotlin",
"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": "Kotlin",
"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": "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": "Kotlin",
"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": 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"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Design Patterns",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture Patterns",
"id": 293,
"rationale": "Structural patterns for organizing Python backend code into maintainable modules, layers, and feature boundaries. This is a coherent cluster because senior backend developers are expected to refactor and shape service internals over time.",
"slug": "application-architecture-patterns",
"source": "db"
},
"input_skill": "SOLID",
"llm_role": null,
"roles_from_db": [
{
"display_name": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Service Architecture and Design Patterns",
"id": 18,
"rationale": "Reusable backend design patterns used to structure service code and boundaries. Covers layering, dependency management, domain modeling, and maintainable service organization.",
"slug": "service-architecture-and-design-patterns",
"source": "db"
},
"input_skill": "SOLID",
"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": "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": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-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": "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": "SOLID",
"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"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Unit Testing",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android UI Frameworks",
"id": 162,
"rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
"slug": "android-ui-frameworks",
"source": "db"
},
"input_skill": "Jetpack Compose",
"llm_role": null,
"roles_from_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"
}
]
},
{
"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": "Dependency Injection",
"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": "App Architecture and Dependency Injection",
"id": 94,
"rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
"slug": "app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture Patterns",
"id": 293,
"rationale": "Structural patterns for organizing Python backend code into maintainable modules, layers, and feature boundaries. This is a coherent cluster because senior backend developers are expected to refactor and shape service internals over time.",
"slug": "application-architecture-patterns",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture and Code Organization",
"id": 220,
"rationale": "Structural patterns for organizing product code into maintainable modules, layers, and feature boundaries. Full stack engineers need this to keep cross-layer feature work understandable as the product grows.",
"slug": "application-architecture-and-code-organization",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_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": "Backend Application Architecture and Code Organization",
"id": 366,
"rationale": "Structural patterns for organizing backend application code into maintainable modules, layers, and boundaries so services remain testable, modular, evolvable, and easy to refactor. This includes clean architecture, hexagonal architecture, layered architecture, dependency injection, service layers, package or module boundaries, modularization, domain-driven design, SOLID, CQRS, and mediator-style patterns. It excludes API endpoint syntax, database schema design, deployment topology, and frontend architecture.",
"slug": "backend-application-architecture-and-code-organization",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter App Architecture",
"id": 316,
"rationale": "Structural patterns used to organize Flutter code into maintainable modules, layers, and feature boundaries. Senior Flutter developers often own these patterns to keep shared app delivery scalable across teams and releases.",
"slug": "flutter-app-architecture",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Ionic App Architecture",
"id": 384,
"rationale": "Structural patterns for organizing Ionic code into maintainable modules, layers, and feature boundaries. Senior Ionic developers often define these patterns to keep shared app behavior consistent across devices and releases.",
"slug": "ionic-app-architecture",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Architecture and Code Organization",
"id": 170,
"rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
"slug": "mobile-architecture-and-code-organization",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile App Architecture and Dependency Injection",
"id": 273,
"rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
"slug": "native-mobile-app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "Dependency Injection",
"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": "PHP and Magento Extension Points",
"id": 391,
"rationale": "Core implementation surface for Magento customizations, including module code, event-driven hooks, and platform conventions. This is the primary language-and-framework cluster for building upgrade-safe storefront behavior.",
"slug": "php-and-magento-extension-points",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Magento Dev",
"id": 231,
"rationale": null,
"role_archetype": "Engineering",
"slug": "magento-dev",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Service Architecture and Design Patterns",
"id": 18,
"rationale": "Reusable backend design patterns used to structure service code and boundaries. Covers layering, dependency management, domain modeling, and maintainable service organization.",
"slug": "service-architecture-and-design-patterns",
"source": "db"
},
"input_skill": "Dependency Injection",
"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": "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": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-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": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Git",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Koin",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Realm",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Room",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Backend Concurrency and Async Programming",
"id": 387,
"rationale": "Programming techniques for handling multiple requests and background work safely and efficiently in backend services, including language-level async models, coroutines/tasks, cancellation, channels/flows, dispatchers/thread pools, locks, mutexes, semaphores, and structured concurrency across platforms such as Kotlin and .NET.",
"slug": "backend-concurrency-and-async-programming",
"source": "db"
},
"input_skill": "Coroutines",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Concurrency and Async Workflows",
"id": 292,
"rationale": "Programming techniques for handling concurrent requests, asynchronous I/O, and coordination of background execution in Python services. This cluster is coherent because backend developers must safely manage throughput and responsiveness.",
"slug": "concurrency-and-async-workflows",
"source": "db"
},
"input_skill": "Coroutines",
"llm_role": null,
"roles_from_db": [
{
"display_name": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-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": "Coroutines",
"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": "Screen Navigation and State",
"id": 83,
"rationale": "Patterns for moving users through app flows and keeping client state consistent across screens, refreshes, and app transitions. This is central to feature work because iOS engineers own the in-app request flow and UI logic.",
"slug": "screen-navigation-and-state",
"source": "db"
},
"input_skill": "Jetpack Navigation",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter Testing Frameworks",
"id": 324,
"rationale": "Testing tools and practices used to validate Flutter widgets, interactions, and integration behavior. This cluster is coherent because Flutter developers need fast feedback on UI logic, state transitions, and service wiring.",
"slug": "flutter-testing-frameworks",
"source": "db"
},
"input_skill": "Mockito",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Testing and Verification",
"id": 284,
"rationale": "Automated checks used to validate Java backend behavior across unit, integration, and service boundaries. This cluster covers test design, fixtures, mocks, and regression coverage for backend changes.",
"slug": "testing-and-verification",
"source": "db"
},
"input_skill": "Mockito",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "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": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android Testing Frameworks",
"id": 164,
"rationale": "Test tools and patterns used to validate Android UI, integration, and device behavior. This cluster is distinct because Android engineers commonly write instrumentation and UI tests alongside feature code.",
"slug": "android-testing-frameworks",
"source": "db"
},
"input_skill": "Espresso",
"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": "Mobile Testing Frameworks",
"id": 168,
"rationale": "Test tools and patterns used to validate shared mobile UI, integration, and device behavior. Hybrid developers rely on these to catch regressions in screen flows, state transitions, and platform-specific edge cases.",
"slug": "mobile-testing-frameworks",
"source": "db"
},
"input_skill": "Espresso",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "App Architecture and Dependency Injection",
"id": 94,
"rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
"slug": "app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "MVVM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Architecture and Code Organization",
"id": 170,
"rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
"slug": "mobile-architecture-and-code-organization",
"source": "db"
},
"input_skill": "MVVM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile App Architecture and Dependency Injection",
"id": 273,
"rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
"slug": "native-mobile-app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "MVVM",
"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": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "iOS",
"llm_role": null,
"roles_from_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": "Frameworks \u0026 Libraries",
"id": 360,
"rationale": "Manage adoption, integration, and best practices around key software frameworks and libraries.",
"slug": "frameworks-libraries",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Drupal Dev",
"id": 228,
"rationale": null,
"role_archetype": "Engineering",
"slug": "drupal-dev",
"source": "db"
},
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"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": [
"Jira",
"Agile",
"Code Review",
"Pair Programming",
"Android",
"Kotlin",
"Design Patterns",
"SOLID",
"Clean Code",
"Unit Testing",
"Mocking Frameworks",
"Kotlin Flow",
"Reactive Programming",
"Jetpack Compose",
"Dependency Injection",
"Git",
"Bitrise",
"Koin",
"Realm",
"Room",
"Coroutines",
"Jetpack Navigation",
"Compose Navigation",
"Mockito",
"JUnit",
"Espresso",
"MVVM",
"Accessibility",
"Sketch",
"Figma",
"iOS",
"Angular"
],
"input_llm_skills": [
"Jira",
"Agile",
"Code Review",
"Pair Programming",
"Android",
"Kotlin",
"Design Patterns",
"SOLID",
"Clean Code",
"Unit Testing",
"Mocking Frameworks",
"Kotlin Flow",
"Reactive Programming",
"Jetpack Compose",
"Dependency Injection",
"Git",
"Bitrise",
"Koin",
"Realm",
"Room",
"Coroutines",
"Jetpack Navigation",
"Compose Navigation",
"Mockito",
"JUnit",
"Espresso",
"MVVM",
"Accessibility",
"Sketch",
"Figma",
"iOS",
"Angular"
],
"new_aliases_persisted": 0,
"run_id": "4068b4ae-ac17-4065-8391-2d4afee7d9ed",
"skills_detail": [
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Jira",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Project Management Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "jira",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Agile",
"alias_type": "CANONICAL",
"id": 868,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 8,
"display_name": "Agile",
"id": 520,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "agile",
"sub_category_id": 3594,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Agile",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"input_skill": "Agile",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
}
],
"input_skill": "Agile",
"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": "Code Review",
"alias_type": "CANONICAL",
"id": 864,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 58,
"display_name": "Code Review",
"id": 516,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PRACTICE",
"slug": "code-review",
"sub_category_id": 364,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Code Review",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Code Review",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Pair Programming",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Soft Skills",
"skill_nature": "PRACTICE",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "pair-programming",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Android",
"alias_type": "CANONICAL",
"id": 2541,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "Android",
"id": 1595,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "android",
"sub_category_id": 1201,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Android",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Android",
"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": "Kotlin",
"alias_type": "CANONICAL",
"id": 24,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "kotlin 1.9",
"alias_type": "VERSION",
"id": 3102,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "kotlin 1.9.0",
"alias_type": "VERSION",
"id": 3104,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "kotlin 1.9.1",
"alias_type": "VERSION",
"id": 3105,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "kotlin 1.9.10",
"alias_type": "VERSION",
"id": 3107,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "kotlin 1.9.x",
"alias_type": "VERSION",
"id": 3106,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "kotlin-1.9",
"alias_type": "VERSION",
"id": 3103,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 6,
"display_name": "Kotlin",
"id": 2,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "kotlin",
"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": "Kotlin",
"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": "Kotlin",
"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": "Kotlin",
"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": "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": "Kotlin",
"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": 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"
}
]
}
],
"input_skill": "Kotlin",
"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": "design patterns",
"alias_type": "CANONICAL",
"id": 2624,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "design patterns",
"id": 1654,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "design-patterns",
"sub_category_id": 1247,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Design Patterns",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Design Patterns",
"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": "SOLID",
"alias_type": "CANONICAL",
"id": 4820,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Solid",
"alias_type": "CANONICAL",
"id": 1098,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "SOLID",
"id": 614,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "solid",
"sub_category_id": 2976,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture Patterns",
"id": 293,
"rationale": "Structural patterns for organizing Python backend code into maintainable modules, layers, and feature boundaries. This is a coherent cluster because senior backend developers are expected to refactor and shape service internals over time.",
"slug": "application-architecture-patterns",
"source": "db"
},
"input_skill": "SOLID",
"llm_role": null,
"roles_from_db": [
{
"display_name": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Service Architecture and Design Patterns",
"id": 18,
"rationale": "Reusable backend design patterns used to structure service code and boundaries. Covers layering, dependency management, domain modeling, and maintainable service organization.",
"slug": "service-architecture-and-design-patterns",
"source": "db"
},
"input_skill": "SOLID",
"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": "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": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-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": "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": "SOLID",
"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": "SOLID",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Clean Code",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concepts",
"skill_nature": "CONCEPT",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "clean-code",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Unit Testing",
"alias_type": "CANONICAL",
"id": 865,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 8,
"display_name": "Unit Testing",
"id": 517,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "unit-testing",
"sub_category_id": 44,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Unit Testing",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Unit Testing",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Mocking Frameworks",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Testing Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "mocking-frameworks",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Kotlin Flow",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Programming Languages",
"skill_nature": "LANGUAGE",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "kotlin-flow",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Reactive Programming",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concepts",
"skill_nature": "CONCEPT",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "reactive-programming",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Jetpack Compose",
"alias_type": "CANONICAL",
"id": 1521,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Jetpack Compose",
"id": 918,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "jetpack-compose",
"sub_category_id": 341,
"typical_lifespan": "EVERGREEN",
"volatility": "EMERGING"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android UI Frameworks",
"id": 162,
"rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
"slug": "android-ui-frameworks",
"source": "db"
},
"input_skill": "Jetpack Compose",
"llm_role": null,
"roles_from_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"
}
]
}
],
"input_skill": "Jetpack Compose",
"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": "dependency injection",
"alias_type": "CANONICAL",
"id": 229,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Dependency Injection",
"alias_type": "CANONICAL",
"id": 5279,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Dependency injection",
"alias_type": "CANONICAL",
"id": 3524,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "dependency injection",
"id": 88,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "dependency-injection",
"sub_category_id": 2482,
"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": "Dependency Injection",
"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": "App Architecture and Dependency Injection",
"id": 94,
"rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
"slug": "app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture Patterns",
"id": 293,
"rationale": "Structural patterns for organizing Python backend code into maintainable modules, layers, and feature boundaries. This is a coherent cluster because senior backend developers are expected to refactor and shape service internals over time.",
"slug": "application-architecture-patterns",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture and Code Organization",
"id": 220,
"rationale": "Structural patterns for organizing product code into maintainable modules, layers, and feature boundaries. Full stack engineers need this to keep cross-layer feature work understandable as the product grows.",
"slug": "application-architecture-and-code-organization",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_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": "Backend Application Architecture and Code Organization",
"id": 366,
"rationale": "Structural patterns for organizing backend application code into maintainable modules, layers, and boundaries so services remain testable, modular, evolvable, and easy to refactor. This includes clean architecture, hexagonal architecture, layered architecture, dependency injection, service layers, package or module boundaries, modularization, domain-driven design, SOLID, CQRS, and mediator-style patterns. It excludes API endpoint syntax, database schema design, deployment topology, and frontend architecture.",
"slug": "backend-application-architecture-and-code-organization",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter App Architecture",
"id": 316,
"rationale": "Structural patterns used to organize Flutter code into maintainable modules, layers, and feature boundaries. Senior Flutter developers often own these patterns to keep shared app delivery scalable across teams and releases.",
"slug": "flutter-app-architecture",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Ionic App Architecture",
"id": 384,
"rationale": "Structural patterns for organizing Ionic code into maintainable modules, layers, and feature boundaries. Senior Ionic developers often define these patterns to keep shared app behavior consistent across devices and releases.",
"slug": "ionic-app-architecture",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Architecture and Code Organization",
"id": 170,
"rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
"slug": "mobile-architecture-and-code-organization",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile App Architecture and Dependency Injection",
"id": 273,
"rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
"slug": "native-mobile-app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "Dependency Injection",
"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": "PHP and Magento Extension Points",
"id": 391,
"rationale": "Core implementation surface for Magento customizations, including module code, event-driven hooks, and platform conventions. This is the primary language-and-framework cluster for building upgrade-safe storefront behavior.",
"slug": "php-and-magento-extension-points",
"source": "db"
},
"input_skill": "Dependency Injection",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Magento Dev",
"id": 231,
"rationale": null,
"role_archetype": "Engineering",
"slug": "magento-dev",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Service Architecture and Design Patterns",
"id": 18,
"rationale": "Reusable backend design patterns used to structure service code and boundaries. Covers layering, dependency management, domain modeling, and maintainable service organization.",
"slug": "service-architecture-and-design-patterns",
"source": "db"
},
"input_skill": "Dependency Injection",
"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": "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": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
]
}
],
"input_skill": "Dependency Injection",
"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": "Git",
"alias_type": "CANONICAL",
"id": 1613,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 13,
"display_name": "Git",
"id": 1002,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "git",
"sub_category_id": 730,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Git",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Git",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Bitrise",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "CI/CD Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "SHORT_LIVED",
"version_strategy": "VERSIONED",
"volatility": "FAST"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "bitrise",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Koin",
"alias_type": "CANONICAL",
"id": 2601,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Koin",
"id": 1637,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "koin",
"sub_category_id": 1234,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Koin",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Koin",
"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": "Realm",
"alias_type": "CANONICAL",
"id": 787,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 3,
"display_name": "Realm",
"id": 461,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "realm",
"sub_category_id": 327,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Realm",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Realm",
"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": "Room",
"alias_type": "CANONICAL",
"id": 1541,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 7,
"display_name": "Room",
"id": 938,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "room",
"sub_category_id": 702,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Room",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Room",
"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": "coroutines",
"alias_type": "CANONICAL",
"id": 3641,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Coroutines",
"alias_type": "CANONICAL",
"id": 2603,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "coroutines",
"id": 1639,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "coroutines",
"sub_category_id": 7,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Backend Concurrency and Async Programming",
"id": 387,
"rationale": "Programming techniques for handling multiple requests and background work safely and efficiently in backend services, including language-level async models, coroutines/tasks, cancellation, channels/flows, dispatchers/thread pools, locks, mutexes, semaphores, and structured concurrency across platforms such as Kotlin and .NET.",
"slug": "backend-concurrency-and-async-programming",
"source": "db"
},
"input_skill": "Coroutines",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Concurrency and Async Workflows",
"id": 292,
"rationale": "Programming techniques for handling concurrent requests, asynchronous I/O, and coordination of background execution in Python services. This cluster is coherent because backend developers must safely manage throughput and responsiveness.",
"slug": "concurrency-and-async-workflows",
"source": "db"
},
"input_skill": "Coroutines",
"llm_role": null,
"roles_from_db": [
{
"display_name": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-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": "Coroutines",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
}
],
"input_skill": "Coroutines",
"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": "Jetpack Navigation",
"alias_type": "CANONICAL",
"id": 3133,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Jetpack Navigation",
"id": 2080,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "jetpack-navigation",
"sub_category_id": 1538,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Screen Navigation and State",
"id": 83,
"rationale": "Patterns for moving users through app flows and keeping client state consistent across screens, refreshes, and app transitions. This is central to feature work because iOS engineers own the in-app request flow and UI logic.",
"slug": "screen-navigation-and-state",
"source": "db"
},
"input_skill": "Jetpack Navigation",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Jetpack Navigation",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Compose Navigation",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Android Development",
"skill_nature": "CONCEPT",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "compose-navigation",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Mockito",
"alias_type": "CANONICAL",
"id": 3539,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 7,
"display_name": "Mockito",
"id": 2271,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "mockito",
"sub_category_id": 2252,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter Testing Frameworks",
"id": 324,
"rationale": "Testing tools and practices used to validate Flutter widgets, interactions, and integration behavior. This cluster is coherent because Flutter developers need fast feedback on UI logic, state transitions, and service wiring.",
"slug": "flutter-testing-frameworks",
"source": "db"
},
"input_skill": "Mockito",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Testing and Verification",
"id": 284,
"rationale": "Automated checks used to validate Java backend behavior across unit, integration, and service boundaries. This cluster covers test design, fixtures, mocks, and regression coverage for backend changes.",
"slug": "testing-and-verification",
"source": "db"
},
"input_skill": "Mockito",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "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": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-backend-developer",
"source": "db"
}
]
}
],
"input_skill": "Mockito",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "JUnit",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Testing Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "junit",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Espresso",
"alias_type": "CANONICAL",
"id": 1556,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Espresso",
"id": 953,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "espresso",
"sub_category_id": 1542,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android Testing Frameworks",
"id": 164,
"rationale": "Test tools and patterns used to validate Android UI, integration, and device behavior. This cluster is distinct because Android engineers commonly write instrumentation and UI tests alongside feature code.",
"slug": "android-testing-frameworks",
"source": "db"
},
"input_skill": "Espresso",
"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": "Mobile Testing Frameworks",
"id": 168,
"rationale": "Test tools and patterns used to validate shared mobile UI, integration, and device behavior. Hybrid developers rely on these to catch regressions in screen flows, state transitions, and platform-specific edge cases.",
"slug": "mobile-testing-frameworks",
"source": "db"
},
"input_skill": "Espresso",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
}
],
"input_skill": "Espresso",
"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": "MVVM",
"alias_type": "CANONICAL",
"id": 830,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 1,
"display_name": "MVVM",
"id": 504,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PATTERN",
"slug": "mvvm",
"sub_category_id": 662,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "App Architecture and Dependency Injection",
"id": 94,
"rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
"slug": "app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "MVVM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Architecture and Code Organization",
"id": 170,
"rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
"slug": "mobile-architecture-and-code-organization",
"source": "db"
},
"input_skill": "MVVM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile App Architecture and Dependency Injection",
"id": 273,
"rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
"slug": "native-mobile-app-architecture-and-dependency-injection",
"source": "db"
},
"input_skill": "MVVM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
]
}
],
"input_skill": "MVVM",
"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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Accessibility",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Web Development Concepts",
"skill_nature": "CONCEPT",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "accessibility",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Sketch",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Design Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "sketch",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Figma",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Design Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "figma",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "iOS",
"alias_type": "CANONICAL",
"id": 2540,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "iOS",
"id": 1594,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "ios",
"sub_category_id": 1200,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "iOS",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "iOS",
"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": "angularjs 1.x",
"alias_type": "VERSION",
"id": 6556,
"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": "Frameworks \u0026 Libraries",
"id": 360,
"rationale": "Manage adoption, integration, and best practices around key software frameworks and libraries.",
"slug": "frameworks-libraries",
"source": "db"
},
"input_skill": "Angular",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Drupal Dev",
"id": 228,
"rationale": null,
"role_archetype": "Engineering",
"slug": "drupal-dev",
"source": "db"
},
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"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": [
"Jira",
"Pair Programming",
"Clean Code",
"Mocking Frameworks",
"Kotlin Flow",
"Reactive Programming",
"Bitrise",
"Compose Navigation",
"JUnit",
"Accessibility",
"Sketch",
"Figma"
]
}
API 3 — final-role-output
{
"chosen_role": {
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": "Exact alias hit on android-engineer (1.0) \u2014 no other alias at this confidence; skill_top full-stack-engineer 0.18 does not contradict",
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
"chosen_role_resolution": "in_db",
"final_input_skills": [
{
"skill": "Jira",
"tag": "new"
},
{
"skill": "Agile",
"tag": "in_db"
},
{
"skill": "Code Review",
"tag": "in_db"
},
{
"skill": "Pair Programming",
"tag": "new"
},
{
"skill": "Android",
"tag": "in_db"
},
{
"skill": "Kotlin",
"tag": "in_db"
},
{
"skill": "Design Patterns",
"tag": "in_db"
},
{
"skill": "SOLID",
"tag": "in_db"
},
{
"skill": "Clean Code",
"tag": "new"
},
{
"skill": "Unit Testing",
"tag": "in_db"
},
{
"skill": "Mocking Frameworks",
"tag": "new"
},
{
"skill": "Kotlin Flow",
"tag": "new"
},
{
"skill": "Reactive Programming",
"tag": "new"
},
{
"skill": "Jetpack Compose",
"tag": "in_db"
},
{
"skill": "Dependency Injection",
"tag": "in_db"
},
{
"skill": "Git",
"tag": "in_db"
},
{
"skill": "Bitrise",
"tag": "new"
},
{
"skill": "Koin",
"tag": "in_db"
},
{
"skill": "Realm",
"tag": "in_db"
},
{
"skill": "Room",
"tag": "in_db"
},
{
"skill": "Coroutines",
"tag": "in_db"
},
{
"skill": "Jetpack Navigation",
"tag": "in_db"
},
{
"skill": "Compose Navigation",
"tag": "new"
},
{
"skill": "Mockito",
"tag": "in_db"
},
{
"skill": "JUnit",
"tag": "new"
},
{
"skill": "Espresso",
"tag": "in_db"
},
{
"skill": "MVVM",
"tag": "in_db"
},
{
"skill": "Accessibility",
"tag": "new"
},
{
"skill": "Sketch",
"tag": "new"
},
{
"skill": "Figma",
"tag": "new"
},
{
"skill": "iOS",
"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": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Agile",
"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": [],
"skill_dimension_saved": true,
"skill_id": 520,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"dimension_id": 478,
"input_skill": "Agile",
"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": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 520,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Code Review",
"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": [],
"skill_dimension_saved": true,
"skill_id": 516,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Android",
"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": [],
"skill_dimension_saved": true,
"skill_id": 1595,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "Kotlin",
"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": 2,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "Kotlin",
"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": 2,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "Kotlin",
"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": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 2,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "Kotlin",
"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": 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"
}
],
"skill_dimension_saved": true,
"skill_id": 2,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Design Patterns",
"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": [],
"skill_dimension_saved": true,
"skill_id": 1654,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture Patterns",
"id": 293,
"rationale": "Structural patterns for organizing Python backend code into maintainable modules, layers, and feature boundaries. This is a coherent cluster because senior backend developers are expected to refactor and shape service internals over time.",
"slug": "application-architecture-patterns",
"source": "db"
},
"dimension_id": 293,
"input_skill": "SOLID",
"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": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 614,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Service Architecture and Design Patterns",
"id": 18,
"rationale": "Reusable backend design patterns used to structure service code and boundaries. Covers layering, dependency management, domain modeling, and maintainable service organization.",
"slug": "service-architecture-and-design-patterns",
"source": "db"
},
"dimension_id": 18,
"input_skill": "SOLID",
"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": "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": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-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": 614,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "SOLID",
"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": "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": 614,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Unit Testing",
"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": [],
"skill_dimension_saved": true,
"skill_id": 517,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android UI Frameworks",
"id": 162,
"rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
"slug": "android-ui-frameworks",
"source": "db"
},
"dimension_id": 162,
"input_skill": "Jetpack Compose",
"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": "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"
}
],
"skill_dimension_saved": true,
"skill_id": 918,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "Dependency Injection",
"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": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "App Architecture and Dependency Injection",
"id": 94,
"rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
"slug": "app-architecture-and-dependency-injection",
"source": "db"
},
"dimension_id": 94,
"input_skill": "Dependency Injection",
"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"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture Patterns",
"id": 293,
"rationale": "Structural patterns for organizing Python backend code into maintainable modules, layers, and feature boundaries. This is a coherent cluster because senior backend developers are expected to refactor and shape service internals over time.",
"slug": "application-architecture-patterns",
"source": "db"
},
"dimension_id": 293,
"input_skill": "Dependency Injection",
"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": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Application Architecture and Code Organization",
"id": 220,
"rationale": "Structural patterns for organizing product code into maintainable modules, layers, and feature boundaries. Full stack engineers need this to keep cross-layer feature work understandable as the product grows.",
"slug": "application-architecture-and-code-organization",
"source": "db"
},
"dimension_id": 220,
"input_skill": "Dependency Injection",
"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": "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": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Backend Application Architecture and Code Organization",
"id": 366,
"rationale": "Structural patterns for organizing backend application code into maintainable modules, layers, and boundaries so services remain testable, modular, evolvable, and easy to refactor. This includes clean architecture, hexagonal architecture, layered architecture, dependency injection, service layers, package or module boundaries, modularization, domain-driven design, SOLID, CQRS, and mediator-style patterns. It excludes API endpoint syntax, database schema design, deployment topology, and frontend architecture.",
"slug": "backend-application-architecture-and-code-organization",
"source": "db"
},
"dimension_id": 366,
"input_skill": "Dependency Injection",
"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": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter App Architecture",
"id": 316,
"rationale": "Structural patterns used to organize Flutter code into maintainable modules, layers, and feature boundaries. Senior Flutter developers often own these patterns to keep shared app delivery scalable across teams and releases.",
"slug": "flutter-app-architecture",
"source": "db"
},
"dimension_id": 316,
"input_skill": "Dependency Injection",
"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": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Ionic App Architecture",
"id": 384,
"rationale": "Structural patterns for organizing Ionic code into maintainable modules, layers, and feature boundaries. Senior Ionic developers often define these patterns to keep shared app behavior consistent across devices and releases.",
"slug": "ionic-app-architecture",
"source": "db"
},
"dimension_id": 384,
"input_skill": "Dependency Injection",
"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": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Architecture and Code Organization",
"id": 170,
"rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
"slug": "mobile-architecture-and-code-organization",
"source": "db"
},
"dimension_id": 170,
"input_skill": "Dependency Injection",
"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": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile App Architecture and Dependency Injection",
"id": 273,
"rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
"slug": "native-mobile-app-architecture-and-dependency-injection",
"source": "db"
},
"dimension_id": 273,
"input_skill": "Dependency Injection",
"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": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "PHP and Magento Extension Points",
"id": 391,
"rationale": "Core implementation surface for Magento customizations, including module code, event-driven hooks, and platform conventions. This is the primary language-and-framework cluster for building upgrade-safe storefront behavior.",
"slug": "php-and-magento-extension-points",
"source": "db"
},
"dimension_id": 391,
"input_skill": "Dependency Injection",
"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": "Magento Dev",
"id": 231,
"rationale": null,
"role_archetype": "Engineering",
"slug": "magento-dev",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Service Architecture and Design Patterns",
"id": 18,
"rationale": "Reusable backend design patterns used to structure service code and boundaries. Covers layering, dependency management, domain modeling, and maintainable service organization.",
"slug": "service-architecture-and-design-patterns",
"source": "db"
},
"dimension_id": 18,
"input_skill": "Dependency Injection",
"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": "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": "Node.js Backend Developer",
"id": 82,
"rationale": null,
"role_archetype": "Engineering",
"slug": "node-backend-developer",
"source": "db"
},
{
"display_name": "PHP Backend Developer",
"id": 86,
"rationale": null,
"role_archetype": "Engineering",
"slug": "php-backend-developer",
"source": "db"
},
{
"display_name": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-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": 88,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Git",
"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": [],
"skill_dimension_saved": true,
"skill_id": 1002,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Koin",
"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": [],
"skill_dimension_saved": true,
"skill_id": 1637,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"dimension_id": 85,
"input_skill": "Realm",
"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": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 461,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"dimension_id": 85,
"input_skill": "Room",
"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": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 938,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Backend Concurrency and Async Programming",
"id": 387,
"rationale": "Programming techniques for handling multiple requests and background work safely and efficiently in backend services, including language-level async models, coroutines/tasks, cancellation, channels/flows, dispatchers/thread pools, locks, mutexes, semaphores, and structured concurrency across platforms such as Kotlin and .NET.",
"slug": "backend-concurrency-and-async-programming",
"source": "db"
},
"dimension_id": 387,
"input_skill": "Coroutines",
"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": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1639,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Concurrency and Async Workflows",
"id": 292,
"rationale": "Programming techniques for handling concurrent requests, asynchronous I/O, and coordination of background execution in Python services. This cluster is coherent because backend developers must safely manage throughput and responsiveness.",
"slug": "concurrency-and-async-workflows",
"source": "db"
},
"dimension_id": 292,
"input_skill": "Coroutines",
"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": ".NET Backend Developer",
"id": 83,
"rationale": null,
"role_archetype": "Engineering",
"slug": "dotnet-backend-developer",
"source": "db"
},
{
"display_name": "Python Backend Developer",
"id": 80,
"rationale": null,
"role_archetype": "Engineering",
"slug": "python-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1639,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": "Coroutines",
"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": 1639,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Screen Navigation and State",
"id": 83,
"rationale": "Patterns for moving users through app flows and keeping client state consistent across screens, refreshes, and app transitions. This is central to feature work because iOS engineers own the in-app request flow and UI logic.",
"slug": "screen-navigation-and-state",
"source": "db"
},
"dimension_id": 83,
"input_skill": "Jetpack Navigation",
"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": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 2080,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter Testing Frameworks",
"id": 324,
"rationale": "Testing tools and practices used to validate Flutter widgets, interactions, and integration behavior. This cluster is coherent because Flutter developers need fast feedback on UI logic, state transitions, and service wiring.",
"slug": "flutter-testing-frameworks",
"source": "db"
},
"dimension_id": 324,
"input_skill": "Mockito",
"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": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 2271,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Testing and Verification",
"id": 284,
"rationale": "Automated checks used to validate Java backend behavior across unit, integration, and service boundaries. This cluster covers test design, fixtures, mocks, and regression coverage for backend changes.",
"slug": "testing-and-verification",
"source": "db"
},
"dimension_id": 284,
"input_skill": "Mockito",
"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": "Go Backend Developer",
"id": 81,
"rationale": null,
"role_archetype": "Engineering",
"slug": "go-backend-developer",
"source": "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": "Ruby Backend Developer",
"id": 85,
"rationale": null,
"role_archetype": "Engineering",
"slug": "ruby-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 2271,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android Testing Frameworks",
"id": 164,
"rationale": "Test tools and patterns used to validate Android UI, integration, and device behavior. This cluster is distinct because Android engineers commonly write instrumentation and UI tests alongside feature code.",
"slug": "android-testing-frameworks",
"source": "db"
},
"dimension_id": 164,
"input_skill": "Espresso",
"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": 953,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Testing Frameworks",
"id": 168,
"rationale": "Test tools and patterns used to validate shared mobile UI, integration, and device behavior. Hybrid developers rely on these to catch regressions in screen flows, state transitions, and platform-specific edge cases.",
"slug": "mobile-testing-frameworks",
"source": "db"
},
"dimension_id": 168,
"input_skill": "Espresso",
"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": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 953,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "App Architecture and Dependency Injection",
"id": 94,
"rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
"slug": "app-architecture-and-dependency-injection",
"source": "db"
},
"dimension_id": 94,
"input_skill": "MVVM",
"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"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 504,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Architecture and Code Organization",
"id": 170,
"rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
"slug": "mobile-architecture-and-code-organization",
"source": "db"
},
"dimension_id": 170,
"input_skill": "MVVM",
"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": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 504,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile App Architecture and Dependency Injection",
"id": 273,
"rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
"slug": "native-mobile-app-architecture-and-dependency-injection",
"source": "db"
},
"dimension_id": 273,
"input_skill": "MVVM",
"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": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 504,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "iOS",
"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": [],
"skill_dimension_saved": true,
"skill_id": 1594,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": 75,
"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": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Frameworks \u0026 Libraries",
"id": 360,
"rationale": "Manage adoption, integration, and best practices around key software frameworks and libraries.",
"slug": "frameworks-libraries",
"source": "db"
},
"dimension_id": 360,
"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": "Drupal Dev",
"id": 228,
"rationale": null,
"role_archetype": "Engineering",
"slug": "drupal-dev",
"source": "db"
},
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 612,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"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": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"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": "4068b4ae-ac17-4065-8391-2d4afee7d9ed"
}
LLM Calls
Every model call made for this run, in pipeline order. Click a card to see the model's response.