← Back to history

Pipeline run

c08a9530-4bfc-4797-a237-e4bcf1c31f95

Pipeline LLM cost (USD)
API 1: $0.0113 API 2: $0.0002 API 3: $0.0000 Total: $0.0115

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
role baseline loaded sources · ai_index: jd · nature_of_work: jd · tech_stack_maturity: jd
Nature of work · Native screen and flow building
Build Android app features in Java/Kotlin/XML, wire in REST/JSON APIs and third-party SDKs, and keep releases stable by unit testing, fixing bugs, and improving performance with MVVM/Clean Architecture practices.
"Design and build advanced applications for the Android platform"
Tech stack maturity
Mainstream Modern
The skill set centers on Kotlin, coroutines, clean architecture, MVVM, REST APIs, and FCM for Android development, which are characteristic of modern but established mainstream mobile engineering.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
0.00 / 5
· Title match
· Has AI skill
· AI skill (primary)
· AI skill (secondary)
· On AI team
· Builds AI products
vocab breakdown (legacy)
Assistants (×1):
Frameworks (×2):
Models / concepts (×3):
Evidence — skills matched in JD (16)
Android Java Kotlin XML MVVM Clean Architecture MVC MVP Coroutines FCM SDK Android SDK REST JSON APIs Dagger
Skill cluster (7 dimension groups, role-scoped)
Native Mobile App Architecture and Dependency Injection
MVVM Clean Architecture MVC
Native Mobile Languages
Java Kotlin
API Integration and Data Fetching
JSON
Concurrency and Async Workflows
Coroutines
Integration Protocols & Standards
REST
Push Notifications and Messaging
FCM
Cross-cutting / unaligned
Android XML MVP SDK Android SDK APIs Dagger
Show KRA description ↓
• Design and build advanced applications for the Android platform • Collaborate with cross-functional teams to define, design, and ship new features • Work with outside data sources and APIs • Unit-test code for robustness, including edge cases, usability, and general reliability • Work on bug fixing and improving application performance • Continuously discover, evaluate, and implement new technologies to maximize development efficiency • Should have knowledge in these Languages: Java, kotlin, XML • Should possess prior familiarity in Architecture patterns: MVVM(Clean architecture), MVC,MVP • Hands-on experience with Coroutines, FCM, SDK, and Dagger (optional). • 1-3 years of experience required in the desired field • BS/MS degree in Computer Science, Engineering, or a related subject • Software development understanding and Android skills development. • Knowledge of Android app development and have published at least one original Android app. • Experience with Android SDK. • Experience working with remote data via REST and JSON • Good Understanding of third-party libraries and APIs • Good Knowledge of the general mobile landscape, architectures, trends, and emerging technologies. • Solid understanding of the full mobile development life cycle.

Signals

Skill kotlin-server-backend-developer
0.40
Alias android-engineer
1.00
KRA flutter-developer
0.55

Post-classification

Centroidupdated · n=1
Alias collision log
New-role queue
New skills captured3
New KRA capturedyes

Captured for admin review

MVP primary Native Mobile Developer pending
SDK primary Native Mobile Developer pending
Android SDK primary Native Mobile Developer pending
R&R fragment (sim 0.00) Native Mobile Developer pending

• Design and build advanced applications for the Android platform • Collaborate with cross-functional teams to define, design, and ship new features • Work with outside data sources and APIs • Unit-…

Status: completed Created: 2026-05-27T13:41:15.012475Z Updated: 2026-05-27T13:43:44.208049Z API 3 duration: 86110 ms
Flow Current 3-step pipeline

1 POST /skills/extract-from-jd

2 POST /skills/extract-details

3 POST /skills/final-role-output

Role Chosen role & resolution

Native Mobile Developer

Android Developer

sub-role · 0.99 domain · Software Engineering CASE DOMAIN

slug: native-mobile-developer · id: 75 · source: db · sub-role slug: android-engineer

Domain=Software Engineering → sub-role android-engineer; The JD is clearly about building Android applications with Android SDK, Java/Kotlin, REST/JSON, and mobile app lifecycle responsibilities, which best matches Native Mobile Developer.

Matched skills

AndroidJavakotlinXMLMVVMClean architectureMVCMVPCoroutinesFCMSDKDaggerRESTJSONthird-party libraries and APIs

Matched dimensions

Android app developmentNative mobile developmentMobile architecture patternsAPI integrationUnit testing and reliabilityPerformance optimizationCross-functional feature deliveryMobile development lifecycle

Matched KRAs

Design and build advanced applications for the Android platformCollaborate with cross-functional teams to define, design, and ship new featuresWork with outside data sources and APIsUnit-test code for robustness, including edge casesWork on bug fixing and improving application performanceContinuously discover, evaluate, and implement new technologiesExperience working with remote data via REST and JSONGood Knowledge of the general mobile landscape

Resolution: in_db — role exists in library; skill↔dim and role↔dim links saved when applicable.

0
New skills
0
Skill↔dim saved
0
Role↔dim saved
0
Skipped

Job description

JOB DESCRIPTION


Android  Developer


ABOUT US
Datacultr is a global Digital Operating System for Risk Management and Credit Recovery, we drive Collection Efficiencies, and reduce delinquencies and Non-Performing Loans (NPLs). Datacultr is a Digital-Only provider of Consumer Engagement, Recovery, and Collection Solutions, helping Consumer Lending, Retail, Telecom, and Fintech Organizations to expand and grow their business in the under-penetrated new to-credit and Thin File Segments. Datacultr’s platforms, make the underserved and unbanked segment viable, for providers of Consumer Durable Loans, Buy Now Pay Later, Micro-Loans, Nano-Loans, and other Unsecured Loans.

We are helping millions of new to-credit consumers, across emerging markets, access formal credit and begin their journey toward financial health. We have clients across India, South Asia, South East Asia, Africa and LATAM.

Datacultr is headquartered in Dubai, with offices in Abu Dhabi, Singapore, Nairobi, and Mexico City; with our Development Center based out of Gurugram, India.

ORGANIZATION’S GROWTH PLAN

Datacultr’s vision is to enable convenient financing opportunities for consumers, entrepreneurs, and small merchants, helping them combat the Socioeconomic problems this segment faces due to restricted access to financing.

JOB DESCRIPTION
POSITION – Android Developer
ROLE – Individual Contributor
FUNCTION – Engineering
WORK LOCATION – Gurugram
QUALIFICATION – B.Tech/ B.C.A
SALARY PACKAGE – Depends upon the skillset and interview
NOTICE PERIOD – Can join at the earliest


KEY RESPONSIBILITIES
• Design and build advanced applications for the Android platform
• Collaborate with cross-functional teams to define, design, and ship new features 
• Work with outside data sources and APIs 
• Unit-test code for robustness, including edge cases, usability, and general reliability 
• Work on bug fixing and improving application performance  
• Continuously discover, evaluate, and implement new technologies to maximize development efficiency  

KEY REQUIREMENTS

• Should have knowledge in these Languages: Java, kotlin, XML  
• Should possess prior familiarity in Architecture patterns: MVVM(Clean architecture), MVC,MVP 
• Hands-on experience with Coroutines, FCM, SDK, and Dagger (optional). 
• 1-3 years of experience required in the desired field 
• BS/MS degree in Computer Science, Engineering, or a related subject 
• Software development understanding and Android skills development. 
• Knowledge of Android app development and have published at least one original Android app. 
• Experience with Android SDK. 
• Experience working with remote data via REST and JSON 
• Good Understanding of third-party libraries and APIs
• Good Knowledge of the general mobile landscape, architectures, trends, and emerging technologies. 
• Solid understanding of the full mobile development life cycle.


PERKS AND BENEFITS


Performance Variable Pay
Flexible working hours
Medical benefits
Professional Development – Up-Skilling
Exciting work culture

Skills from this JD

Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.

Android Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Android id=1595 · android

Aliases — catalog

  • Android (CANONICAL)

Context tags (catalog)

API Level Android SDK Android Studio Firebase Gradle Java Jetpack Kotlin LiveData MVVM Material Design RecyclerView Retrofit Room XML

Stored enrichment (catalog DB)

Category
Platform
Sub-category
Mobile Platform
Vendor
Google
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)
Java Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Java id=1 · java

Aliases — catalog

  • Java (CANONICAL) primary
  • JDK (VERSION)
  • JDK 10 (VERSION)
  • JDK 11 (VERSION)
  • JDK 12 (VERSION)
  • JDK 13 (VERSION)
  • JDK 14 (VERSION)
  • JDK 15 (VERSION)
  • JDK 16 (VERSION)
  • JDK 17 (VERSION)
  • JDK 18 (VERSION)
  • JDK 19 (VERSION)
  • JDK 20 (VERSION)
  • JDK 21 (VERSION)
  • JDK 5 (VERSION)
  • JDK 6 (VERSION)
  • JDK 7 (VERSION)
  • JDK 8 (VERSION)
  • JDK 9 (VERSION)
  • Java 1.0 (VERSION)
  • Java 1.1 (VERSION)
  • Java 1.2 (VERSION)
  • Java 1.3 (VERSION)
  • Java 1.4 (VERSION)
  • Java 1.5 (VERSION)
  • Java 1.6 (VERSION)
  • Java 1.7 (VERSION)
  • Java 1.8 (VERSION)
  • Java 10 (VERSION)
  • Java 11 (VERSION)
  • Java 12 (VERSION)
  • Java 13 (VERSION)
  • Java 14 (VERSION)
  • Java 15 (VERSION)
  • Java 16 (VERSION)
  • Java 17 (VERSION)
  • Java 18 (VERSION)
  • Java 19 (VERSION)
  • Java 20 (VERSION)
  • Java 21 (VERSION)
  • Java 5 (VERSION)
  • Java 6 (VERSION)
  • Java 7 (VERSION)
  • Java 8 (VERSION)
  • Java 9 (VERSION)
  • Java11 (VERSION)
  • Java17 (VERSION)
  • Java21 (VERSION)
  • Java8 (VERSION)
  • OpenJDK 11 (VERSION)
  • OpenJDK 17 (VERSION)
  • OpenJDK 21 (VERSION)
  • OpenJDK 8 (VERSION)
  • java 11 (VERSION)
  • java 17 (VERSION)
  • java 21 (VERSION)
  • java 4 (VERSION)
  • java 5 (VERSION)
  • java 6 (VERSION)
  • java 7 (VERSION)
  • java 8 (VERSION)
  • java lts (VERSION)
  • java-11 (VERSION)
  • java-17 (VERSION)
  • java-21 (VERSION)
  • java-4 (VERSION)
  • java-5 (VERSION)
  • java-6 (VERSION)
  • java-7 (VERSION)
  • java-8 (VERSION)
  • java11 (VERSION)
  • java17 (VERSION)
  • java21 (VERSION)
  • java4 (VERSION)
  • java5 (VERSION)
  • java6 (VERSION)
  • java7 (VERSION)
  • java8 (VERSION)
  • jdk 11 (VERSION)
  • jdk 17 (VERSION)
  • jdk 21 (VERSION)
  • jdk 4 (VERSION)
  • jdk 5 (VERSION)
  • jdk 6 (VERSION)
  • jdk 7 (VERSION)
  • jdk 8 (VERSION)
  • jdk11 (VERSION)
  • jdk17 (VERSION)
  • jdk21 (VERSION)
  • jdk4 (VERSION)
  • jdk5 (VERSION)
  • jdk6 (VERSION)
  • jdk7 (VERSION)
  • jdk8 (VERSION)
  • jvm21 (VERSION)

Context tags (catalog)

APIs Apache Tomcat Concurrency Design patterns Garbage collection GraalVM Gradle Hibernate JDBC JDK JPA JUnit JVM Java 8 Java EE JavaFX Kafka Lambda expressions Maven Microservices Mockito Object-oriented REST RESTful SOAP Servlets Spring Spring Boot Tomcat microservices

Stored enrichment (catalog DB)

Category
Language
Sub-category
Programming Language
Vendor
Oracle
License
other_open
Year introduced
1995
Confidence
0.99
Version strategy
SEPARATE_ENTITY
Version tag
21

Maturity reasoning: Java is a hiring-pipeline staple with very high JD volume across enterprise backend, Android, and cloud roles; it remains widely supported by major vendors and frameworks like Spring.

Skill profile (library / DB)

Skill nature
LANGUAGE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
6
Sub-category id
96
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Java Language and JVM Catalog dimension db id 279

    Library dimension (catalog)

    Roles linked in library: Java Backend Developer, Kotlin Backend Developer, Scala Backend Developer

  • Kotlin and Java Catalog dimension db id 161

    Library dimension (catalog)

    Roles linked in library: Android Developer

  • Native Mobile Languages Catalog dimension db id 274

    Library dimension (catalog)

    Roles linked in library: Native Mobile Developer

  • Pega Programming Languages & DSLs Catalog dimension db id 267

    Library dimension (catalog)

    Roles linked in library: Pega Developer

  • Programming Languages Catalog dimension db id 1

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Fullstack Developer

  • Programming Languages for Data Work Catalog dimension db id 21

    Library dimension (catalog)

    Roles linked in library: Data Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Pega Programming Languages & DSLs
pega-programming-languages-dsls
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for Data Work
programming-languages-for-data-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Kotlin id=2 · kotlin

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)

Android Anko Coroutines DSL Dagger Data classes Extension functions Flow Gradle Hilt JUnit Jetpack Jetpack Compose Kotlin DSL Kotlin Native Kotlinx Ktor MVI MVVM Mockito Multiplatform Null safety Retrofit Room RxKotlin Sealed classes Spring Type inference

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

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)
XML Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: XML id=1636 · xml

Aliases — catalog

  • XML (CANONICAL) primary

Context tags (catalog)

Atom DOM DTD Data Interchange Data Serialization JSON Markup Language Namespaces Parsing RSS SAX SOAP SVG Serialization Well-formed XML Schema XPath XQuery XSLT

Stored enrichment (catalog DB)

Category
Format
Sub-category
Markup Format
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: XML remains a common requirement in JDs for enterprise integration, SOAP, RSS, and config files; it’s still widely supported across major platforms rather than being sunset or replaced outright.

Skill profile (library / DB)

Skill nature
STANDARD
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
4
Sub-category id
689
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Integration Protocols & Standards Catalog dimension db id 271

    Library dimension (catalog)

    Roles linked in library: Pega Developer

  • React Frontend Development Catalog dimension db id 96

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVVM Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: MVVM id=504 · mvvm

Aliases — catalog

  • MVVM (CANONICAL) primary

Context tags (catalog)

Activity Android Architecture Components Caliburn.Micro Data Binding Fragment ICommand Jetpack Compose Kotlin LiveData MVVM Light Observable ObservableCollection ReactiveUI RecyclerView StateFlow SwiftUI Two-way binding UI framework ViewModel WPF XAML command binding command pattern data binding dependency injection event aggregation navigation service platform independence property change notification testability testable UI unit testing view model

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
Clean Architecture Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: clean architecture id=1078 · clean-architecture

Aliases — catalog

  • clean architecture (CANONICAL) primary
  • Clean Architecture (CANONICAL)
  • Clean architecture (CANONICAL)

Context tags (catalog)

API design CQRS SOLID principles application layer application services bounded context business logic component-based data layer data mappers dependency inversion design patterns domain-driven design entities event-driven architecture framework independence hexagonal architecture infrastructure infrastructure layer interface adapters interface segregation interfaces inversion of control layered architecture maintainability microservices modularity presentation layer repository pattern scalability separation of concerns service layer service-oriented architecture testability unit testing use cases

Stored enrichment (catalog DB)

Category
Architecture
Sub-category
Clean Architecture
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: Commonly requested in software JDs and architecture interviews; widely referenced in books, blogs, and enterprise codebases as a standard design approach rather than a niche framework.

Skill profile (library / DB)

Skill nature
PATTERN
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
1
Sub-category id
733
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

  • 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

  • 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

  • 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
Application Architecture Patterns
application-architecture-patterns
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)
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
Service Architecture and Design Patterns
service-architecture-and-design-patterns
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVC Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: MVC id=505 · mvc

Aliases — catalog

  • MVC (CANONICAL) primary

Context tags (catalog)

ASP.NET ASP.NET MVC Angular Backend Controller Data binding Dependency injection Express.js Flask Frontend Laravel Model Model-View-Controller RESTful Rails React Routing Ruby on Rails Separation of concerns Spring MVC UI components View action methods controller data binding dependency injection event handling layout pages model partial views routing separation of concerns state management template engine templating view

Stored enrichment (catalog DB)

Category
Architecture
Sub-category
Model View Controller
Year introduced
1979
Confidence
0.93
Version strategy
NOT_APPLICABLE

Maturity reasoning: MVC remains a standard web/app architecture in many job descriptions and frameworks (e.g., ASP.NET MVC, Spring MVC, Rails), with no vendor sunset or replacement making it obsolete.

Skill profile (library / DB)

Skill nature
PATTERN
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
1
Sub-category id
2462
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • ASP.NET Core Web Frameworks Catalog dimension db id 363

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer

  • App Architecture and Dependency Injection Catalog dimension db id 94

    Library dimension (catalog)

    Roles linked in library: Android Developer, iOS Developer

  • Application Architecture and Code Organization Catalog dimension db id 220

    Library dimension (catalog)

    Roles linked in library: Fullstack 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
ASP.NET Core Web Frameworks
asp-net-core-web-frameworks
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 and Code Organization
application-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
MVP Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Software Development Concepts
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Coroutines Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: coroutines id=1639 · coroutines

Aliases — catalog

  • coroutines (CANONICAL) primary
  • Coroutines (CANONICAL)

Context tags (catalog)

Channel CoroutineScope Dispatchers Flow I/O bound Java CompletableFuture Kotlin Coroutines async asynchronous programming asyncio await callback concurrent concurrent execution cooperative multitasking coroutine coroutine builders coroutine context coroutine library event loop future generator launch non-blocking parallelism promise reactive programming structured concurrency suspend synchronous task scheduling yield

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)
FCM Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: FCM id=2013 · fcm

Aliases — catalog

  • FCM (CANONICAL) primary

Context tags (catalog)

APNs Android Cloud Messaging Firebase data messages delivery reports device tokens iOS message delivery message targeting mobile app notification notification channels notification payload push notifications real-time updates server integration topic messaging user engagement web push

Stored enrichment (catalog DB)

Category
Service
Sub-category
Push Messaging Service
Vendor
Google
License
unknown
Year introduced
2016
Confidence
0.96
Version strategy
NOT_APPLICABLE

Maturity reasoning: Firebase Cloud Messaging is widely used for mobile/web push and appears regularly in Android, Flutter, and backend job descriptions; Google actively maintains it as the standard successor to GCM.

Skill profile (library / DB)

Skill nature
CLOUD_SERVICE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
11
Sub-category id
2113
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Push Notifications and Deep Links Catalog dimension db id 320

    Library dimension (catalog)

    Roles linked in library: Ionic Developer, React Native Developer

  • Push Notifications and Messaging Catalog dimension db id 88

    Library dimension (catalog)

    Roles linked in library: Android Developer, Flutter Developer, Hybrid Mobile Developer, Native Mobile Developer, iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Push Notifications and Deep Links
push-notifications-and-deep-links
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Push Notifications and Messaging
push-notifications-and-messaging
Existing dimension (library) · Role↔dimension saved
SDK Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Software Development Tools
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Dagger Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Dagger id=984 · dagger

Aliases — catalog

  • Dagger (CANONICAL) primary

Context tags (catalog)

Android Dagger 2 Hilt annotation bind component dependency injection graph inject module provider qualifier scope singleton subcomponent

Stored enrichment (catalog DB)

Category
Library
Sub-category
Dependency Injection Library
Vendor
Google
License
apache_2
Year introduced
2014
Confidence
0.97
Version strategy
NOT_APPLICABLE

Maturity reasoning: Dagger is a standard Android/Java DI library and appears frequently in Android job descriptions; its successor Hilt is also promoted by Google, but Dagger remains widely used in existing codebases.

Skill profile (library / DB)

Skill nature
LIBRARY
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
7
Sub-category id
698
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

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)
Android SDK Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Mobile Development Tools
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
REST Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: REST id=11 · rest

Aliases — catalog

  • REST (CANONICAL) primary

Context tags (catalog)

API API design API versioning CRUD DELETE GET HATEOAS HTTP JSON OAuth OAuth2 OpenAPI POST PUT Postman RESTful Swagger URI Webhooks XML authentication client-server content negotiation endpoint endpoints middleware resource resource-oriented serialization stateless status codes versioning web services

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Api Architecture Style
Year introduced
2000
Confidence
0.88
Version strategy
NOT_APPLICABLE

Maturity reasoning: REST is a default API architecture in many job descriptions and is widely supported by major vendors/frameworks; OpenAPI and RESTful endpoints remain standard in hiring pipelines.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
2122
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • API Design and Contracts Catalog dimension db id 3

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Fullstack Developer

  • API Interface and Contract Design Catalog dimension db id 289

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer, Go Backend Developer, Kotlin Backend Developer, Node.js Backend Developer, PHP Backend Developer, Python Backend Developer, Ruby Backend Developer, Scala Backend Developer

  • Integration Protocols & Standards Catalog dimension db id 271

    Library dimension (catalog)

    Roles linked in library: Pega Developer

  • Standards & Protocols Compliance Catalog dimension db id 452

    Library dimension (catalog)

    Roles linked in library: Sitecore Dev

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
API Design and Contracts
api-design-and-contracts
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
API Interface and Contract Design
api-interface-and-contract-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Standards & Protocols Compliance
standards-protocols-compliance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
JSON Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: JSON id=1984 · json

Aliases — catalog

  • JSON (CANONICAL) primary

Context tags (catalog)

AJAX API JSON Schema JSON-LD JSONP JavaScript NoSQL REST configuration data binding data format data interchange data structure deserialization interoperability key-value pairs lightweight object notation schema serialization text-based

Stored enrichment (catalog DB)

Category
Format
Sub-category
Data Interchange Format
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: JSON is a default data interchange format in APIs and web stacks; it appears in a very high volume of job descriptions and is supported by every major language/runtime.

Skill profile (library / DB)

Skill nature
STANDARD
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
4
Sub-category id
1457
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • API Integration and Data Fetching Catalog dimension db id 127

    Library dimension (catalog)

    Roles linked in library: Angular Frontend Developer, Frontend Developer, Fullstack Developer, React Frontend Developer, Svelte Frontend Developer, Vue Frontend Developer, Web Developer

  • API Interface and Contract Design Catalog dimension db id 289

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer, Go Backend Developer, Kotlin Backend Developer, Node.js Backend Developer, PHP Backend Developer, Python Backend Developer, Ruby Backend Developer, Scala Backend Developer

  • Integration Protocols & Standards Catalog dimension db id 271

    Library dimension (catalog)

    Roles linked in library: Pega Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
API Integration and Data Fetching
api-integration-and-data-fetching
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
API Interface and Contract Design
api-interface-and-contract-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
APIs Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: APIs id=1192 · apis

Aliases — catalog

  • APIs (CANONICAL)

Context tags (catalog)

API Gateway Endpoint GraphQL JSON JWT Microservices OAuth Postman REST Rate Limiting SOAP Swagger Throttling Webhooks XML

Stored enrichment (catalog DB)

Category
Protocol
Sub-category
Application Programming Interfaces
Confidence
0.93
Version strategy
NOT_APPLICABLE

Maturity reasoning: APIs are a hiring-pipeline staple across backend, mobile, and platform JDs; REST/GraphQL/API design appears in large volumes of job postings and vendor docs, indicating broad adoption.

Skill profile (library / DB)

Skill nature
PROTOCOL
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
10
Sub-category id
902
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)

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
Android in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Java in_db
Pega Programming Languages & DSLs
pega-programming-languages-dsls
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Java in_db
Programming Languages for Data Work
programming-languages-for-data-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
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)
XML in_db
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
XML in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
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
Clean Architecture in_db
Application Architecture Patterns
application-architecture-patterns
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Clean Architecture 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)
Clean Architecture in_db
Flutter App Architecture
flutter-app-architecture
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Clean Architecture in_db
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Clean Architecture in_db
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension saved
Clean Architecture in_db
Service Architecture and Design Patterns
service-architecture-and-design-patterns
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVC in_db
ASP.NET Core Web Frameworks
asp-net-core-web-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVC in_db
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVC in_db
Application Architecture and Code Organization
application-architecture-and-code-organization
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVC in_db
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
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)
FCM in_db
Push Notifications and Deep Links
push-notifications-and-deep-links
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
FCM in_db
Push Notifications and Messaging
push-notifications-and-messaging
Existing dimension (library) · Role↔dimension saved
Dagger in_db
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
API Design and Contracts
api-design-and-contracts
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
API Interface and Contract Design
api-interface-and-contract-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
Standards & Protocols Compliance
standards-protocols-compliance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
JSON in_db
API Integration and Data Fetching
api-integration-and-data-fetching
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
JSON in_db
API Interface and Contract Design
api-interface-and-contract-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
JSON in_db
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
APIs in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

Kind Detail DB id
canonical_skill_proposed MVP | type=Software Development Concepts subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed SDK | type=Software Development Tools subtype=general nature=TOOL lifespan=MULTI_YEAR
canonical_skill_proposed Android SDK | type=Mobile Development Tools subtype=general nature=TOOL lifespan=MULTI_YEAR
nano JD Parser — gpt-4.1-nano click to toggle
RoleAndroid Developer
CompanyDatacultr
Experience1-3 years of experience required in the desired field
DomainIT Services & Consulting
Location Gurugram, India (onsite)
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": {
    "source_marker": {
      "first_5_words": "Datacultr is a global Digital",
      "last_5_words": "and other Unsecured Loans."
    },
    "text": "Datacultr is a global Digital Operating System for Risk Management and Credit Recovery, we drive Collection Efficiencies, and reduce delinquencies and Non-Performing Loans (NPLs). Datacultr is a Digital-Only provider of Consumer Engagement, Recovery, and Collection Solutions, helping Consumer Lending, Retail, Telecom, and Fintech Organizations to expand and grow their business in the under-penetrated new to-credit and Thin File Segments. Datacultr\u2019s platforms, make the underserved and unbanked segment viable, for providers of Consumer Durable Loans, Buy Now Pay Later, Micro-Loans, Nano-Loans, and other Unsecured Loans.",
    "word_count": 84
  },
  "certifications": [],
  "company_name": "Datacultr",
  "ctc": null,
  "domain": {
    "primary": {
      "aliases": [
        "ITES",
        "BPO",
        "Tech Consulting"
      ],
      "domain": "IT Services \u0026 Consulting"
    },
    "secondary": null
  },
  "education": [
    {
      "level": "Bachelor\u0027s",
      "qualification": "BTECH/BE/BCA - Computer Science / Engineering (or related)",
      "raw": "B.Tech/ B.C.A",
      "requirement": "required"
    }
  ],
  "experience": {
    "max": 3,
    "min": 1,
    "raw": "1-3 years of experience required in the desired field"
  },
  "job_locations": [
    {
      "aliases": [
        "Gurgaon"
      ],
      "city": "Gurugram",
      "country": "India",
      "state": null,
      "work_mode": "onsite"
    }
  ],
  "role": "Android Developer",
  "role_aliases": [
    "Android Engineer",
    "Mobile Developer",
    "Android App Developer"
  ],
  "role_archetype": "Engineering",
  "roles_and_responsibilities": [
    {
      "bullet_count": 6,
      "heading": "KEY RESPONSIBILITIES",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 Design and build advanced",
        "last_5_words": "to maximize development efficiency"
      },
      "text": "\u2022 Design and build advanced applications for the Android platform\n\u2022 Collaborate with cross-functional teams to define, design, and ship new features \n\u2022 Work with outside data sources and APIs \n\u2022 Unit-test code for robustness, including edge cases, usability, and general reliability \n\u2022 Work on bug fixing and improving application performance  \n\u2022 Continuously discover, evaluate, and implement new technologies to maximize development efficiency  ",
      "word_count": 56
    },
    {
      "bullet_count": 12,
      "heading": "KEY REQUIREMENTS",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 Should have knowledge in",
        "last_5_words": "the full mobile development life cycle."
      },
      "text": "\u2022 Should have knowledge in these Languages: Java, kotlin, XML  \n\u2022 Should possess prior familiarity in Architecture patterns: MVVM(Clean architecture), MVC,MVP \n\u2022 Hands-on experience with Coroutines, FCM, SDK, and Dagger (optional). \n\u2022 1-3 years of experience required in the desired field \n\u2022 BS/MS degree in Computer Science, Engineering, or a related subject \n\u2022 Software development understanding and Android skills development. \n\u2022 Knowledge of Android app development and have published at least one original Android app. \n\u2022 Experience with Android SDK. \n\u2022 Experience working with remote data via REST and JSON \n\u2022 Good Understanding of third-party libraries and APIs\n\u2022 Good Knowledge of the general mobile landscape, architectures, trends, and emerging technologies. \n\u2022 Solid understanding of the full mobile development life cycle.",
      "word_count": 139
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "Android"
    },
    {
      "is_primary": true,
      "skill_name": "Java"
    },
    {
      "is_primary": true,
      "skill_name": "Kotlin"
    },
    {
      "is_primary": true,
      "skill_name": "XML"
    },
    {
      "is_primary": true,
      "skill_name": "MVVM"
    },
    {
      "is_primary": true,
      "skill_name": "Clean Architecture"
    },
    {
      "is_primary": true,
      "skill_name": "MVC"
    },
    {
      "is_primary": true,
      "skill_name": "MVP"
    },
    {
      "is_primary": true,
      "skill_name": "Coroutines"
    },
    {
      "is_primary": true,
      "skill_name": "FCM"
    },
    {
      "is_primary": true,
      "skill_name": "SDK"
    },
    {
      "is_primary": false,
      "skill_name": "Dagger"
    },
    {
      "is_primary": true,
      "skill_name": "Android SDK"
    },
    {
      "is_primary": true,
      "skill_name": "REST"
    },
    {
      "is_primary": true,
      "skill_name": "JSON"
    },
    {
      "is_primary": true,
      "skill_name": "APIs"
    }
  ],
  "jd_role": {
    "display_name": "Android Developer",
    "rationale": null,
    "role_aliases": [
      "Android Engineer",
      "Mobile Developer",
      "Android App Developer"
    ],
    "role_archetype": "Engineering",
    "slug": ""
  },
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": {
      "source_marker": {
        "first_5_words": "Datacultr is a global Digital",
        "last_5_words": "and other Unsecured Loans."
      },
      "text": "Datacultr is a global Digital Operating System for Risk Management and Credit Recovery, we drive Collection Efficiencies, and reduce delinquencies and Non-Performing Loans (NPLs). Datacultr is a Digital-Only provider of Consumer Engagement, Recovery, and Collection Solutions, helping Consumer Lending, Retail, Telecom, and Fintech Organizations to expand and grow their business in the under-penetrated new to-credit and Thin File Segments. Datacultr\u2019s platforms, make the underserved and unbanked segment viable, for providers of Consumer Durable Loans, Buy Now Pay Later, Micro-Loans, Nano-Loans, and other Unsecured Loans.",
      "word_count": 84
    },
    "certifications": [],
    "company_name": "Datacultr",
    "ctc": null,
    "domain": {
      "primary": {
        "aliases": [
          "ITES",
          "BPO",
          "Tech Consulting"
        ],
        "domain": "IT Services \u0026 Consulting"
      },
      "secondary": null
    },
    "education": [
      {
        "level": "Bachelor\u0027s",
        "qualification": "BTECH/BE/BCA - Computer Science / Engineering (or related)",
        "raw": "B.Tech/ B.C.A",
        "requirement": "required"
      }
    ],
    "experience": {
      "max": 3,
      "min": 1,
      "raw": "1-3 years of experience required in the desired field"
    },
    "job_locations": [
      {
        "aliases": [
          "Gurgaon"
        ],
        "city": "Gurugram",
        "country": "India",
        "state": null,
        "work_mode": "onsite"
      }
    ],
    "role": "Android Developer",
    "role_aliases": [
      "Android Engineer",
      "Mobile Developer",
      "Android App Developer"
    ],
    "role_archetype": "Engineering",
    "roles_and_responsibilities": [
      {
        "bullet_count": 6,
        "heading": "KEY RESPONSIBILITIES",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 Design and build advanced",
          "last_5_words": "to maximize development efficiency"
        },
        "text": "\u2022 Design and build advanced applications for the Android platform\n\u2022 Collaborate with cross-functional teams to define, design, and ship new features \n\u2022 Work with outside data sources and APIs \n\u2022 Unit-test code for robustness, including edge cases, usability, and general reliability \n\u2022 Work on bug fixing and improving application performance  \n\u2022 Continuously discover, evaluate, and implement new technologies to maximize development efficiency  ",
        "word_count": 56
      },
      {
        "bullet_count": 12,
        "heading": "KEY REQUIREMENTS",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 Should have knowledge in",
          "last_5_words": "the full mobile development life cycle."
        },
        "text": "\u2022 Should have knowledge in these Languages: Java, kotlin, XML  \n\u2022 Should possess prior familiarity in Architecture patterns: MVVM(Clean architecture), MVC,MVP \n\u2022 Hands-on experience with Coroutines, FCM, SDK, and Dagger (optional). \n\u2022 1-3 years of experience required in the desired field \n\u2022 BS/MS degree in Computer Science, Engineering, or a related subject \n\u2022 Software development understanding and Android skills development. \n\u2022 Knowledge of Android app development and have published at least one original Android app. \n\u2022 Experience with Android SDK. \n\u2022 Experience working with remote data via REST and JSON \n\u2022 Good Understanding of third-party libraries and APIs\n\u2022 Good Knowledge of the general mobile landscape, architectures, trends, and emerging technologies. \n\u2022 Solid understanding of the full mobile development life cycle.",
        "word_count": 139
      }
    ],
    "urls": []
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "c08a9530-4bfc-4797-a237-e4bcf1c31f95",
  "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
      },
      {
        "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
      }
    ],
    "kra_match_roles": [
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features",
            "similarity": 0.7428
          },
          {
            "kra_text": "optimize responsiveness and performance",
            "sentence": "Continuously discover, evaluate, and implement new technologies to maximize development efficiency",
            "similarity": 0.4591
          },
          {
            "kra_text": "structure reusable application code",
            "sentence": "Unit-test code for robustness, including edge cases, usability, and general reliability",
            "similarity": 0.4515
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.5511,
        "slug": "flutter-developer",
        "total_count": null
      },
      {
        "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": "Design and build advanced applications for the Android platform",
            "similarity": 0.595
          },
          {
            "kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
            "sentence": "Software development understanding and Android skills development.",
            "similarity": 0.5588
          },
          {
            "kra_text": "Investigates and resolves app crashes, ANR issues, and device-specific compatibility bugs using Crashlytics, Firebase, and Android Logcat.",
            "sentence": "Work on bug fixing and improving application performance",
            "similarity": 0.4653
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 4,
        "score": 0.5397,
        "slug": "android-engineer",
        "total_count": null
      },
      {
        "display_name": "Fullstack Developer",
        "kra_matches": [
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features",
            "similarity": 0.6154
          },
          {
            "kra_text": "Writes application logic across the presentation layer, service layer, and data access layer of web applications following MVC or clean architecture patterns.",
            "sentence": "Should possess prior familiarity in Architecture patterns: MVVM(Clean architecture), MVC,MVP",
            "similarity": 0.5283
          },
          {
            "kra_text": "Delivers features through CI/CD pipelines using automated tests, staged rollouts, feature flags, and incremental deployments.",
            "sentence": "Continuously discover, evaluate, and implement new technologies to maximize development efficiency",
            "similarity": 0.4415
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 0.5284,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "Angular Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "collaboration with design and QA",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features",
            "similarity": 0.5936
          },
          {
            "kra_text": "code review and refactoring",
            "sentence": "Work on bug fixing and improving application performance",
            "similarity": 0.4948
          },
          {
            "kra_text": "code review and refactoring",
            "sentence": "Unit-test code for robustness, including edge cases, usability, and general reliability",
            "similarity": 0.4938
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 90,
        "score": 0.5274,
        "slug": "angular-frontend-developer",
        "total_count": null
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "Collaborates with UX designers to refine interaction details, animations, responsive breakpoints, and micro-interaction behavior.",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features",
            "similarity": 0.5608
          },
          {
            "kra_text": "Supports production releases by diagnosing cross-browser compatibility issues, investigating UI regressions, and resolving frontend performance degradation.",
            "sentence": "Work on bug fixing and improving application performance",
            "similarity": 0.4974
          },
          {
            "kra_text": "Integrates frontend views with RESTful or GraphQL backend APIs, handling async data fetching, loading states, error boundaries, and cache invalidation.",
            "sentence": "Experience working with remote data via REST and JSON",
            "similarity": 0.4464
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 7,
        "score": 0.5015,
        "slug": "frontend-engineer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Kotlin Backend Developer",
        "kra_matches": null,
        "matched_count": 6,
        "matched_skills": [
          "JSON",
          "Java",
          "Kotlin",
          "REST",
          "clean architecture",
          "coroutines"
        ],
        "role_id": 84,
        "score": 0.4,
        "slug": "kotlin-server-backend-developer",
        "total_count": 15
      },
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": 6,
        "matched_skills": [
          "FCM",
          "Java",
          "Kotlin",
          "MVC",
          "MVVM",
          "coroutines"
        ],
        "role_id": 4,
        "score": 0.4,
        "slug": "android-engineer",
        "total_count": 15
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": null,
        "matched_count": 6,
        "matched_skills": [
          "FCM",
          "Java",
          "Kotlin",
          "MVC",
          "MVVM",
          "clean architecture"
        ],
        "role_id": 75,
        "score": 0.4,
        "slug": "native-mobile-developer",
        "total_count": 15
      },
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 5,
        "matched_skills": [
          "JSON",
          "Java",
          "Kotlin",
          "MVC",
          "REST"
        ],
        "role_id": 15,
        "score": 0.3333,
        "slug": "full-stack-engineer",
        "total_count": 15
      },
      {
        "display_name": ".NET Backend Developer",
        "kra_matches": null,
        "matched_count": 5,
        "matched_skills": [
          "JSON",
          "MVC",
          "REST",
          "clean architecture",
          "coroutines"
        ],
        "role_id": 83,
        "score": 0.3333,
        "slug": "dotnet-backend-developer",
        "total_count": 15
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": false,
    "case": "DOMAIN",
    "chosen_role": {
      "display_name": "Native Mobile Developer",
      "kra_matches": null,
      "matched_count": null,
      "matched_skills": null,
      "role_id": 75,
      "score": 0.99,
      "slug": "native-mobile-developer",
      "total_count": null
    },
    "confidence": 0.99,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [
      "Android app development",
      "Native mobile development",
      "Mobile architecture patterns",
      "API integration",
      "Unit testing and reliability",
      "Performance optimization",
      "Cross-functional feature delivery",
      "Mobile development lifecycle"
    ],
    "matched_kras": [
      "Design and build advanced applications for the Android platform",
      "Collaborate with cross-functional teams to define, design, and ship new features",
      "Work with outside data sources and APIs",
      "Unit-test code for robustness, including edge cases",
      "Work on bug fixing and improving application performance",
      "Continuously discover, evaluate, and implement new technologies",
      "Experience working with remote data via REST and JSON",
      "Good Knowledge of the general mobile landscape"
    ],
    "matched_skills": [
      "Android",
      "Java",
      "kotlin",
      "XML",
      "MVVM",
      "Clean architecture",
      "MVC",
      "MVP",
      "Coroutines",
      "FCM",
      "SDK",
      "Dagger",
      "REST",
      "JSON",
      "third-party libraries and APIs"
    ],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD is clearly about building Android applications with Android SDK, Java/Kotlin, REST/JSON, and mobile app lifecycle responsibilities, which best matches Native Mobile Developer.",
    "sub_role": {
      "confidence": 0.99,
      "display_name": "Android Developer",
      "reasoning": "The JD is explicitly Android-focused throughout, naming Android platform, Java/Kotlin, Android SDK, and Android app development, so the Android child clearly fits.",
      "role_id": 4,
      "slug": "android-engineer"
    }
  },
  "stage5_updates": {
    "centroid_n_after": 1,
    "centroid_updated": true,
    "collision_log_id": null,
    "new_kra_attached": {
      "best_kra_similarity": 0.0,
      "queue_id": 165,
      "r_and_r_preview": "\u2022 Design and build advanced applications for the Android platform\n\u2022 Collaborate with cross-functional teams to define, design, and ship new features \n\u2022 Work with outside data sources and APIs \n\u2022 Unit-",
      "role_display_name": "Native Mobile Developer",
      "role_slug": "native-mobile-developer",
      "status": "pending"
    },
    "new_skills_attached": [
      {
        "is_primary": true,
        "queue_id": 4106,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "MVP",
        "status": "pending"
      },
      {
        "is_primary": true,
        "queue_id": 4107,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "SDK",
        "status": "pending"
      },
      {
        "is_primary": true,
        "queue_id": 4108,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Android SDK",
        "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": 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": 1,
      "existing_alias_text": "Java",
      "input_term": "Java",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "Java",
        "id": 1,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "java",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 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": 2600,
      "existing_alias_text": "XML",
      "input_term": "XML",
      "matched_canonical": {
        "category_id": 4,
        "display_name": "XML",
        "id": 1636,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "xml",
        "sub_category_id": 689,
        "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": 3091,
      "existing_alias_text": "Clean Architecture",
      "input_term": "Clean Architecture",
      "matched_canonical": {
        "category_id": 1,
        "display_name": "clean architecture",
        "id": 1078,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "clean-architecture",
        "sub_category_id": 733,
        "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": 831,
      "existing_alias_text": "MVC",
      "input_term": "MVC",
      "matched_canonical": {
        "category_id": 1,
        "display_name": "MVC",
        "id": 505,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "mvc",
        "sub_category_id": 2462,
        "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": 3047,
      "existing_alias_text": "FCM",
      "input_term": "FCM",
      "matched_canonical": {
        "category_id": 11,
        "display_name": "FCM",
        "id": 2013,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CLOUD_SERVICE",
        "slug": "fcm",
        "sub_category_id": 2113,
        "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": 1594,
      "existing_alias_text": "Dagger",
      "input_term": "Dagger",
      "matched_canonical": {
        "category_id": 7,
        "display_name": "Dagger",
        "id": 984,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "dagger",
        "sub_category_id": 698,
        "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": 106,
      "existing_alias_text": "REST",
      "input_term": "REST",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "REST",
        "id": 11,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "rest",
        "sub_category_id": 2122,
        "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": 3018,
      "existing_alias_text": "JSON",
      "input_term": "JSON",
      "matched_canonical": {
        "category_id": 4,
        "display_name": "JSON",
        "id": 1984,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "json",
        "sub_category_id": 1457,
        "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": 1828,
      "existing_alias_text": "APIs",
      "input_term": "APIs",
      "matched_canonical": {
        "category_id": 10,
        "display_name": "APIs",
        "id": 1192,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PROTOCOL",
        "slug": "apis",
        "sub_category_id": 902,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "Java Backend Developer",
      "id": 79,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "java-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Kotlin Backend Developer",
      "id": 84,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "kotlin-server-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Scala Backend Developer",
      "id": 87,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "scala-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Android Developer",
      "id": 4,
      "rationale": null,
      "role_archetype": null,
      "slug": "android-engineer",
      "source": "db"
    },
    {
      "display_name": "Native Mobile Developer",
      "id": 75,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "native-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Pega Developer",
      "id": 24,
      "rationale": null,
      "role_archetype": null,
      "slug": "pega-developer",
      "source": "db"
    },
    {
      "display_name": "Backend Developer",
      "id": 1,
      "rationale": null,
      "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
      "slug": "backend-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 15,
      "rationale": null,
      "role_archetype": null,
      "slug": "full-stack-engineer",
      "source": "db"
    },
    {
      "display_name": "Data Engineer",
      "id": 2,
      "rationale": null,
      "role_archetype": null,
      "slug": "data-engineer",
      "source": "db"
    },
    {
      "display_name": "iOS Developer",
      "id": 6,
      "rationale": null,
      "role_archetype": null,
      "slug": "ios-engineer",
      "source": "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"
    },
    {
      "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": "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": "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": "Ionic Developer",
      "id": 434,
      "rationale": null,
      "role_archetype": null,
      "slug": "ionic-developer",
      "source": "db"
    },
    {
      "display_name": "Sitecore Dev",
      "id": 233,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "sitecore-dev",
      "source": "db"
    },
    {
      "display_name": "Angular Frontend Developer",
      "id": 90,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "angular-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Frontend Developer",
      "id": 7,
      "rationale": null,
      "role_archetype": null,
      "slug": "frontend-engineer",
      "source": "db"
    },
    {
      "display_name": "React Frontend Developer",
      "id": 89,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Svelte Frontend Developer",
      "id": 92,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "svelte-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Vue Frontend Developer",
      "id": 91,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "vue-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Web Developer",
      "id": 25,
      "rationale": null,
      "role_archetype": null,
      "slug": "web-developer",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD is clearly about building Android applications with Android SDK, Java/Kotlin, REST/JSON, and mobile app lifecycle responsibilities, which best matches Native Mobile Developer.",
    "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": "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": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Java Backend Developer",
          "id": 79,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "java-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Kotlin Backend Developer",
          "id": 84,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "kotlin-server-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Kotlin and Java",
        "id": 161,
        "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
        "slug": "kotlin-and-java",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile Languages",
        "id": 274,
        "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
        "slug": "native-mobile-languages",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Pega Programming Languages \u0026 DSLs",
        "id": 267,
        "rationale": "Programming languages and domain-specific languages used in Pega development.",
        "slug": "pega-programming-languages-dsls",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Pega Developer",
          "id": 24,
          "rationale": null,
          "role_archetype": null,
          "slug": "pega-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages",
        "id": 1,
        "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
        "slug": "programming-languages",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for Data Work",
        "id": 21,
        "rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
        "slug": "programming-languages-for-data-work",
        "source": "db"
      },
      "input_skill": "Java",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Engineer",
          "id": 2,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "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": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Integration Protocols \u0026 Standards",
        "id": 271,
        "rationale": "Standards and protocols for integrating Pega applications.",
        "slug": "integration-protocols-standards",
        "source": "db"
      },
      "input_skill": "XML",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Pega Developer",
          "id": 24,
          "rationale": null,
          "role_archetype": null,
          "slug": "pega-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "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": "XML",
      "llm_role": null,
      "roles_from_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": "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": "Clean Architecture",
      "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": "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": "Clean Architecture",
      "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": "Clean Architecture",
      "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": "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": "Clean Architecture",
      "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": "Clean Architecture",
      "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": "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": "Clean Architecture",
      "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": "ASP.NET Core Web Frameworks",
        "id": 363,
        "rationale": "Server-side web frameworks and hosting models used to build HTTP APIs, middleware, filters, and request pipelines. This cluster is coherent because it defines how backend services receive, process, and return requests.",
        "slug": "asp-net-core-web-frameworks",
        "source": "db"
      },
      "input_skill": "MVC",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": ".NET Backend Developer",
          "id": 83,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "dotnet-backend-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": "MVC",
      "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 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": "MVC",
      "llm_role": null,
      "roles_from_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": "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": "MVC",
      "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": "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": "Push Notifications and Deep Links",
        "id": 320,
        "rationale": "Mechanisms for receiving notifications and routing users into the right in-app destination from external entry points. React Native developers use these flows to re-engage users and restore context after taps or app launches.",
        "slug": "push-notifications-and-deep-links",
        "source": "db"
      },
      "input_skill": "FCM",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-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": "Push Notifications and Messaging",
        "id": 88,
        "rationale": "Mechanisms for receiving, presenting, and acting on remote notifications and message-driven entry points on iOS. This cluster is distinct because notifications affect app engagement, deep linking, and background updates.",
        "slug": "push-notifications-and-messaging",
        "source": "db"
      },
      "input_skill": "FCM",
      "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": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "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": "Dagger",
      "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": "API Design and Contracts",
        "id": 3,
        "rationale": "Designing request/response shapes and the rules that govern client-server interaction. This cluster is coherent because full stack engineers often own the contract between UI behavior and backend implementation.",
        "slug": "api-design-and-contracts",
        "source": "db"
      },
      "input_skill": "REST",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "API Interface and Contract Design",
        "id": 289,
        "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
        "slug": "api-interface-and-contract-design",
        "source": "db"
      },
      "input_skill": "REST",
      "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": "Go Backend Developer",
          "id": 81,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "go-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": "Python Backend Developer",
          "id": 80,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "python-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": "Integration Protocols \u0026 Standards",
        "id": 271,
        "rationale": "Standards and protocols for integrating Pega applications.",
        "slug": "integration-protocols-standards",
        "source": "db"
      },
      "input_skill": "REST",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Pega Developer",
          "id": 24,
          "rationale": null,
          "role_archetype": null,
          "slug": "pega-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Standards \u0026 Protocols Compliance",
        "id": 452,
        "rationale": "Encompasses key web and data standards, protocols, and compliance requirements relevant to Sitecore implementations.",
        "slug": "standards-protocols-compliance",
        "source": "db"
      },
      "input_skill": "REST",
      "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": "API Integration and Data Fetching",
        "id": 127,
        "rationale": "Client-side integration with backend endpoints and third-party services, including request shaping, response handling, and synchronization with UI state. This is central to frontend work because most screens depend on remote data.",
        "slug": "api-integration-and-data-fetching",
        "source": "db"
      },
      "input_skill": "JSON",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Angular Frontend Developer",
          "id": 90,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "angular-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        },
        {
          "display_name": "React Frontend Developer",
          "id": 89,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Svelte Frontend Developer",
          "id": 92,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "svelte-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Vue Frontend Developer",
          "id": 91,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "vue-frontend-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": "API Interface and Contract Design",
        "id": 289,
        "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
        "slug": "api-interface-and-contract-design",
        "source": "db"
      },
      "input_skill": "JSON",
      "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": "Go Backend Developer",
          "id": 81,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "go-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": "Python Backend Developer",
          "id": 80,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "python-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": "Integration Protocols \u0026 Standards",
        "id": 271,
        "rationale": "Standards and protocols for integrating Pega applications.",
        "slug": "integration-protocols-standards",
        "source": "db"
      },
      "input_skill": "JSON",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Pega Developer",
          "id": 24,
          "rationale": null,
          "role_archetype": null,
          "slug": "pega-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "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": "APIs",
      "llm_role": null,
      "roles_from_db": []
    }
  ],
  "input_final_skills": [
    "Android",
    "Java",
    "Kotlin",
    "XML",
    "MVVM",
    "Clean Architecture",
    "MVC",
    "MVP",
    "Coroutines",
    "FCM",
    "SDK",
    "Dagger",
    "Android SDK",
    "REST",
    "JSON",
    "APIs"
  ],
  "input_llm_skills": [
    "Android",
    "Java",
    "Kotlin",
    "XML",
    "MVVM",
    "Clean Architecture",
    "MVC",
    "MVP",
    "Coroutines",
    "FCM",
    "SDK",
    "Dagger",
    "Android SDK",
    "REST",
    "JSON",
    "APIs"
  ],
  "new_aliases_persisted": 0,
  "run_id": "c08a9530-4bfc-4797-a237-e4bcf1c31f95",
  "skills_detail": [
    {
      "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": "Java",
          "alias_type": "CANONICAL",
          "id": 1,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK",
          "alias_type": "VERSION",
          "id": 2968,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 10",
          "alias_type": "VERSION",
          "id": 2194,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 11",
          "alias_type": "VERSION",
          "id": 4,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 12",
          "alias_type": "VERSION",
          "id": 2196,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 13",
          "alias_type": "VERSION",
          "id": 2197,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 14",
          "alias_type": "VERSION",
          "id": 2198,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 15",
          "alias_type": "VERSION",
          "id": 2199,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 16",
          "alias_type": "VERSION",
          "id": 2200,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 17",
          "alias_type": "VERSION",
          "id": 5,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 18",
          "alias_type": "VERSION",
          "id": 2202,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 19",
          "alias_type": "VERSION",
          "id": 2203,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 20",
          "alias_type": "VERSION",
          "id": 2204,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 21",
          "alias_type": "VERSION",
          "id": 6,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 5",
          "alias_type": "VERSION",
          "id": 2189,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 6",
          "alias_type": "VERSION",
          "id": 2190,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 7",
          "alias_type": "VERSION",
          "id": 2191,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 8",
          "alias_type": "VERSION",
          "id": 3,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "JDK 9",
          "alias_type": "VERSION",
          "id": 2193,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.0",
          "alias_type": "VERSION",
          "id": 11,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.1",
          "alias_type": "VERSION",
          "id": 12,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.2",
          "alias_type": "VERSION",
          "id": 13,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.3",
          "alias_type": "VERSION",
          "id": 14,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.4",
          "alias_type": "VERSION",
          "id": 15,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.5",
          "alias_type": "VERSION",
          "id": 16,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.6",
          "alias_type": "VERSION",
          "id": 17,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.7",
          "alias_type": "VERSION",
          "id": 18,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 1.8",
          "alias_type": "VERSION",
          "id": 19,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 10",
          "alias_type": "VERSION",
          "id": 2211,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 11",
          "alias_type": "VERSION",
          "id": 8,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 12",
          "alias_type": "VERSION",
          "id": 2213,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 13",
          "alias_type": "VERSION",
          "id": 2214,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 14",
          "alias_type": "VERSION",
          "id": 2215,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 15",
          "alias_type": "VERSION",
          "id": 2216,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 16",
          "alias_type": "VERSION",
          "id": 2217,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 17",
          "alias_type": "VERSION",
          "id": 9,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 18",
          "alias_type": "VERSION",
          "id": 2219,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 19",
          "alias_type": "VERSION",
          "id": 2220,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 20",
          "alias_type": "VERSION",
          "id": 2221,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 21",
          "alias_type": "VERSION",
          "id": 10,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 5",
          "alias_type": "VERSION",
          "id": 288,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 6",
          "alias_type": "VERSION",
          "id": 289,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 7",
          "alias_type": "VERSION",
          "id": 290,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 8",
          "alias_type": "VERSION",
          "id": 7,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java 9",
          "alias_type": "VERSION",
          "id": 2210,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java11",
          "alias_type": "VERSION",
          "id": 2976,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java17",
          "alias_type": "VERSION",
          "id": 2977,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java21",
          "alias_type": "VERSION",
          "id": 2978,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Java8",
          "alias_type": "VERSION",
          "id": 2971,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 11",
          "alias_type": "VERSION",
          "id": 21,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 17",
          "alias_type": "VERSION",
          "id": 22,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 21",
          "alias_type": "VERSION",
          "id": 23,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "OpenJDK 8",
          "alias_type": "VERSION",
          "id": 20,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 11",
          "alias_type": "VERSION",
          "id": 1512,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 17",
          "alias_type": "VERSION",
          "id": 1513,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 21",
          "alias_type": "VERSION",
          "id": 1514,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 4",
          "alias_type": "VERSION",
          "id": 1496,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 5",
          "alias_type": "VERSION",
          "id": 1497,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 6",
          "alias_type": "VERSION",
          "id": 1498,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 7",
          "alias_type": "VERSION",
          "id": 1499,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java 8",
          "alias_type": "VERSION",
          "id": 1500,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java lts",
          "alias_type": "VERSION",
          "id": 3122,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-11",
          "alias_type": "VERSION",
          "id": 1515,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-17",
          "alias_type": "VERSION",
          "id": 1516,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-21",
          "alias_type": "VERSION",
          "id": 1517,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-4",
          "alias_type": "VERSION",
          "id": 1501,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-5",
          "alias_type": "VERSION",
          "id": 1502,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-6",
          "alias_type": "VERSION",
          "id": 1503,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-7",
          "alias_type": "VERSION",
          "id": 1504,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java-8",
          "alias_type": "VERSION",
          "id": 1505,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java11",
          "alias_type": "VERSION",
          "id": 1506,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java17",
          "alias_type": "VERSION",
          "id": 1507,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java21",
          "alias_type": "VERSION",
          "id": 1508,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java4",
          "alias_type": "VERSION",
          "id": 1482,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java5",
          "alias_type": "VERSION",
          "id": 1483,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java6",
          "alias_type": "VERSION",
          "id": 1484,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java7",
          "alias_type": "VERSION",
          "id": 1485,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "java8",
          "alias_type": "VERSION",
          "id": 1486,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 11",
          "alias_type": "VERSION",
          "id": 1509,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 17",
          "alias_type": "VERSION",
          "id": 1510,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 21",
          "alias_type": "VERSION",
          "id": 1511,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 4",
          "alias_type": "VERSION",
          "id": 1487,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 5",
          "alias_type": "VERSION",
          "id": 1488,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 6",
          "alias_type": "VERSION",
          "id": 1489,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 7",
          "alias_type": "VERSION",
          "id": 1490,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk 8",
          "alias_type": "VERSION",
          "id": 1491,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk11",
          "alias_type": "VERSION",
          "id": 1492,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk17",
          "alias_type": "VERSION",
          "id": 1493,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk21",
          "alias_type": "VERSION",
          "id": 1494,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk4",
          "alias_type": "VERSION",
          "id": 1477,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk5",
          "alias_type": "VERSION",
          "id": 1478,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk6",
          "alias_type": "VERSION",
          "id": 1479,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk7",
          "alias_type": "VERSION",
          "id": 1480,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jdk8",
          "alias_type": "VERSION",
          "id": 1481,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "jvm21",
          "alias_type": "VERSION",
          "id": 1495,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "Java",
        "id": 1,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "java",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Java Language and JVM",
            "id": 279,
            "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
            "slug": "java-language-and-jvm",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Java Backend Developer",
              "id": 79,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "java-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Kotlin Backend Developer",
              "id": 84,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "kotlin-server-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Kotlin and Java",
            "id": 161,
            "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
            "slug": "kotlin-and-java",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile Languages",
            "id": 274,
            "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
            "slug": "native-mobile-languages",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Pega Programming Languages \u0026 DSLs",
            "id": 267,
            "rationale": "Programming languages and domain-specific languages used in Pega development.",
            "slug": "pega-programming-languages-dsls",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Pega Developer",
              "id": 24,
              "rationale": null,
              "role_archetype": null,
              "slug": "pega-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages",
            "id": 1,
            "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
            "slug": "programming-languages",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for Data Work",
            "id": 21,
            "rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
            "slug": "programming-languages-for-data-work",
            "source": "db"
          },
          "input_skill": "Java",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Engineer",
              "id": 2,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Java",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "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": 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": "XML",
          "alias_type": "CANONICAL",
          "id": 2600,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 4,
        "display_name": "XML",
        "id": 1636,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "xml",
        "sub_category_id": 689,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Integration Protocols \u0026 Standards",
            "id": 271,
            "rationale": "Standards and protocols for integrating Pega applications.",
            "slug": "integration-protocols-standards",
            "source": "db"
          },
          "input_skill": "XML",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Pega Developer",
              "id": 24,
              "rationale": null,
              "role_archetype": null,
              "slug": "pega-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "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": "XML",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "XML",
      "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": [
        {
          "alias_text": "clean architecture",
          "alias_type": "CANONICAL",
          "id": 1704,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Clean Architecture",
          "alias_type": "CANONICAL",
          "id": 3091,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Clean architecture",
          "alias_type": "CANONICAL",
          "id": 4435,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 1,
        "display_name": "clean architecture",
        "id": 1078,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "clean-architecture",
        "sub_category_id": 733,
        "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": "Clean Architecture",
          "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": "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": "Clean Architecture",
          "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": "Clean Architecture",
          "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": "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": "Clean Architecture",
          "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": "Clean Architecture",
          "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": "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": "Clean Architecture",
          "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": "Clean Architecture",
      "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": "MVC",
          "alias_type": "CANONICAL",
          "id": 831,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 1,
        "display_name": "MVC",
        "id": 505,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "mvc",
        "sub_category_id": 2462,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "ASP.NET Core Web Frameworks",
            "id": 363,
            "rationale": "Server-side web frameworks and hosting models used to build HTTP APIs, middleware, filters, and request pipelines. This cluster is coherent because it defines how backend services receive, process, and return requests.",
            "slug": "asp-net-core-web-frameworks",
            "source": "db"
          },
          "input_skill": "MVC",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": ".NET Backend Developer",
              "id": 83,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "dotnet-backend-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": "MVC",
          "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 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": "MVC",
          "llm_role": null,
          "roles_from_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": "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": "MVC",
          "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": "MVC",
      "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": "MVP",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Software Development 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": "mvp",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "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": "FCM",
          "alias_type": "CANONICAL",
          "id": 3047,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 11,
        "display_name": "FCM",
        "id": 2013,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CLOUD_SERVICE",
        "slug": "fcm",
        "sub_category_id": 2113,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Push Notifications and Deep Links",
            "id": 320,
            "rationale": "Mechanisms for receiving notifications and routing users into the right in-app destination from external entry points. React Native developers use these flows to re-engage users and restore context after taps or app launches.",
            "slug": "push-notifications-and-deep-links",
            "source": "db"
          },
          "input_skill": "FCM",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-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": "Push Notifications and Messaging",
            "id": 88,
            "rationale": "Mechanisms for receiving, presenting, and acting on remote notifications and message-driven entry points on iOS. This cluster is distinct because notifications affect app engagement, deep linking, and background updates.",
            "slug": "push-notifications-and-messaging",
            "source": "db"
          },
          "input_skill": "FCM",
          "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": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "FCM",
      "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": "SDK",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Software Development 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": "sdk",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Dagger",
          "alias_type": "CANONICAL",
          "id": 1594,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 7,
        "display_name": "Dagger",
        "id": 984,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "dagger",
        "sub_category_id": 698,
        "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": "Dagger",
          "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"
            }
          ]
        }
      ],
      "input_skill": "Dagger",
      "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": "Android SDK",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Mobile Development 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": "android-sdk",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "REST",
          "alias_type": "CANONICAL",
          "id": 106,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "REST",
        "id": 11,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "rest",
        "sub_category_id": 2122,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "API Design and Contracts",
            "id": 3,
            "rationale": "Designing request/response shapes and the rules that govern client-server interaction. This cluster is coherent because full stack engineers often own the contract between UI behavior and backend implementation.",
            "slug": "api-design-and-contracts",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "API Interface and Contract Design",
            "id": 289,
            "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
            "slug": "api-interface-and-contract-design",
            "source": "db"
          },
          "input_skill": "REST",
          "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": "Go Backend Developer",
              "id": 81,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "go-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": "Python Backend Developer",
              "id": 80,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "python-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": "Integration Protocols \u0026 Standards",
            "id": 271,
            "rationale": "Standards and protocols for integrating Pega applications.",
            "slug": "integration-protocols-standards",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Pega Developer",
              "id": 24,
              "rationale": null,
              "role_archetype": null,
              "slug": "pega-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Standards \u0026 Protocols Compliance",
            "id": 452,
            "rationale": "Encompasses key web and data standards, protocols, and compliance requirements relevant to Sitecore implementations.",
            "slug": "standards-protocols-compliance",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Sitecore Dev",
              "id": 233,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "sitecore-dev",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "REST",
      "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": "JSON",
          "alias_type": "CANONICAL",
          "id": 3018,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 4,
        "display_name": "JSON",
        "id": 1984,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "json",
        "sub_category_id": 1457,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "API Integration and Data Fetching",
            "id": 127,
            "rationale": "Client-side integration with backend endpoints and third-party services, including request shaping, response handling, and synchronization with UI state. This is central to frontend work because most screens depend on remote data.",
            "slug": "api-integration-and-data-fetching",
            "source": "db"
          },
          "input_skill": "JSON",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Angular Frontend Developer",
              "id": 90,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "angular-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            },
            {
              "display_name": "React Frontend Developer",
              "id": 89,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Svelte Frontend Developer",
              "id": 92,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "svelte-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Vue Frontend Developer",
              "id": 91,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "vue-frontend-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": "API Interface and Contract Design",
            "id": 289,
            "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
            "slug": "api-interface-and-contract-design",
            "source": "db"
          },
          "input_skill": "JSON",
          "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": "Go Backend Developer",
              "id": 81,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "go-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": "Python Backend Developer",
              "id": 80,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "python-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": "Integration Protocols \u0026 Standards",
            "id": 271,
            "rationale": "Standards and protocols for integrating Pega applications.",
            "slug": "integration-protocols-standards",
            "source": "db"
          },
          "input_skill": "JSON",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Pega Developer",
              "id": 24,
              "rationale": null,
              "role_archetype": null,
              "slug": "pega-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "JSON",
      "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": "APIs",
          "alias_type": "CANONICAL",
          "id": 1828,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 10,
        "display_name": "APIs",
        "id": 1192,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PROTOCOL",
        "slug": "apis",
        "sub_category_id": 902,
        "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": "APIs",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "APIs",
      "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": [
    "MVP",
    "SDK",
    "Android SDK"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD is clearly about building Android applications with Android SDK, Java/Kotlin, REST/JSON, and mobile app lifecycle responsibilities, which best matches Native Mobile Developer.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "Android",
      "tag": "in_db"
    },
    {
      "skill": "Java",
      "tag": "in_db"
    },
    {
      "skill": "Kotlin",
      "tag": "in_db"
    },
    {
      "skill": "XML",
      "tag": "in_db"
    },
    {
      "skill": "MVVM",
      "tag": "in_db"
    },
    {
      "skill": "Clean Architecture",
      "tag": "in_db"
    },
    {
      "skill": "MVC",
      "tag": "in_db"
    },
    {
      "skill": "MVP",
      "tag": "new"
    },
    {
      "skill": "Coroutines",
      "tag": "in_db"
    },
    {
      "skill": "FCM",
      "tag": "in_db"
    },
    {
      "skill": "SDK",
      "tag": "new"
    },
    {
      "skill": "Dagger",
      "tag": "in_db"
    },
    {
      "skill": "Android SDK",
      "tag": "new"
    },
    {
      "skill": "REST",
      "tag": "in_db"
    },
    {
      "skill": "JSON",
      "tag": "in_db"
    },
    {
      "skill": "APIs",
      "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": "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": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Java Backend Developer",
            "id": 79,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "java-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Kotlin Backend Developer",
            "id": 84,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "kotlin-server-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 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": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 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": "Java",
        "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": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Pega Programming Languages \u0026 DSLs",
          "id": 267,
          "rationale": "Programming languages and domain-specific languages used in Pega development.",
          "slug": "pega-programming-languages-dsls",
          "source": "db"
        },
        "dimension_id": 267,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Pega Developer",
            "id": 24,
            "rationale": null,
            "role_archetype": null,
            "slug": "pega-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 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": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for Data Work",
          "id": 21,
          "rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
          "slug": "programming-languages-for-data-work",
          "source": "db"
        },
        "dimension_id": 21,
        "input_skill": "Java",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Engineer",
            "id": 2,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 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": 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": "Integration Protocols \u0026 Standards",
          "id": 271,
          "rationale": "Standards and protocols for integrating Pega applications.",
          "slug": "integration-protocols-standards",
          "source": "db"
        },
        "dimension_id": 271,
        "input_skill": "XML",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Pega Developer",
            "id": 24,
            "rationale": null,
            "role_archetype": null,
            "slug": "pega-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1636,
        "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": "XML",
        "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": 1636,
        "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": "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": "Clean Architecture",
        "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": 1078,
        "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": "Clean Architecture",
        "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": 1078,
        "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": "Clean Architecture",
        "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": 1078,
        "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": "Clean Architecture",
        "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": 1078,
        "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": "Clean Architecture",
        "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": 1078,
        "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": "Clean Architecture",
        "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": 1078,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "ASP.NET Core Web Frameworks",
          "id": 363,
          "rationale": "Server-side web frameworks and hosting models used to build HTTP APIs, middleware, filters, and request pipelines. This cluster is coherent because it defines how backend services receive, process, and return requests.",
          "slug": "asp-net-core-web-frameworks",
          "source": "db"
        },
        "dimension_id": 363,
        "input_skill": "MVC",
        "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"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 505,
        "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": "MVC",
        "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": 505,
        "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": "MVC",
        "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"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 505,
        "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": "MVC",
        "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": 505,
        "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": "Push Notifications and Deep Links",
          "id": 320,
          "rationale": "Mechanisms for receiving notifications and routing users into the right in-app destination from external entry points. React Native developers use these flows to re-engage users and restore context after taps or app launches.",
          "slug": "push-notifications-and-deep-links",
          "source": "db"
        },
        "dimension_id": 320,
        "input_skill": "FCM",
        "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"
          },
          {
            "display_name": "React Native Developer",
            "id": 73,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-native-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2013,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Push Notifications and Messaging",
          "id": 88,
          "rationale": "Mechanisms for receiving, presenting, and acting on remote notifications and message-driven entry points on iOS. This cluster is distinct because notifications affect app engagement, deep linking, and background updates.",
          "slug": "push-notifications-and-messaging",
          "source": "db"
        },
        "dimension_id": 88,
        "input_skill": "FCM",
        "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": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2013,
        "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": "Dagger",
        "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": 984,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "API Design and Contracts",
          "id": 3,
          "rationale": "Designing request/response shapes and the rules that govern client-server interaction. This cluster is coherent because full stack engineers often own the contract between UI behavior and backend implementation.",
          "slug": "api-design-and-contracts",
          "source": "db"
        },
        "dimension_id": 3,
        "input_skill": "REST",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "API Interface and Contract Design",
          "id": 289,
          "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
          "slug": "api-interface-and-contract-design",
          "source": "db"
        },
        "dimension_id": 289,
        "input_skill": "REST",
        "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": "Go Backend Developer",
            "id": 81,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "go-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": "Python Backend Developer",
            "id": 80,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "python-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": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Integration Protocols \u0026 Standards",
          "id": 271,
          "rationale": "Standards and protocols for integrating Pega applications.",
          "slug": "integration-protocols-standards",
          "source": "db"
        },
        "dimension_id": 271,
        "input_skill": "REST",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Pega Developer",
            "id": 24,
            "rationale": null,
            "role_archetype": null,
            "slug": "pega-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Standards \u0026 Protocols Compliance",
          "id": 452,
          "rationale": "Encompasses key web and data standards, protocols, and compliance requirements relevant to Sitecore implementations.",
          "slug": "standards-protocols-compliance",
          "source": "db"
        },
        "dimension_id": 452,
        "input_skill": "REST",
        "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": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "API Integration and Data Fetching",
          "id": 127,
          "rationale": "Client-side integration with backend endpoints and third-party services, including request shaping, response handling, and synchronization with UI state. This is central to frontend work because most screens depend on remote data.",
          "slug": "api-integration-and-data-fetching",
          "source": "db"
        },
        "dimension_id": 127,
        "input_skill": "JSON",
        "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"
          },
          {
            "display_name": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          },
          {
            "display_name": "React Frontend Developer",
            "id": 89,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Svelte Frontend Developer",
            "id": 92,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "svelte-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Vue Frontend Developer",
            "id": 91,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "vue-frontend-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": 1984,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "API Interface and Contract Design",
          "id": 289,
          "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
          "slug": "api-interface-and-contract-design",
          "source": "db"
        },
        "dimension_id": 289,
        "input_skill": "JSON",
        "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": "Go Backend Developer",
            "id": 81,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "go-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": "Python Backend Developer",
            "id": 80,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "python-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": 1984,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Integration Protocols \u0026 Standards",
          "id": 271,
          "rationale": "Standards and protocols for integrating Pega applications.",
          "slug": "integration-protocols-standards",
          "source": "db"
        },
        "dimension_id": 271,
        "input_skill": "JSON",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Pega Developer",
            "id": 24,
            "rationale": null,
            "role_archetype": null,
            "slug": "pega-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1984,
        "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": "APIs",
        "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": 1192,
        "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": "c08a9530-4bfc-4797-a237-e4bcf1c31f95"
}

LLM Calls

Every model call made for this run, in pipeline order. Click a card to see the model's response.

Loading…