Pipeline run
b78fbd4c-78d5-4716-9490-ac1e0c50f191
Client output enrichment
v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA descriptionvocab breakdown (legacy)
Signals
Post-classification
Captured for admin review
• Own one or more core mobile systems with end-to-end reliability, performance, and user experience. Not just the features. The whole platform. • Lead the design and architecture of scalable mobile sy…
1 POST /skills/extract-from-jd
2 POST /skills/extract-details
3 POST /skills/final-role-output
Android Engineer
CASE Aslug: android-engineer · id: 4 · source: db
The primary skills strongly align with the responsibilities of an Android Engineer.
Resolution:
in_db
— role exists in library; skill↔dim and role↔dim links saved when applicable.
Job description
Responsibilities: • Own one or more core mobile systems with end-to-end reliability, performance, and user experience. Not just the features. The whole platform. • Lead the design and architecture of scalable mobile systems, shared frameworks, and platform libraries aligned with Locus's technical strategy across Android and iOS. • Drive mobile operational excellence: define roadmaps for app reliability, crash-free rates, observability, and performance improvements that matter in the field. • Architect and optimise for the hardest mobile constraints: low-end Android devices, unreliable networks, offline-first workflows, and real-time location demands all at enterprise scale. • Build and own the mobile platform layer: shared architecture patterns, design systems, native SDKs, and tooling that other mobile engineers build on top of. • Work closely with teams across biological and digital product, backend, data, and infrastructure to translate complex B2B workflows into mobile experiences that field operators can rely on. • Mentor and guide mobile engineers, fostering a culture of technical ownership, craft, and continuous learning. • Establish and uphold mobile engineering standards, architecture reviews, code quality, release hygiene, and best practices across both platforms. • Stay ahead of the curve on emerging mobile technologies, platform capabilities, and patterns to strengthen Locus's mobile foundation. • Contribute to hiring: identify and attract engineers who build things that hold up in the real world. Requirements: • Strong CS fundamentals: data structures, algorithms, design patterns, and mobile-specific problem-solving. • 8+ years of experience in mobile development with deep, hands-on expertise in native Android • Proven experience in architecting and shipping production-grade mobile applications used by tens of thousands of users. • Mastery of offline-first architecture, local persistence strategies, conflict resolution, sync protocols, and graceful degradation under poor connectivity. • Deep understanding of mobile performance optimisation, memory management, rendering efficiency, battery consumption, and performance on low-end and mid-range devices. • Hands-on experience with real-time location, maps, and geospatial data on mobile, including background processing, GPS accuracy tradeoffs, and battery-aware design. • Solid understanding of mobile concurrency, threading models, and async processing patterns on both platforms. • Experience with CI/CD pipelines for mobile, crash reporting and observability. • Strong sense of code quality, platform idioms, and long-term maintainability across two native codebases. • Excellent communication skills, able to articulate mobile architecture decisions clearly to backend engineers, product managers, and non-technical stakeholders alike. • Self-driven, curious, and adaptable; sees a broken experience in the field and can't let it go unfixed. Good to Have: Degrees don't tell us much. These do: • You've shipped a mobile platform that held up under real-world scale, and you know exactly what broke, where, and why. • You've solved something genuinely hard on mobile: sync under flaky networks, maps at scale, and smooth UI on an 8,000 Android phone. • You've built something on your own time, open source, a side project, or an internal tool that other engineers actually use. • You've contributed meaningfully to a top open-source mobile project. • You've written technical content that others reference or spoken at a conference on mobile engineering. • You've competed in or completed something gruelling: ultra-marathons, Ironman, competitive programming, and hackathon wins. The stack: • Android: Jetpack Compose, XML layouts, Koin, Dagger2 Ktor, Retrofit, Auth0 Room DB, Couchbase, Coroutines, RxJava, SDUI, location services, background jobs.
Skills from this JD
Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.
Aliases — catalog
- Android (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Platform
- Vendor
- License
- apache_2
- Year introduced
- 2008
- Confidence
- 0.95
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Android appears in large volumes of mobile job postings and remains a standard platform in hiring pipelines; Google continues active platform releases and OEM ecosystem support, indicating broad adoption.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 1201
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- iOS (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Operating Platform
- Vendor
- Apple Inc.
- License
- proprietary
- Year introduced
- 2007
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: iOS is a mainstream mobile platform with high JD volume for Swift/iOS roles across consumer and enterprise apps; Apple continues active platform support and releases, indicating broad adoption rather than niche use.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 1200
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Jetpack Compose (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Ui Framework
- Vendor
- License
- apache_2
- Year introduced
- 2020
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Jetpack Compose appears in many Android job postings and Google positions it as the modern UI toolkit replacing XML-based Views, but it is not yet universal across Android teams.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 341
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Android UI Frameworks Catalog dimension db id 162
Library dimension (catalog)
Roles linked in library: Android Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Android UI Frameworks
android-ui-frameworks
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
XML remains a common requirement in enterprise JDs and standards-based integrations (SOAP, SAML, Office Open XML), with broad support across major platforms and tooling.
(0.95)
“XML” is a specific, unambiguous markup format name; typical JDs won’t confuse it with other distinct skills in the catalog.
Not versioned
Format ·markup_format confidence 0.99
XML is a data/wire structure specification rather than a runnable system, so by the Format vs Datastore rule it is a Format.
- Category
- Format
- Sub-category
- markup_format
- Skill nature
- STANDARD
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
XML Data Markup
Pipeline tentative id
XML is a structured markup format used to represent hierarchical data, configuration, and interchange payloads. It belongs here because the skill is about reading, writing, validating, and transforming XML documents rather than a specific platform or framework.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Koin appears in some Kotlin Android/backend JDs, but JD volume is far below Dagger/Hilt and it remains a specialized DI choice rather than a default stack item.
InsertKoin ·apache_2 ·since 2018 (0.90)
“Koin” is a specific DI framework name; unlikely to be confused with other catalog skills in typical JDs.
Not versioned
Framework ·dependency_injection_framework confidence 0.90
Koin is a codebase you build applications inside by wiring dependencies at runtime, so under the Tool vs Framework rule it is a Framework rather than a standalone tool.
- Category
- Framework
- Sub-category
- dependency_injection_framework
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Dependency Injection Frameworks
Pipeline tentative id
Frameworks and libraries used to wire application components together through dependency injection and inversion of control. Koin belongs here because it is a Kotlin DI framework used to define, resolve, and manage app dependencies.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Dagger (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Library
- Sub-category
- Dependency Injection Library
- Vendor
- 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 Engineer, Ios engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
|
— | — |
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
|
Skill enrichment (orchestrator / LLM)
Ktor appears in growing Kotlin backend job postings and is increasingly used in JVM microservices, but JD volume remains far below Spring Boot and other mainstream web frameworks.
JetBrains ·apache_2 ·since 2017 (0.95)
Ktor is a specific Kotlin web framework; typical JDs won’t confuse it with other similarly named skills.
Not versioned
Framework ·web_framework confidence 0.98
Ktor is a server-side application framework that you build applications inside, so by the Tool vs Framework rule it is a Framework.
- Category
- Framework
- Sub-category
- web_framework
- Skill nature
- FRAMEWORK
- Volatility
- EMERGING
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Web Application Frameworks Catalog dimension db id 2
Library dimension (catalog)
Roles linked in library: Backend Engineer, Full Stack Engineer
-
Web Application Frameworks Catalog dimension db id 2
Library dimension (catalog)
Roles linked in library: Backend Engineer, Full Stack Engineer
Locked dimensions (v3 placement)
-
Web Application Frameworks
Reuses catalog slug
Server-side frameworks and runtimes used to build HTTP services, routing, middleware, and request/response handling. Ktor belongs here because it is a Kotlin web framework for creating backend APIs and services.
-
Web Application Frameworks
Reuses catalog slug
Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Web Application Frameworks
web-application-frameworks
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Retrofit (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Library
- Sub-category
- Http Client Library
- Vendor
- Square, Inc.
- License
- apache_2
- Year introduced
- 2013
- Confidence
- 0.97
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Retrofit appears in many Android job descriptions and remains a standard HTTP client library in the Android ecosystem, with broad GitHub usage and active maintenance rather than a sunset signal.
Skill profile (library / DB)
- Skill nature
- LIBRARY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 7
- Sub-category id
- 344
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Networking and API Integration Catalog dimension db id 84
Library dimension (catalog)
Roles linked in library: Android Engineer, Hybrid Mobile Developer, Ios engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Networking and API Integration
networking-and-api-integration
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- Auth0 (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Vendor Saas Platform
- Vendor
- Auth0
- License
- other_open
- Year introduced
- 2013
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Auth0 appears frequently in job descriptions for identity/authentication roles and is a common SaaS IAM choice; it’s broadly adopted alongside Okta rather than being a niche tool.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 258
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Identity and Access Management Products Catalog dimension db id 65
Library dimension (catalog)
Roles linked in library: Cybersecurity Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Identity and Access Management Products
identity-and-access-management-products
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Room (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Library
- Sub-category
- Persistence Library
- Vendor
- License
- apache_2
- Year introduced
- 2016
- Confidence
- 0.88
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Room is Google’s Android persistence library and appears frequently in Android job descriptions and official Android docs as the recommended SQLite abstraction, indicating broad adoption.
Skill profile (library / DB)
- Skill nature
- LIBRARY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 7
- Sub-category id
- 702
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Local Persistence and Offline Behavior Catalog dimension db id 85
Library dimension (catalog)
Roles linked in library: Android Engineer, Hybrid Mobile Developer, Ios engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- Couchbase (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Datastore
- Sub-category
- Document Database
- Vendor
- Couchbase, Inc.
- License
- apache_2
- Year introduced
- 2011
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Couchbase appears in some enterprise JDs, but JD volume is far below PostgreSQL/MongoDB and it remains a specialized document database rather than a default datastore choice.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 3
- Sub-category id
- 27
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
NoSQL Databases Catalog dimension db id 19
Library dimension (catalog)
Roles linked in library: Backend Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
NoSQL Databases
nosql-databases
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Coroutines are broadly used in Kotlin/Android and appear in many job descriptions; Java’s Project Loom/virtual threads also signal mainstream demand for async concurrency concepts.
(0.95)
“Coroutines” is a specific concurrency concept; typical JDs won’t confuse it with other distinct skills in the catalog.
Not versioned
Concept ·concurrency_concept confidence 0.90
Coroutines are fundamentally a programming concept for cooperative concurrency, not a tool, framework, or runtime under the given typology.
- Category
- Concept
- Sub-category
- concurrency_concept
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Kotlin and Java Catalog dimension db id 161
Library dimension (catalog)
Roles linked in library: Android Engineer
Locked dimensions (v3 placement)
-
Kotlin Concurrency and Coroutines
Reuses catalog slug
Kotlin coroutine-based concurrency for asynchronous and non-blocking app logic. This fits Coroutines because it is the primary structured-concurrency model used in Kotlin mobile code for background work, cancellation, and sequential-looking async flows.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Kotlin and Java
kotlin-and-java
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
RxJava still appears in Android/Java job ads, but far less than Kotlin coroutines/Reactor; market demand is concentrated in legacy or reactive-heavy codebases rather than broad new-project adoption.
Netflix ·apache_2 ·since 2013 (0.95)
RxJava is a specific reactive programming library; typical JDs distinguish it from other reactive frameworks/libraries.
Versioned 3.x
{
"RxJava 2": "2.x",
"RxJava 3": "3.x",
"RxJava2": "2.x",
"RxJava3": "3.x",
"rxjava2": "2.x",
"rxjava3": "3.x"
}
Library ·reactive_programming_library confidence 0.98
RxJava is a code package imported into application code, so by the Tool vs Framework rule it is fundamentally a Library rather than a Framework or Tool.
- Category
- Library
- Sub-category
- reactive_programming_library
- Skill nature
- LIBRARY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- SEPARATE_ENTITY
Dimensions (API 2 worklist)
-
Kotlin and Java Catalog dimension db id 161
Library dimension (catalog)
Roles linked in library: Android Engineer
-
Kotlin and Java Catalog dimension db id 161
Library dimension (catalog)
Roles linked in library: Android Engineer
Locked dimensions (v3 placement)
-
Kotlin and Java
Reuses catalog slug
Primary implementation languages and their core libraries used to build Android app features and client-side business logic. RxJava belongs here because it is a Java-based reactive programming library commonly used from Java or Kotlin on Android.
-
Kotlin and Java
Reuses catalog slug
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.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Kotlin and Java
kotlin-and-java
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
SDUI appears in growing mobile/frontend job postings and vendor talks, but JD volume is still far below React/Flutter; adoption is rising rather than universal.
(0.80)
SDUI is a specific term for server-driven UI architecture; unlikely to be confused with other catalog skills.
Not versioned
Architecture ·server_driven_ui_architecture confidence 0.90
SDUI is fundamentally a system-shape pattern where the server drives the UI composition, so by the Architecture vs Concept rule it fits Architecture rather than a generic concept or methodology.
- Category
- Architecture
- Sub-category
- server_driven_ui_architecture
- Skill nature
- PATTERN
- Volatility
- EMERGING
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Server-Driven UI Architecture
Pipeline tentative id
Patterns for defining and rendering app screens from server-provided UI schemas or component descriptors. SDUI belongs here because it is the core approach of moving presentation structure and some interaction logic out of the client and into backend-delivered configuration.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- location services (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Service
- Sub-category
- Device Location Service
- Confidence
- 0.74
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Common in mobile/backend JDs for geofencing, maps, and delivery apps; major vendors like Google Maps Platform and Apple Core Location remain standard market signals.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 745
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Device APIs and Hardware Features Catalog dimension db id 95
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
-
Device APIs and Hardware Integration Catalog dimension db id 171
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Device APIs and Hardware Features
device-apis-and-hardware-features
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
|
Device APIs and Hardware Integration
device-apis-and-hardware-integration
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Common in JDs for web/backend roles (e.g., Sidekiq, Celery, SQS workers); cloud vendors and frameworks document it as a standard pattern for async processing and retries.
(0.95)
“Background jobs” typically refers to asynchronous job execution/lifecycle, not a distinct catalog skill with a similar name.
Not versioned
Concept ·asynchronous_processing confidence 0.88
This is fundamentally a knowledge unit about running work asynchronously in the background, so it fits the Concept category rather than a Tool or Framework.
- Category
- Concept
- Sub-category
- asynchronous_processing
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Background Execution and Lifecycle Catalog dimension db id 87
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Ios engineer
-
Background Execution and Lifecycle Catalog dimension db id 87
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Ios engineer
Locked dimensions (v3 placement)
-
Background Execution and Lifecycle
Reuses catalog slug
App lifecycle handling and deferred work mechanisms that keep mobile behavior reliable when the app is backgrounded, suspended, or relaunched. Background jobs belong here because they are the common pattern for running work outside the foreground UI thread and across lifecycle transitions.
-
Background Execution and Lifecycle
Reuses catalog slug
App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Background Execution and Lifecycle
background-execution-and-lifecycle
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Offline-first (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Architecture
- Sub-category
- Offline First Architecture
- Confidence
- 0.90
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Appears increasingly in mobile/PWA job descriptions and product docs, but JD volume is still far below mainstream architecture skills like REST or cloud-native.
Skill profile (library / DB)
- Skill nature
- PATTERN
- Volatility
- EMERGING
- Typical lifespan
- EVERGREEN
- Category id
- 1
- Sub-category id
- 1205
- 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
|
— | — |
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
|
Aliases — catalog
- state persistence (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- State Management Concept
- Confidence
- 0.79
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: State persistence is a common requirement in JDs for web/mobile/backend systems, often paired with Redux, localStorage, databases, or session stores; it’s a broadly adopted concept rather than a niche tool.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 684
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
AI Workflow Design Catalog dimension db id 207
Library dimension (catalog)
Roles linked in library: AI Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
AI Workflow Design
ai-workflow-design
|
— | — |
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
|
Skill enrichment (orchestrator / LLM)
Conflict resolution appears in many job descriptions across management, HR, customer success, and engineering leadership; it is a standard hiring-pipeline soft skill rather than a niche or declining one.
(1.00)
“Conflict resolution” is a distinct soft-skill phrase and is unlikely to be confused with other catalog skills.
Not versioned
SoftSkill ·conflict_resolution confidence 0.99
Conflict resolution is fundamentally an interpersonal capability, so it fits the SoftSkill type rather than a technical concept or methodology.
- Category
- SoftSkill
- Sub-category
- conflict_resolution
- Skill nature
- PRACTICE
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Conflict Resolution
Pipeline tentative id
Skills for addressing disagreements, misalignment, and tension between people or groups in a constructive way. This fits the target skill because it covers de-escalation, mediation, and reaching workable agreements in team settings.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Widely used in distributed systems JDs and vendor docs; protocols like Raft/Paxos and NTP/clock sync are common requirements for consensus, replication, and time synchronization.
(0.80)
“Sync protocols” is a specific, uncommon phrasing and doesn’t closely overlap with other catalog protocol skills in typical JDs.
Not versioned
Protocol ·synchronization_protocols confidence 0.88
By the Protocol rule, "sync protocols" refers to communication standards that define how systems synchronize state or data, not a tool, library, or methodology.
- Category
- Protocol
- Sub-category
- synchronization_protocols
- Skill nature
- PROTOCOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Data Synchronization Protocols
Pipeline tentative id
Protocols and mechanisms used to keep data consistent between client and server or across devices. This skill fits here because it concerns how updates are exchanged, ordered, merged, and reconciled during sync.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Common in mobile engineering JDs for iOS/Android (profiling, startup time, memory, battery); supported by official tooling like Android Studio Profiler and Xcode Instruments, indicating broad market adoption.
(0.95)
“Mobile performance optimisation” is a specific methodology focused on mobile app speed/stability, not easily confused with other distinct skills in typical JDs.
Not versioned
Methodology ·performance_optimization_methodology confidence 0.90
This is fundamentally a way of working to improve app responsiveness and resource usage, so by the Concept vs Methodology rule it fits Methodology rather than a tool or architecture.
- Category
- Methodology
- Sub-category
- performance_optimization_methodology
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
Locked dimensions (v3 placement)
-
Mobile Performance Tuning
Reuses catalog slug
Techniques for improving responsiveness, startup time, memory use, and smoothness in mobile apps. This skill belongs here because mobile performance optimisation focuses on reducing jank, latency, and resource waste on device.
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
Core topic in systems/backend JDs (e.g., C/C++, Rust, JVM tuning) and widely covered in hiring pipelines; no sunset signal, just broad demand for leak/GC/heap management skills.
(1.00)
“Memory management” is a broad, distinct concept; typical JDs won’t confuse it with other specific catalog skills.
Not versioned
Concept ·memory_management confidence 0.97
This is a named knowledge unit about how memory is allocated, tracked, and reclaimed, so by the Concept vs Methodology rule it is a Concept rather than a tool or process.
- Category
- Concept
- Sub-category
- memory_management
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
Locked dimensions (v3 placement)
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving app responsiveness, reducing memory footprint, and preventing crashes or hangs. Memory management belongs here because it directly affects runtime efficiency, leak avoidance, and overall stability on mobile devices.
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
Common performance topic in frontend/game JDs and docs; employers routinely ask for reducing re-renders, batching, and frame-time optimization across React/WebGL/Unity roles.
(1.00)
“Rendering efficiency” is a specific performance concept tied to graphics/rendering pipelines, not commonly confused with other distinct catalog skills.
Not versioned
Concept ·rendering_efficiency confidence 0.93
This is a named knowledge unit about performance characteristics, so by the Concept vs Methodology rule it is a Concept rather than a tool or process.
- Category
- Concept
- Sub-category
- rendering_efficiency
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
Locked dimensions (v3 placement)
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving responsiveness, frame rate, startup time, memory use, and overall app smoothness on mobile devices. Rendering efficiency belongs here because it is about reducing UI work, avoiding jank, and making drawing and compositing cheaper.
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- battery usage (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Power Usage Concept
- Confidence
- 0.88
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Battery-usage optimization appears in mobile/embedded JDs, but far less often than core app skills; market demand is concentrated in Android/iOS, IoT, and device firmware roles rather than general software hiring.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 754
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Mobile Performance Optimization Catalog dimension db id 169
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Mobile Performance Optimization
mobile-performance-optimization
|
— | — |
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
|
Skill enrichment (orchestrator / LLM)
GPS is a standard positioning protocol used across consumer, automotive, and logistics products; job postings for embedded, robotics, and geospatial roles commonly mention GPS/GNSS integration.
(0.90)
Could be confused with: gnss
“GPS” in JDs often refers broadly to satellite navigation/positioning, which can be extracted as GNSS.
Not versioned
Protocol ·positioning_protocol confidence 0.78
GPS is fundamentally a communication/positioning standard for exchanging satellite timing and location signals, so it fits best as a Protocol under the closed typology.
- Category
- Protocol
- Sub-category
- positioning_protocol
- Skill nature
- PROTOCOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Location Services and Geospatial Positioning
Pipeline tentative id
Client-side use of device location hardware and geospatial signals to determine position, movement, and proximity. GPS belongs here because it is the core satellite-based positioning technology used by mobile apps for maps, tracking, and location-aware features.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Common in JDs for queues/workers and async jobs; market signals include widespread listings for Celery, Sidekiq, BullMQ, and AWS SQS/Lambda-based background processing patterns.
(1.00)
“Background processing” is a fairly specific concept (async/background jobs/lifecycle) and is unlikely to be confused with other distinct catalog skills.
Not versioned
Concept ·background_processing confidence 0.88
This is best treated as a Concept because it names a general software capability/pattern rather than a specific system, tool, or way of working.
- Category
- Concept
- Sub-category
- background_processing
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Background Execution and Lifecycle Catalog dimension db id 87
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Ios engineer
-
Background Execution and Lifecycle Catalog dimension db id 87
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Ios engineer
Locked dimensions (v3 placement)
-
Background Execution and Lifecycle
Reuses catalog slug
App lifecycle handling and deferred work mechanisms that keep mobile apps reliable when not in the foreground. Background processing belongs here because it covers scheduled, deferred, and system-triggered work that must continue or resume across app state changes.
-
Background Execution and Lifecycle
Reuses catalog slug
App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Background Execution and Lifecycle
background-execution-and-lifecycle
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Threading models are a standard concurrency topic in job descriptions for backend, systems, and platform roles; they’re commonly paired with Java, C++, and OS/runtime interviews rather than a niche specialty.
(1.00)
“Threading models” is a specific concurrency concept; typical JDs won’t confuse it with other distinct skills in the catalog.
Not versioned
Concept ·concurrency_model confidence 0.92
This is a named knowledge unit about how threads are organized and scheduled, so by the Concept vs Methodology rule it is a Concept rather than a tool or architecture.
- Category
- Concept
- Sub-category
- concurrency_model
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Concurrency and Threading Models
Pipeline tentative id
Concepts and implementation patterns for running work concurrently within an application. This includes how threads are created, scheduled, synchronized, and coordinated, which is exactly where threading models belongs.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Common in JDs for backend, distributed systems, and cloud roles; market signals include frequent mentions of queues, workers, and event-driven processing in postings and major cloud docs.
(1.00)
“Async processing” is a fairly specific concept (asynchronous/background execution) and is unlikely to be confused with other distinct catalog skills.
Not versioned
Concept ·asynchronous_processing confidence 0.88
This is best treated as a Concept because it names a technical idea about how work is handled asynchronously, not a specific system shape (Architecture) or way of working (Methodology).
- Category
- Concept
- Sub-category
- asynchronous_processing
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Background Execution and Lifecycle Catalog dimension db id 87
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Ios engineer
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
-
Background Execution and Lifecycle Catalog dimension db id 87
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Ios engineer
-
Performance and Stability Tuning Catalog dimension db id 92
Library dimension (catalog)
Roles linked in library: Android Engineer, Ios engineer
Locked dimensions (v3 placement)
-
Background Execution and Lifecycle
Reuses catalog slug
App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. Async processing belongs here when it refers to doing work off the main thread or scheduling work to continue later without blocking the UI.
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. Async processing fits when the skill is used to avoid blocking the main thread, reduce latency, and keep the app responsive under load.
-
Concurrent Programming Patterns
Pipeline tentative id
Language-level patterns for structuring work that runs concurrently without blocking the caller. This dimension covers async/await, callbacks, promises/futures, task cancellation, synchronization, and coordination primitives, which are the core concepts behind async processing.
-
Background Execution and Lifecycle
Reuses catalog slug
App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.
-
Performance and Stability Tuning
Reuses catalog slug
Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Background Execution and Lifecycle
background-execution-and-lifecycle
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- CI/CD (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Methodology
- Sub-category
- Ci Cd Process
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: CI/CD appears in a large share of software engineering JDs and is a standard requirement across DevOps, platform, and backend roles; major vendors like GitHub, GitLab, and AWS all center product roadmaps on CI/CD pipelines.
Skill profile (library / DB)
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 8
- Sub-category id
- 900
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
CI/CD Pipeline Platforms Catalog dimension db id 150
Library dimension (catalog)
Roles linked in library: DevOps Engineer
-
CI/CD for Machine Learning Catalog dimension db id 56
Library dimension (catalog)
Roles linked in library: ML Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
CI/CD Pipeline Platforms
ci-cd-pipeline-platforms
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
CI/CD for Machine Learning
ci-cd-for-machine-learning
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Crash reporting is a standard observability requirement and appears in many JDs for mobile/web/backend roles; vendors like Sentry, Firebase Crashlytics, and Datadog show broad market adoption.
(1.00)
“Crash reporting” is a specific error-reporting/observability concept; typical JDs won’t confuse it with other distinct skills in the catalog.
Not versioned
Concept ·error_reporting_concept confidence 0.88
Crash reporting is a named knowledge unit about capturing and analyzing application failures, so it fits the Concept category rather than a Tool or Service.
- Category
- Concept
- Sub-category
- error_reporting_concept
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
Crash Reporting and Observability Catalog dimension db id 91
Library dimension (catalog)
Roles linked in library: Android Engineer, Hybrid Mobile Developer, Ios engineer
-
Crash Reporting and Observability Catalog dimension db id 91
Library dimension (catalog)
Roles linked in library: Android Engineer, Hybrid Mobile Developer, Ios engineer
Locked dimensions (v3 placement)
-
Crash Reporting and Observability
Reuses catalog slug
Client-side telemetry used to capture app crashes, hangs, and stability signals so engineers can diagnose issues seen in the field. Crash reporting belongs here because it is the primary mechanism for collecting stack traces, breadcrumbs, and device context after failures.
-
Crash Reporting and Observability
Reuses catalog slug
Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Crash Reporting and Observability
crash-reporting-and-observability
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved |
Aliases — catalog
- Observability (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Observability
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Observability is broadly listed in SRE/DevOps job descriptions and supported by major vendors like Datadog, Grafana, and New Relic, indicating mainstream hiring demand.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 1187
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Observability and Operations Catalog dimension db id 143
Library dimension (catalog)
Roles linked in library: Cloud Architect
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Observability and Operations
observability-and-operations
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Code quality is a standard hiring-pipeline expectation in JDs for software engineers and is reinforced by widespread use of linters, code review, and CI quality gates across major repos and platforms.
(1.00)
“Code quality” is a broad, standard concept and is unlikely to be confused with another distinct catalog skill name.
Not versioned
Concept ·code_quality confidence 0.94
Code quality is a named knowledge unit about the properties and evaluation of code, so by the Concept vs Methodology rule it is a Concept rather than a way of working.
- Category
- Concept
- Sub-category
- code_quality
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Code Quality Practices
Pipeline tentative id
Practices and standards used to keep source code readable, maintainable, testable, and low in defects. This fits code quality because the skill is about how code is written, reviewed, and improved over time rather than a specific language or platform.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Design patterns are a standard interview/JD topic across backend and frontend roles; job postings commonly mention them alongside OOP and system design, and they remain core in books, courses, and code reviews.
(0.95)
“Design patterns” is a standard, specific software concept and is unlikely to be confused with other distinct catalog skills.
Not versioned
Concept ·software_design_patterns confidence 0.94
By the Concept vs Methodology rule, design patterns are named knowledge units about how to structure software, not a way of working or a system shape.
- Category
- Concept
- Sub-category
- software_design_patterns
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Software Design Patterns
Pipeline tentative id
Reusable object-oriented and architectural solution patterns for structuring code and reducing coupling. This skill belongs here because design patterns describe standard ways to organize mobile app logic, UI composition, and component interactions.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Data Structures (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Data Structures
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Core CS concept in nearly all software engineering JDs and interview loops; widely taught and expected across roles, with no sunset or replacement signal.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 731
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Algorithms (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Algorithms
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Algorithms are a core hiring staple in software JDs and interview loops across FAANG and general SWE roles; they remain a standard CS curriculum topic rather than a niche tool or sunset technology.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 732
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Git (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Tool
- Sub-category
- Version Control Tool
- Vendor
- Linus Torvalds
- License
- gpl_v2
- Year introduced
- 2005
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Git is a hiring-pipeline staple: it appears in the vast majority of software engineering job descriptions and is the default VCS on GitHub/GitLab/Bitbucket.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 13
- Sub-category id
- 730
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- open-source (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Open Source Software Model
- Confidence
- 0.91
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Open-source is a standard hiring-pipeline term across software JDs and vendor ecosystems; major cloud, database, and devtool roles routinely require OSS contribution or usage experience.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 1111
- 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
|
— | — |
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
|
Skill enrichment (orchestrator / LLM)
Competitive programming appears in some SWE JDs and interview prep, but market demand is limited versus mainstream stacks; GitHub/Codeforces activity is strong yet hiring volume is low and specialized.
(0.95)
“Competitive programming” is a specific practice area (contests/algorithmic problem solving) and is unlikely to be confused with other catalog skills.
Not versioned
Methodology ·algorithmic_problem_solving_practice confidence 0.90
Competitive programming is fundamentally a way of working and practicing problem-solving under constraints, so by the Concept vs Methodology rule it fits Methodology rather than a tool, language, or domain.
- Category
- Methodology
- Sub-category
- algorithmic_problem_solving_practice
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Algorithmic Problem Solving
Pipeline tentative id
Solving constrained programming problems using algorithms, data structures, and careful reasoning under time and memory limits. Competitive programming belongs here because it centers on designing correct, efficient solutions to novel problems quickly.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
Hackathons appear in some startup, campus, and innovation-team JDs, but far less than core engineering skills; market demand is event-specific rather than a standard hiring staple.
(0.90)
“Hackathons” is a specific event type; typical JDs won’t confuse it with other catalog skills.
Not versioned
Methodology ·innovation_event_methodology confidence 0.88
Hackathons are a way of organizing work and collaboration around a time-boxed event, so by the Concept vs Methodology rule they are best classified as a methodology rather than a tool or concept.
- Category
- Methodology
- Sub-category
- innovation_event_methodology
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- NOT_APPLICABLE
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
Locked dimensions (v3 placement)
-
Hackathon Participation
Pipeline tentative id
Participation in time-boxed innovation events focused on rapid prototyping, collaboration, and demo delivery. This skill belongs here because hackathons are a distinct product-building and team-execution context rather than a specific technical stack.
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | New skill saved · 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) | |
| iOS | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Jetpack Compose | in_db |
Android UI Frameworks
android-ui-frameworks
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Dagger2 | new |
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| Retrofit | in_db |
Networking and API Integration
networking-and-api-integration
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Auth0 | in_db |
Identity and Access Management Products
identity-and-access-management-products
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Room | in_db |
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Couchbase | in_db |
NoSQL Databases
nosql-databases
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| location services | in_db |
Device APIs and Hardware Features
device-apis-and-hardware-features
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| location services | in_db |
Device APIs and Hardware Integration
device-apis-and-hardware-integration
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| offline-first architecture | new |
React Frontend Development
d_init_01
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| local persistence | new |
AI Workflow Design
ai-workflow-design
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| battery consumption | new |
Mobile Performance Optimization
mobile-performance-optimization
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| CI/CD | in_db |
CI/CD Pipeline Platforms
ci-cd-pipeline-platforms
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| CI/CD | in_db |
CI/CD for Machine Learning
ci-cd-for-machine-learning
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| observability | in_db |
Observability and Operations
observability-and-operations
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| data structures | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| algorithms | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Git | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| open source | new |
React Frontend Development
d_init_01
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| XML | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Koin | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Ktor | in_db |
Web Application Frameworks
web-application-frameworks
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Coroutines | in_db |
Kotlin and Java
kotlin-and-java
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| RxJava | in_db |
Kotlin and Java
kotlin-and-java
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| SDUI | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| background jobs | in_db |
Background Execution and Lifecycle
background-execution-and-lifecycle
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| conflict resolution | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| sync protocols | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| mobile performance optimisation | in_db |
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| memory management | in_db |
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| rendering efficiency | in_db |
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| GPS | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| background processing | in_db |
Background Execution and Lifecycle
background-execution-and-lifecycle
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| threading models | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| async processing | in_db |
Background Execution and Lifecycle
background-execution-and-lifecycle
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| async processing | in_db |
Performance and Stability Tuning
performance-and-stability-tuning
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| async processing | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| crash reporting | in_db |
Crash Reporting and Observability
crash-reporting-and-observability
|
✓ | ✓ | New skill saved · Existing dimension (library) · Role↔dimension saved | |
| code quality | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| design patterns | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| competitive programming | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| hackathons | in_db |
React Frontend Development
d_init_01
|
✓ | — | New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Library artifacts (this run)
| Kind | Detail | DB id |
|---|---|---|
| canonical_skill_added | XML | 1636 |
| canonical_skill_added | Koin | 1637 |
| canonical_skill_added | Ktor | 1638 |
| canonical_skill_added | Coroutines | 1639 |
| canonical_skill_added | RxJava | 1640 |
| canonical_skill_added | SDUI | 1641 |
| canonical_skill_added | background jobs | 1642 |
| canonical_skill_added | conflict resolution | 1643 |
| canonical_skill_added | sync protocols | 1644 |
| canonical_skill_added | mobile performance optimisation | 1645 |
| canonical_skill_added | memory management | 1646 |
| canonical_skill_added | rendering efficiency | 1647 |
| canonical_skill_added | GPS | 1648 |
| canonical_skill_added | background processing | 1649 |
| canonical_skill_added | threading models | 1650 |
| canonical_skill_added | async processing | 1651 |
| canonical_skill_added | crash reporting | 1652 |
| canonical_skill_added | code quality | 1653 |
| canonical_skill_added | design patterns | 1654 |
| canonical_skill_added | competitive programming | 1655 |
| canonical_skill_added | hackathons | 1656 |
| dimension_skill_link_proposed | Dagger2 ↔ App Architecture and Dependency Injection | |
| role_dimension_link_proposed | Android Engineer ↔ App Architecture and Dependency Injection | |
| dimension_skill_link_proposed | offline-first architecture ↔ React Frontend Development | |
| dimension_skill_link_proposed | local persistence ↔ AI Workflow Design | |
| dimension_skill_link_proposed | battery consumption ↔ Mobile Performance Optimization | |
| dimension_skill_link_proposed | open source ↔ React Frontend Development | |
| dimension_skill_link | XML ↔ React Frontend Development | 96 |
| dimension_skill_link | Koin ↔ React Frontend Development | 96 |
| dimension_skill_link | Ktor ↔ Web Application Frameworks | 2 |
| dimension_skill_link | Coroutines ↔ Kotlin and Java | 161 |
| dimension_skill_link | RxJava ↔ Kotlin and Java | 161 |
| dimension_skill_link | SDUI ↔ React Frontend Development | 96 |
| dimension_skill_link | background jobs ↔ Background Execution and Lifecycle | 87 |
| dimension_skill_link | conflict resolution ↔ React Frontend Development | 96 |
| dimension_skill_link | sync protocols ↔ React Frontend Development | 96 |
| dimension_skill_link | mobile performance optimisation ↔ Performance and Stability Tuning | 92 |
| dimension_skill_link | memory management ↔ Performance and Stability Tuning | 92 |
| dimension_skill_link | rendering efficiency ↔ Performance and Stability Tuning | 92 |
| dimension_skill_link | GPS ↔ React Frontend Development | 96 |
| dimension_skill_link | background processing ↔ Background Execution and Lifecycle | 87 |
| dimension_skill_link | threading models ↔ React Frontend Development | 96 |
| dimension_skill_link | async processing ↔ Background Execution and Lifecycle | 87 |
| dimension_skill_link | async processing ↔ Performance and Stability Tuning | 92 |
| dimension_skill_link | async processing ↔ React Frontend Development | 96 |
| dimension_skill_link | crash reporting ↔ Crash Reporting and Observability | 91 |
| dimension_skill_link | code quality ↔ React Frontend Development | 96 |
| dimension_skill_link | design patterns ↔ React Frontend Development | 96 |
| dimension_skill_link | competitive programming ↔ React Frontend Development | 96 |
| dimension_skill_link | hackathons ↔ React Frontend Development | 96 |
nano JD Parser — gpt-4.1-nano click to toggle
Show raw JSON
{
"JD_type": "pass",
"about_company": null,
"certifications": [],
"company_name": "Locus",
"ctc": null,
"domain": {
"primary": {
"aliases": [
"SaaS",
"Product Companies"
],
"domain": "Software \u0026 SaaS Products"
},
"secondary": null
},
"education": [],
"experience": {
"max": null,
"min": 8,
"raw": "8+ years of experience in mobile development"
},
"job_locations": [],
"role": "Mobile Engineer",
"role_aliases": [
"Mobile Developer",
"Android Engineer",
"iOS Engineer"
],
"role_archetype": "Engineering",
"roles_and_responsibilities": [
{
"bullet_count": 10,
"heading": "Responsibilities",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Own one or more core",
"last_5_words": "that hold up in the real world."
},
"text": "\u2022 Own one or more core mobile systems with end-to-end reliability, performance, and user experience. Not just the features. The whole platform.\n\u2022 Lead the design and architecture of scalable mobile systems, shared frameworks, and platform libraries aligned with Locus\u0027s technical strategy across Android and iOS.\n\u2022 Drive mobile operational excellence: define roadmaps for app reliability, crash-free rates, observability, and performance improvements that matter in the field.\n\u2022 Architect and optimise for the hardest mobile constraints: low-end Android devices, unreliable networks, offline-first workflows, and real-time location demands all at enterprise scale.\n\u2022 Build and own the mobile platform layer: shared architecture patterns, design systems, native SDKs, and tooling that other mobile engineers build on top of.\n\u2022 Work closely with teams across biological and digital product, backend, data, and infrastructure to translate complex B2B workflows into mobile experiences that field operators can rely on.\n\u2022 Mentor and guide mobile engineers, fostering a culture of technical ownership, craft, and continuous learning.\n\u2022 Establish and uphold mobile engineering standards, architecture reviews, code quality, release hygiene, and best practices across both platforms.\n\u2022 Stay ahead of the curve on emerging mobile technologies, platform capabilities, and patterns to strengthen Locus\u0027s mobile foundation.\n\u2022 Contribute to hiring: identify and attract engineers who build things that hold up in the real world.",
"word_count": 227
},
{
"bullet_count": 11,
"heading": "Requirements",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Strong CS fundamentals: data",
"last_5_words": "and can\u0027t let it go unfixed."
},
"text": "\u2022 Strong CS fundamentals: data structures, algorithms, design patterns, and mobile-specific problem-solving.\n\u2022 8+ years of experience in mobile development with deep, hands-on expertise in native Android\n\u2022 Proven experience in architecting and shipping production-grade mobile applications used by tens of thousands of users.\n\u2022 Mastery of offline-first architecture, local persistence strategies, conflict resolution, sync protocols, and graceful degradation under poor connectivity.\n\u2022 Deep understanding of mobile performance optimisation, memory management, rendering efficiency, battery consumption, and performance on low-end and mid-range devices.\n\u2022 Hands-on experience with real-time location, maps, and geospatial data on mobile, including background processing, GPS accuracy tradeoffs, and battery-aware design.\n\u2022 Solid understanding of mobile concurrency, threading models, and async processing patterns on both platforms.\n\u2022 Experience with CI/CD pipelines for mobile, crash reporting and observability.\n\u2022 Strong sense of code quality, platform idioms, and long-term maintainability across two native codebases.\n\u2022 Excellent communication skills, able to articulate mobile architecture decisions clearly to backend engineers, product managers, and non-technical stakeholders alike.\n\u2022 Self-driven, curious, and adaptable; sees a broken experience in the field and can\u0027t let it go unfixed.",
"word_count": 233
},
{
"bullet_count": 6,
"heading": "Good to Have",
"heading_was_present": true,
"source_marker": {
"first_5_words": "Degrees don\u0027t tell us much.",
"last_5_words": "and hackathon wins."
},
"text": "Degrees don\u0027t tell us much. These do:\n\u2022 You\u0027ve shipped a mobile platform that held up under real-world scale, and you know exactly what broke, where, and why.\n\u2022 You\u0027ve solved something genuinely hard on mobile: sync under flaky networks, maps at scale, and smooth UI on an 8,000 Android phone.\n\u2022 You\u0027ve built something on your own time, open source, a side project, or an internal tool that other engineers actually use.\n\u2022 You\u0027ve contributed meaningfully to a top open-source mobile project.\n\u2022 You\u0027ve written technical content that others reference or spoken at a conference on mobile engineering.\n\u2022 You\u0027ve competed in or completed something gruelling: ultra-marathons, Ironman, competitive programming, and hackathon wins.",
"word_count": 104
},
{
"bullet_count": 1,
"heading": "The stack",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Android: Jetpack Compose, XML",
"last_5_words": "services, background jobs."
},
"text": "\u2022 Android: Jetpack Compose, XML layouts, Koin, Dagger2 Ktor, Retrofit, Auth0 Room DB, Couchbase, Coroutines, RxJava, SDUI, location services, background jobs.",
"word_count": 25
}
],
"urls": []
}
API 1 — extract-from-jd click to toggle
{
"final_skills": [
{
"is_primary": true,
"skill_name": "Android"
},
{
"is_primary": true,
"skill_name": "iOS"
},
{
"is_primary": true,
"skill_name": "Jetpack Compose"
},
{
"is_primary": true,
"skill_name": "XML"
},
{
"is_primary": true,
"skill_name": "Koin"
},
{
"is_primary": true,
"skill_name": "Dagger2"
},
{
"is_primary": true,
"skill_name": "Ktor"
},
{
"is_primary": true,
"skill_name": "Retrofit"
},
{
"is_primary": true,
"skill_name": "Auth0"
},
{
"is_primary": true,
"skill_name": "Room"
},
{
"is_primary": true,
"skill_name": "Couchbase"
},
{
"is_primary": true,
"skill_name": "Coroutines"
},
{
"is_primary": true,
"skill_name": "RxJava"
},
{
"is_primary": true,
"skill_name": "SDUI"
},
{
"is_primary": true,
"skill_name": "location services"
},
{
"is_primary": true,
"skill_name": "background jobs"
},
{
"is_primary": true,
"skill_name": "offline-first architecture"
},
{
"is_primary": true,
"skill_name": "local persistence"
},
{
"is_primary": true,
"skill_name": "conflict resolution"
},
{
"is_primary": true,
"skill_name": "sync protocols"
},
{
"is_primary": true,
"skill_name": "mobile performance optimisation"
},
{
"is_primary": true,
"skill_name": "memory management"
},
{
"is_primary": true,
"skill_name": "rendering efficiency"
},
{
"is_primary": true,
"skill_name": "battery consumption"
},
{
"is_primary": true,
"skill_name": "GPS"
},
{
"is_primary": true,
"skill_name": "background processing"
},
{
"is_primary": true,
"skill_name": "threading models"
},
{
"is_primary": true,
"skill_name": "async processing"
},
{
"is_primary": true,
"skill_name": "CI/CD"
},
{
"is_primary": true,
"skill_name": "crash reporting"
},
{
"is_primary": true,
"skill_name": "observability"
},
{
"is_primary": true,
"skill_name": "code quality"
},
{
"is_primary": true,
"skill_name": "design patterns"
},
{
"is_primary": true,
"skill_name": "data structures"
},
{
"is_primary": true,
"skill_name": "algorithms"
},
{
"is_primary": false,
"skill_name": "Git"
},
{
"is_primary": false,
"skill_name": "open source"
},
{
"is_primary": false,
"skill_name": "competitive programming"
},
{
"is_primary": false,
"skill_name": "hackathons"
}
],
"jd_role": {
"display_name": "Mobile Engineer",
"rationale": null,
"role_aliases": [
"Mobile Developer",
"Android Engineer",
"iOS Engineer"
],
"role_archetype": "Engineering",
"slug": ""
},
"nano_parsed": {
"JD_type": "pass",
"about_company": null,
"certifications": [],
"company_name": "Locus",
"ctc": null,
"domain": {
"primary": {
"aliases": [
"SaaS",
"Product Companies"
],
"domain": "Software \u0026 SaaS Products"
},
"secondary": null
},
"education": [],
"experience": {
"max": null,
"min": 8,
"raw": "8+ years of experience in mobile development"
},
"job_locations": [],
"role": "Mobile Engineer",
"role_aliases": [
"Mobile Developer",
"Android Engineer",
"iOS Engineer"
],
"role_archetype": "Engineering",
"roles_and_responsibilities": [
{
"bullet_count": 10,
"heading": "Responsibilities",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Own one or more core",
"last_5_words": "that hold up in the real world."
},
"text": "\u2022 Own one or more core mobile systems with end-to-end reliability, performance, and user experience. Not just the features. The whole platform.\n\u2022 Lead the design and architecture of scalable mobile systems, shared frameworks, and platform libraries aligned with Locus\u0027s technical strategy across Android and iOS.\n\u2022 Drive mobile operational excellence: define roadmaps for app reliability, crash-free rates, observability, and performance improvements that matter in the field.\n\u2022 Architect and optimise for the hardest mobile constraints: low-end Android devices, unreliable networks, offline-first workflows, and real-time location demands all at enterprise scale.\n\u2022 Build and own the mobile platform layer: shared architecture patterns, design systems, native SDKs, and tooling that other mobile engineers build on top of.\n\u2022 Work closely with teams across biological and digital product, backend, data, and infrastructure to translate complex B2B workflows into mobile experiences that field operators can rely on.\n\u2022 Mentor and guide mobile engineers, fostering a culture of technical ownership, craft, and continuous learning.\n\u2022 Establish and uphold mobile engineering standards, architecture reviews, code quality, release hygiene, and best practices across both platforms.\n\u2022 Stay ahead of the curve on emerging mobile technologies, platform capabilities, and patterns to strengthen Locus\u0027s mobile foundation.\n\u2022 Contribute to hiring: identify and attract engineers who build things that hold up in the real world.",
"word_count": 227
},
{
"bullet_count": 11,
"heading": "Requirements",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Strong CS fundamentals: data",
"last_5_words": "and can\u0027t let it go unfixed."
},
"text": "\u2022 Strong CS fundamentals: data structures, algorithms, design patterns, and mobile-specific problem-solving.\n\u2022 8+ years of experience in mobile development with deep, hands-on expertise in native Android\n\u2022 Proven experience in architecting and shipping production-grade mobile applications used by tens of thousands of users.\n\u2022 Mastery of offline-first architecture, local persistence strategies, conflict resolution, sync protocols, and graceful degradation under poor connectivity.\n\u2022 Deep understanding of mobile performance optimisation, memory management, rendering efficiency, battery consumption, and performance on low-end and mid-range devices.\n\u2022 Hands-on experience with real-time location, maps, and geospatial data on mobile, including background processing, GPS accuracy tradeoffs, and battery-aware design.\n\u2022 Solid understanding of mobile concurrency, threading models, and async processing patterns on both platforms.\n\u2022 Experience with CI/CD pipelines for mobile, crash reporting and observability.\n\u2022 Strong sense of code quality, platform idioms, and long-term maintainability across two native codebases.\n\u2022 Excellent communication skills, able to articulate mobile architecture decisions clearly to backend engineers, product managers, and non-technical stakeholders alike.\n\u2022 Self-driven, curious, and adaptable; sees a broken experience in the field and can\u0027t let it go unfixed.",
"word_count": 233
},
{
"bullet_count": 6,
"heading": "Good to Have",
"heading_was_present": true,
"source_marker": {
"first_5_words": "Degrees don\u0027t tell us much.",
"last_5_words": "and hackathon wins."
},
"text": "Degrees don\u0027t tell us much. These do:\n\u2022 You\u0027ve shipped a mobile platform that held up under real-world scale, and you know exactly what broke, where, and why.\n\u2022 You\u0027ve solved something genuinely hard on mobile: sync under flaky networks, maps at scale, and smooth UI on an 8,000 Android phone.\n\u2022 You\u0027ve built something on your own time, open source, a side project, or an internal tool that other engineers actually use.\n\u2022 You\u0027ve contributed meaningfully to a top open-source mobile project.\n\u2022 You\u0027ve written technical content that others reference or spoken at a conference on mobile engineering.\n\u2022 You\u0027ve competed in or completed something gruelling: ultra-marathons, Ironman, competitive programming, and hackathon wins.",
"word_count": 104
},
{
"bullet_count": 1,
"heading": "The stack",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Android: Jetpack Compose, XML",
"last_5_words": "services, background jobs."
},
"text": "\u2022 Android: Jetpack Compose, XML layouts, Koin, Dagger2 Ktor, Retrofit, Auth0 Room DB, Couchbase, Coroutines, RxJava, SDUI, location services, background jobs.",
"word_count": 25
}
],
"urls": []
},
"rejected": false,
"rejection_reason": null,
"run_id": "b78fbd4c-78d5-4716-9490-ac1e0c50f191",
"stage3_signals": {
"alias_found": true,
"alias_match_roles": [
{
"display_name": "Android Engineer",
"matched_count": null,
"role_id": 4,
"score": 1.0,
"slug": "android-engineer",
"total_count": null
},
{
"display_name": "Ios engineer",
"matched_count": null,
"role_id": 6,
"score": 1.0,
"slug": "ios-engineer",
"total_count": null
}
],
"kra_match_roles": [
{
"display_name": "Android Engineer",
"matched_count": null,
"role_id": 4,
"score": 0.377,
"slug": "android-engineer",
"total_count": null
},
{
"display_name": "DevOps Engineer",
"matched_count": null,
"role_id": 10,
"score": 0.3627,
"slug": "devops-engineer",
"total_count": null
},
{
"display_name": "Hybrid Mobile Developer",
"matched_count": null,
"role_id": 11,
"score": 0.3431,
"slug": "hybrid-mobile-developer",
"total_count": null
},
{
"display_name": "Data Engineer",
"matched_count": null,
"role_id": 2,
"score": 0.3341,
"slug": "data-engineer",
"total_count": null
},
{
"display_name": "Ios engineer",
"matched_count": null,
"role_id": 6,
"score": 0.3313,
"slug": "ios-engineer",
"total_count": null
}
],
"skill_match_roles": [
{
"display_name": "Android Engineer",
"matched_count": 4,
"role_id": 4,
"score": 0.1026,
"slug": "android-engineer",
"total_count": 39
},
{
"display_name": "Hybrid Mobile Developer",
"matched_count": 3,
"role_id": 11,
"score": 0.0769,
"slug": "hybrid-mobile-developer",
"total_count": 39
},
{
"display_name": "Ios engineer",
"matched_count": 3,
"role_id": 6,
"score": 0.0769,
"slug": "ios-engineer",
"total_count": 39
},
{
"display_name": "Cybersecurity Engineer",
"matched_count": 1,
"role_id": 5,
"score": 0.0256,
"slug": "cybersecurity-engineer",
"total_count": 39
},
{
"display_name": "Backend Engineer",
"matched_count": 1,
"role_id": 1,
"score": 0.0256,
"slug": "backend-engineer",
"total_count": 39
}
]
},
"stage4_decision": {
"alias_collision_detected": false,
"case": "A",
"chosen_role": {
"display_name": "Android Engineer",
"matched_count": null,
"role_id": 4,
"score": 1.0,
"slug": "android-engineer",
"total_count": null
},
"confidence": 0.8,
"llm2_fired": false,
"llm2_reasoning": null,
"queued": false,
"reasoning": "Stage 1 title \u0027Android Engineer\u0027 (embedding match, sim 0.77); KRA inconclusive"
},
"stage5_updates": {
"centroid_n_after": 23,
"centroid_updated": true,
"collision_log_id": null,
"new_kra_attached": {
"best_kra_similarity": 0.377,
"queue_id": 49,
"r_and_r_preview": "\u2022 Own one or more core mobile systems with end-to-end reliability, performance, and user experience. Not just the features. The whole platform.\n\u2022 Lead the design and architecture of scalable mobile sy",
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"status": "pending"
},
"new_skills_attached": [
{
"is_primary": true,
"queue_id": 1508,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "XML",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1509,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "Koin",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1510,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "Dagger2",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1511,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "Ktor",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1512,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "Coroutines",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1513,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "RxJava",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1514,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "SDUI",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1515,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "background jobs",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1516,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "offline-first architecture",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1517,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "local persistence",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1518,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "conflict resolution",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1519,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "sync protocols",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1520,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "mobile performance optimisation",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1521,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "memory management",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1522,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "rendering efficiency",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1523,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "battery consumption",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1524,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "GPS",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1525,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "background processing",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1526,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "threading models",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1527,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "async processing",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1528,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "crash reporting",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1529,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "code quality",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 1530,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "design patterns",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 1531,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "open source",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 1532,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "competitive programming",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 1533,
"role_display_name": "Android Engineer",
"role_slug": "android-engineer",
"skill_name": "hackathons",
"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": 2540,
"existing_alias_text": "iOS",
"input_term": "iOS",
"matched_canonical": {
"category_id": 9,
"display_name": "iOS",
"id": 1594,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "ios",
"sub_category_id": 1200,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1521,
"existing_alias_text": "Jetpack Compose",
"input_term": "Jetpack Compose",
"matched_canonical": {
"category_id": 5,
"display_name": "Jetpack Compose",
"id": 918,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "jetpack-compose",
"sub_category_id": 341,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 1594,
"existing_alias_text": "Dagger",
"input_term": "Dagger2",
"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": "embedding_alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1536,
"existing_alias_text": "Retrofit",
"input_term": "Retrofit",
"matched_canonical": {
"category_id": 7,
"display_name": "Retrofit",
"id": 933,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "retrofit",
"sub_category_id": 344,
"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": 657,
"existing_alias_text": "Auth0",
"input_term": "Auth0",
"matched_canonical": {
"category_id": 9,
"display_name": "Auth0",
"id": 341,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "auth0",
"sub_category_id": 258,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1541,
"existing_alias_text": "Room",
"input_term": "Room",
"matched_canonical": {
"category_id": 7,
"display_name": "Room",
"id": 938,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "room",
"sub_category_id": 702,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 255,
"existing_alias_text": "Couchbase",
"input_term": "Couchbase",
"matched_canonical": {
"category_id": 3,
"display_name": "Couchbase",
"id": 94,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "couchbase",
"sub_category_id": 27,
"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": 1599,
"existing_alias_text": "location services",
"input_term": "location services",
"matched_canonical": {
"category_id": 2,
"display_name": "location services",
"id": 989,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "location-services",
"sub_category_id": 745,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 2553,
"existing_alias_text": "Offline-first",
"input_term": "offline-first architecture",
"matched_canonical": {
"category_id": 1,
"display_name": "Offline-first",
"id": 1601,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PATTERN",
"slug": "offline-first",
"sub_category_id": 1205,
"typical_lifespan": "EVERGREEN",
"volatility": "EMERGING"
},
"matched_via": "embedding_alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 1979,
"existing_alias_text": "state persistence",
"input_term": "local persistence",
"matched_canonical": {
"category_id": 2,
"display_name": "state persistence",
"id": 1343,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "state-persistence",
"sub_category_id": 684,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "embedding_alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 1698,
"existing_alias_text": "battery usage",
"input_term": "battery consumption",
"matched_canonical": {
"category_id": 2,
"display_name": "battery usage",
"id": 1072,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "battery-usage",
"sub_category_id": 754,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "embedding_alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1826,
"existing_alias_text": "CI/CD",
"input_term": "CI/CD",
"matched_canonical": {
"category_id": 8,
"display_name": "CI/CD",
"id": 1190,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "ci-cd",
"sub_category_id": 900,
"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": 2527,
"existing_alias_text": "Observability",
"input_term": "observability",
"matched_canonical": {
"category_id": 2,
"display_name": "Observability",
"id": 1581,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "observability",
"sub_category_id": 1187,
"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": 1614,
"existing_alias_text": "Data Structures",
"input_term": "data structures",
"matched_canonical": {
"category_id": 2,
"display_name": "Data Structures",
"id": 1003,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "data-structures",
"sub_category_id": 731,
"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": 1615,
"existing_alias_text": "Algorithms",
"input_term": "algorithms",
"matched_canonical": {
"category_id": 2,
"display_name": "Algorithms",
"id": 1004,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "algorithms",
"sub_category_id": 732,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1613,
"existing_alias_text": "Git",
"input_term": "Git",
"matched_canonical": {
"category_id": 13,
"display_name": "Git",
"id": 1002,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "git",
"sub_category_id": 730,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 2367,
"existing_alias_text": "open-source",
"input_term": "open source",
"matched_canonical": {
"category_id": 2,
"display_name": "open-source",
"id": 1472,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "open-source",
"sub_category_id": 1111,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "embedding_alias"
}
],
"candidate_roles": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"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": "Cybersecurity Engineer",
"id": 5,
"rationale": null,
"role_archetype": null,
"slug": "cybersecurity-engineer",
"source": "db"
},
{
"display_name": "Backend Engineer",
"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": "AI Engineer",
"id": 13,
"rationale": null,
"role_archetype": null,
"slug": "ai-engineer",
"source": "db"
},
{
"display_name": "DevOps Engineer",
"id": 10,
"rationale": null,
"role_archetype": null,
"slug": "devops-engineer",
"source": "db"
},
{
"display_name": "ML Engineer",
"id": 3,
"rationale": null,
"role_archetype": null,
"slug": "ml-engineer",
"source": "db"
},
{
"display_name": "Cloud Architect",
"id": 9,
"rationale": null,
"role_archetype": null,
"slug": "cloud-architect",
"source": "db"
},
{
"display_name": "Full Stack Engineer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
],
"chosen_role": {
"display_name": "Android Engineer",
"id": 4,
"rationale": "The primary skills strongly align with the responsibilities of an Android Engineer.",
"role_archetype": null,
"slug": "android-engineer",
"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": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "iOS",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android UI Frameworks",
"id": 162,
"rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
"slug": "android-ui-frameworks",
"source": "db"
},
"input_skill": "Jetpack Compose",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-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": "Dagger2",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Networking and API Integration",
"id": 84,
"rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
"slug": "networking-and-api-integration",
"source": "db"
},
"input_skill": "Retrofit",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Identity and Access Management Products",
"id": 65,
"rationale": "Identity platforms and privileged access tools used to enforce authentication, authorization, and administrative control. This is a vendor-family dimension because the role often reviews multiple IAM and PAM products in enterprise environments.",
"slug": "identity-and-access-management-products",
"source": "db"
},
"input_skill": "Auth0",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Cybersecurity Engineer",
"id": 5,
"rationale": null,
"role_archetype": null,
"slug": "cybersecurity-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Room",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "NoSQL Databases",
"id": 19,
"rationale": "Models and manages data using non-relational database systems.",
"slug": "nosql-databases",
"source": "db"
},
"input_skill": "Couchbase",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Device APIs and Hardware Features",
"id": 95,
"rationale": "iOS platform APIs that expose hardware and device capabilities to apps. This cluster covers the concrete integrations iOS engineers use for camera, sensors, location, and media experiences.",
"slug": "device-apis-and-hardware-features",
"source": "db"
},
"input_skill": "location services",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Device APIs and Hardware Integration",
"id": 171,
"rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
"slug": "device-apis-and-hardware-integration",
"source": "db"
},
"input_skill": "location services",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "offline-first architecture",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "AI Workflow Design",
"id": 207,
"rationale": "End-to-end design of multi-step AI feature flows from user input to final response. This cluster covers orchestration of retrieval, prompting, tool use, validation, and post-processing as a coherent product behavior.",
"slug": "ai-workflow-design",
"source": "db"
},
"input_skill": "local persistence",
"llm_role": null,
"roles_from_db": [
{
"display_name": "AI Engineer",
"id": 13,
"rationale": null,
"role_archetype": null,
"slug": "ai-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Performance Optimization",
"id": 169,
"rationale": "Techniques for improving responsiveness, startup time, memory use, battery impact, and animation smoothness in shared mobile apps. This cluster is important because hybrid apps often need careful tuning to stay within device constraints.",
"slug": "mobile-performance-optimization",
"source": "db"
},
"input_skill": "battery consumption",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "CI/CD Pipeline Platforms",
"id": 150,
"rationale": "Systems used to define, run, and maintain automated build and deployment workflows. This cluster is coherent because the role owns delivery automation end to end, including pipeline reliability and promotion logic.",
"slug": "ci-cd-pipeline-platforms",
"source": "db"
},
"input_skill": "CI/CD",
"llm_role": null,
"roles_from_db": [
{
"display_name": "DevOps Engineer",
"id": 10,
"rationale": null,
"role_archetype": null,
"slug": "devops-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "CI/CD for Machine Learning",
"id": 56,
"rationale": "Tools and platforms for automating ML model integration, testing, and deployment pipelines.",
"slug": "ci-cd-for-machine-learning",
"source": "db"
},
"input_skill": "CI/CD",
"llm_role": null,
"roles_from_db": [
{
"display_name": "ML Engineer",
"id": 3,
"rationale": null,
"role_archetype": null,
"slug": "ml-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Observability and Operations",
"id": 143,
"rationale": "Monitoring, logging, tracing, and operational readiness patterns used to keep cloud platforms supportable. Cloud Architects use this to define what telemetry and operational controls workloads must expose.",
"slug": "observability-and-operations",
"source": "db"
},
"input_skill": "observability",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Cloud Architect",
"id": 9,
"rationale": null,
"role_archetype": null,
"slug": "cloud-architect",
"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": "data structures",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "algorithms",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Git",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "open source",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "XML",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Koin",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Web Application Frameworks",
"id": 2,
"rationale": "Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.",
"slug": "web-application-frameworks",
"source": "db"
},
"input_skill": "Ktor",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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": "Full Stack Engineer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Web Application Frameworks",
"id": 2,
"rationale": "Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.",
"slug": "web-application-frameworks",
"source": "db"
},
"input_skill": "Ktor",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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": "Full Stack Engineer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"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 Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"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": "RxJava",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"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": "RxJava",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "SDUI",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background jobs",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background jobs",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "conflict resolution",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "sync protocols",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "mobile performance optimisation",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "mobile performance optimisation",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "memory management",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "memory management",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "rendering efficiency",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "rendering efficiency",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "GPS",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "threading models",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "async processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "async processing",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "async processing",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "async processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "async processing",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Crash Reporting and Observability",
"id": 91,
"rationale": "Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.",
"slug": "crash-reporting-and-observability",
"source": "db"
},
"input_skill": "crash reporting",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Crash Reporting and Observability",
"id": 91,
"rationale": "Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.",
"slug": "crash-reporting-and-observability",
"source": "db"
},
"input_skill": "crash reporting",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "code quality",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "design patterns",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "competitive programming",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "hackathons",
"llm_role": null,
"roles_from_db": []
}
],
"input_final_skills": [
"Android",
"iOS",
"Jetpack Compose",
"XML",
"Koin",
"Dagger2",
"Ktor",
"Retrofit",
"Auth0",
"Room",
"Couchbase",
"Coroutines",
"RxJava",
"SDUI",
"location services",
"background jobs",
"offline-first architecture",
"local persistence",
"conflict resolution",
"sync protocols",
"mobile performance optimisation",
"memory management",
"rendering efficiency",
"battery consumption",
"GPS",
"background processing",
"threading models",
"async processing",
"CI/CD",
"crash reporting",
"observability",
"code quality",
"design patterns",
"data structures",
"algorithms",
"Git",
"open source",
"competitive programming",
"hackathons"
],
"input_llm_skills": [
"Android",
"iOS",
"Jetpack Compose",
"XML",
"Koin",
"Dagger2",
"Ktor",
"Retrofit",
"Auth0",
"Room",
"Couchbase",
"Coroutines",
"RxJava",
"SDUI",
"location services",
"background jobs",
"offline-first architecture",
"local persistence",
"conflict resolution",
"sync protocols",
"mobile performance optimisation",
"memory management",
"rendering efficiency",
"battery consumption",
"GPS",
"background processing",
"threading models",
"async processing",
"CI/CD",
"crash reporting",
"observability",
"code quality",
"design patterns",
"data structures",
"algorithms",
"Git",
"open source",
"competitive programming",
"hackathons"
],
"new_aliases_persisted": 0,
"run_id": "b78fbd4c-78d5-4716-9490-ac1e0c50f191",
"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": "iOS",
"alias_type": "CANONICAL",
"id": 2540,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "iOS",
"id": 1594,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "ios",
"sub_category_id": 1200,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "iOS",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "iOS",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Jetpack Compose",
"alias_type": "CANONICAL",
"id": 1521,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Jetpack Compose",
"id": 918,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "jetpack-compose",
"sub_category_id": 341,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android UI Frameworks",
"id": 162,
"rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
"slug": "android-ui-frameworks",
"source": "db"
},
"input_skill": "Jetpack Compose",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
}
],
"input_skill": "Jetpack Compose",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"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": "XML",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "XML",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Format",
"skill_nature": "STANDARD",
"sub_category": "markup_format",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cXML\u201d is a specific, unambiguous markup format name; typical JDs won\u2019t confuse it with other distinct skills in the catalog."
},
"context_keywords": {
"context_keywords": [
"XSLT",
"XPath",
"DOM",
"SAX",
"XML Schema",
"SOAP",
"RSS",
"SVG",
"DTD",
"Namespaces",
"JSON",
"Data Serialization",
"Markup Language",
"Well-formed",
"Parsing",
"Serialization"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "XML remains a common requirement in enterprise JDs and standards-based integrations (SOAP, SAML, Office Open XML), with broad support across major platforms and tooling."
},
"skill_id": "xml",
"vendor_license": {
"confidence": 0.95,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "XML is a structured markup format used to represent hierarchical data, configuration, and interchange payloads. It belongs here because the skill is about reading, writing, validating, and transforming XML documents rather than a specific platform or framework.",
"exemplar_skills": [
"XML",
"XPath",
"XSLT",
"XML Schema",
"XML parsing",
"XML namespaces"
],
"in_scope": "XML syntax, XML namespaces, XML schema (XSD), DTD, XPath, XSLT, XML parsing, XML serialization, XML configuration files, XML-based data interchange, XML validation",
"name": "XML Data Markup",
"out_of_scope": "JSON and YAML document formats, HTML presentation markup, API transport protocols like REST or GraphQL, mobile UI layout files owned by platform-specific framework dimensions",
"overlap_flags": [
{
"reason": "XML often appears in server-side configuration and payload handling, but the core skill is the markup format itself rather than the framework.",
"with_dim_id": "web-application-frameworks",
"with_dim_name": null,
"with_role": "Backend Engineer, Full Stack Engineer"
},
{
"reason": "XML can be used in build manifests and project files, but those uses are incidental to the underlying XML syntax and structure.",
"with_dim_id": "build-and-packaging-tooling",
"with_dim_name": null,
"with_role": "DevOps Engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "XML",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "xml"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"css",
"javascript",
"api",
"document-processing",
"layout-parsing",
"pagination",
"websockets"
],
"requires": [],
"skill_id": "xml",
"suppress_on_match": []
},
"skill_id": "xml",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.99,
"name": "XML",
"reasoning": "XML is a data/wire structure specification rather than a runnable system, so by the Format vs Datastore rule it is a Format.",
"skill_id": "xml",
"subtype": "markup_format",
"type": "Format"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Koin",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Koin",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Framework",
"skill_nature": "FRAMEWORK",
"sub_category": "dependency_injection_framework",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cKoin\u201d is a specific DI framework name; unlikely to be confused with other catalog skills in typical JDs."
},
"context_keywords": {
"context_keywords": [
"Koin DSL",
"Android",
"dependency injection",
"ViewModel",
"scope",
"module",
"single",
"factory",
"inject",
"KoinTest",
"startKoin",
"KoinComponent",
"get()",
"KoinApplication",
"KoinContext"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "niche",
"reasoning": "Koin appears in some Kotlin Android/backend JDs, but JD volume is far below Dagger/Hilt and it remains a specialized DI choice rather than a default stack item."
},
"skill_id": "koin",
"vendor_license": {
"confidence": 0.9,
"license": "apache_2",
"vendor": "InsertKoin",
"year_introduced": 2018
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Frameworks and libraries used to wire application components together through dependency injection and inversion of control. Koin belongs here because it is a Kotlin DI framework used to define, resolve, and manage app dependencies.",
"exemplar_skills": [
"Koin",
"dependency injection",
"inversion of control",
"constructor injection",
"service locator patterns",
"module wiring",
"scoped dependencies"
],
"in_scope": "Koin, dependency injection, inversion of control, service registration, module definitions, object graph wiring, scoped dependencies, singleton bindings, constructor injection",
"name": "Dependency Injection Frameworks",
"out_of_scope": "Kotlin language syntax, Android UI composition, networking clients, persistence libraries, build tooling, navigation frameworks",
"overlap_flags": [
{
"reason": "Koin is typically used from Kotlin/Java application code, but the dimension here is the DI framework itself rather than the language.",
"with_dim_id": "kotlin-and-java",
"with_dim_name": null,
"with_role": "Android Engineer"
},
{
"reason": "Shared mobile codebases may use Koin, but the core concept is dependency injection, not cross-platform language choice.",
"with_dim_id": "cross-platform-app-languages",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "Koin",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "koin"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"langchain",
"go",
"javascript",
"axios",
"jwt",
"oidc"
],
"requires": [],
"skill_id": "koin",
"suppress_on_match": []
},
"skill_id": "koin",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.9,
"name": "Koin",
"reasoning": "Koin is a codebase you build applications inside by wiring dependencies at runtime, so under the Tool vs Framework rule it is a Framework rather than a standalone tool.",
"skill_id": "koin",
"subtype": "dependency_injection_framework",
"type": "Framework"
},
"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": "Dagger2",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Dagger2",
"matched_via": "embedding_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": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Web Application Frameworks",
"id": 2,
"rationale": "Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.",
"slug": "web-application-frameworks",
"source": "db"
},
"input_skill": "Ktor",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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": "Full Stack Engineer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Web Application Frameworks",
"id": 2,
"rationale": "Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.",
"slug": "web-application-frameworks",
"source": "db"
},
"input_skill": "Ktor",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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": "Full Stack Engineer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
]
}
],
"input_skill": "Ktor",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Framework",
"skill_nature": "FRAMEWORK",
"sub_category": "web_framework",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "EMERGING"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "Ktor is a specific Kotlin web framework; typical JDs won\u2019t confuse it with other similarly named skills."
},
"context_keywords": {
"context_keywords": [
"Kotlin",
"coroutines",
"routing",
"HTTP client",
"WebSockets",
"plugins",
"DSL",
"RESTful",
"authentication",
"serialization",
"Gradle",
"Ktor server",
"Ktor client",
"middleware",
"testing"
]
},
"maturity": {
"confidence": 0.84,
"maturity": "emerging",
"reasoning": "Ktor appears in growing Kotlin backend job postings and is increasingly used in JVM microservices, but JD volume remains far below Spring Boot and other mainstream web frameworks."
},
"skill_id": "ktor",
"vendor_license": {
"confidence": 0.95,
"license": "apache_2",
"vendor": "JetBrains",
"year_introduced": 2017
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Server-side frameworks and runtimes used to build HTTP services, routing, middleware, and request/response handling. Ktor belongs here because it is a Kotlin web framework for creating backend APIs and services.",
"exemplar_skills": [
"Ktor",
"Ktor routing",
"Ktor server modules",
"Ktor authentication",
"Ktor serialization",
"Ktor WebSockets"
],
"in_scope": "Ktor, Ktor routing, Ktor server modules, HTTP endpoints, middleware, request/response pipelines, serialization plugins, content negotiation, authentication plugins, WebSocket support",
"name": "Web Application Frameworks",
"out_of_scope": "Client-side app frameworks, mobile UI navigation, database ORM usage, cloud deployment tooling, container orchestration, frontend routing",
"overlap_flags": [
{
"reason": "Ktor is implemented in Kotlin, so it may also appear under language-centric Android/backend skill groupings.",
"with_dim_id": "kotlin-and-java",
"with_dim_name": null,
"with_role": "Android Engineer"
}
],
"tentative_id": "web-application-frameworks"
},
{
"description": "Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.",
"exemplar_skills": [
"Web Application Frameworks"
],
"in_scope": "Skills, tools, and practices that belong under Web Application Frameworks for the target role, including items implied by the dimension rationale.",
"name": "Web Application Frameworks",
"out_of_scope": "Adjacent clusters explicitly not owned by Web Application Frameworks, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "web-application-frameworks"
}
],
"merge_log": [],
"placed": {
"name": "Ktor",
"placement_confidence": 0.92,
"primary_dimension": "web-application-frameworks",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "ktor"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"tomcat",
"api",
"mvc",
"jwt",
"javascript",
"vue"
],
"requires": [],
"skill_id": "ktor",
"suppress_on_match": []
},
"skill_id": "ktor",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.98,
"name": "Ktor",
"reasoning": "Ktor is a server-side application framework that you build applications inside, so by the Tool vs Framework rule it is a Framework.",
"skill_id": "ktor",
"subtype": "web_framework",
"type": "Framework"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Retrofit",
"alias_type": "CANONICAL",
"id": 1536,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 7,
"display_name": "Retrofit",
"id": 933,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "retrofit",
"sub_category_id": 344,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Networking and API Integration",
"id": 84,
"rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
"slug": "networking-and-api-integration",
"source": "db"
},
"input_skill": "Retrofit",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Retrofit",
"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": "Auth0",
"alias_type": "CANONICAL",
"id": 657,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "Auth0",
"id": 341,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "auth0",
"sub_category_id": 258,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Identity and Access Management Products",
"id": 65,
"rationale": "Identity platforms and privileged access tools used to enforce authentication, authorization, and administrative control. This is a vendor-family dimension because the role often reviews multiple IAM and PAM products in enterprise environments.",
"slug": "identity-and-access-management-products",
"source": "db"
},
"input_skill": "Auth0",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Cybersecurity Engineer",
"id": 5,
"rationale": null,
"role_archetype": null,
"slug": "cybersecurity-engineer",
"source": "db"
}
]
}
],
"input_skill": "Auth0",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Room",
"alias_type": "CANONICAL",
"id": 1541,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 7,
"display_name": "Room",
"id": 938,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LIBRARY",
"slug": "room",
"sub_category_id": 702,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Room",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Room",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Couchbase",
"alias_type": "CANONICAL",
"id": 255,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 3,
"display_name": "Couchbase",
"id": 94,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "couchbase",
"sub_category_id": 27,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "NoSQL Databases",
"id": 19,
"rationale": "Models and manages data using non-relational database systems.",
"slug": "nosql-databases",
"source": "db"
},
"input_skill": "Couchbase",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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"
}
]
}
],
"input_skill": "Couchbase",
"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": [
{
"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 Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
}
],
"input_skill": "Coroutines",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "concurrency_concept",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cCoroutines\u201d is a specific concurrency concept; typical JDs won\u2019t confuse it with other distinct skills in the catalog."
},
"context_keywords": {
"context_keywords": [
"suspend",
"async",
"launch",
"CoroutineScope",
"Flow",
"Channel",
"structured concurrency",
"Kotlin Coroutines",
"Java CompletableFuture",
"coroutine builders",
"Dispatchers",
"coroutine context",
"asynchronous programming",
"non-blocking",
"reactive programming"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "well_known",
"reasoning": "Coroutines are broadly used in Kotlin/Android and appear in many job descriptions; Java\u2019s Project Loom/virtual threads also signal mainstream demand for async concurrency concepts."
},
"skill_id": "coroutines",
"vendor_license": {
"confidence": 0.95,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Kotlin coroutine-based concurrency for asynchronous and non-blocking app logic. This fits Coroutines because it is the primary structured-concurrency model used in Kotlin mobile code for background work, cancellation, and sequential-looking async flows.",
"exemplar_skills": [
"Coroutines",
"suspend functions",
"CoroutineScope",
"Dispatchers",
"structured concurrency",
"Flow",
"channels"
],
"in_scope": "Coroutines, suspend functions, CoroutineScope, Job and Deferred, structured concurrency, dispatchers, cancellation, Flow, channels, Kotlin concurrency primitives",
"name": "Kotlin Concurrency and Coroutines",
"out_of_scope": "Java threads, executors, and CompletableFuture, Android UI layout, networking libraries, dependency injection, persistence frameworks",
"overlap_flags": [
{
"reason": "Coroutine work often interacts with app lifecycle and background tasks, but lifecycle management is owned by the background execution dimension.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Coroutines are frequently used to load and update UI state, but screen state management is the primary concern of the navigation/state dimension.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "kotlin-and-java"
}
],
"merge_log": [],
"placed": {
"name": "Coroutines",
"placement_confidence": 0.92,
"primary_dimension": "kotlin-and-java",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "coroutines"
},
"relationships": {
"child_skills": [],
"parent_skills": [
"async-programming"
],
"related_to": [
"sync",
"go",
"redux",
"axios",
"react",
"vue",
"riverpod"
],
"requires": [],
"skill_id": "coroutines",
"suppress_on_match": []
},
"skill_id": "coroutines",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.9,
"name": "Coroutines",
"reasoning": "Coroutines are fundamentally a programming concept for cooperative concurrency, not a tool, framework, or runtime under the given typology.",
"skill_id": "coroutines",
"subtype": "concurrency_concept",
"type": "Concept"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"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": "RxJava",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"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": "RxJava",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
}
],
"input_skill": "RxJava",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Library",
"skill_nature": "LIBRARY",
"sub_category": "reactive_programming_library",
"typical_lifespan": "EVERGREEN",
"version_strategy": "SEPARATE_ENTITY",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "RxJava is a specific reactive programming library; typical JDs distinguish it from other reactive frameworks/libraries."
},
"context_keywords": {
"context_keywords": [
"Observable",
"Scheduler",
"Flowable",
"Single",
"Completable",
"Backpressure",
"Operators",
"Subject",
"Reactive Streams",
"Android",
"Kotlin Coroutines",
"Event-driven",
"Asynchronous",
"Stream processing",
"Functional programming"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "niche",
"reasoning": "RxJava still appears in Android/Java job ads, but far less than Kotlin coroutines/Reactor; market demand is concentrated in legacy or reactive-heavy codebases rather than broad new-project adoption."
},
"skill_id": "rxjava",
"vendor_license": {
"confidence": 0.95,
"license": "apache_2",
"vendor": "Netflix",
"year_introduced": 2013
},
"versioning": {
"current_version": "3.x",
"version_aliases": {
"RxJava 2": "2.x",
"RxJava 3": "3.x",
"RxJava2": "2.x",
"RxJava3": "3.x",
"rxjava2": "2.x",
"rxjava3": "3.x"
},
"versioned": true
}
},
"keep_log": [
{
"a_dim_id": "kotlin-and-java",
"a_name": "Kotlin and Java",
"a_role": "__skill_focal__",
"b_dim_id": "kotlin-and-java",
"b_name": "Kotlin and Java",
"b_role": "Android Engineer",
"pair_kind": "cross_role",
"reasoning": "Dim A is language/runtime fundamentals: Java syntax, collections, concurrency basics, Kotlin interop, RxJava, Java streams, JVM features; it excludes Android UI, navigation, networking, and build tooling. Dim B is Android feature implementation: Kotlin/Java for screens, state flows, service adapters, and device-aware behavior. A senior Java/Kotlin/RxJava/JVM engineer is not automatically a senior Android feature/platform engineer. career-track: no, because the daily work and adjacent expertise differ.",
"similarity": 0.8359236275259532
}
],
"locked_dimensions": [
{
"description": "Primary implementation languages and their core libraries used to build Android app features and client-side business logic. RxJava belongs here because it is a Java-based reactive programming library commonly used from Java or Kotlin on Android.",
"exemplar_skills": [
"Java",
"Kotlin",
"RxJava",
"JVM",
"Java Streams",
"Kotlin interop"
],
"in_scope": "Java syntax, collections, concurrency basics, Kotlin interop, RxJava, Java streams, JVM language features",
"name": "Kotlin and Java",
"out_of_scope": "Android UI frameworks, app navigation, networking clients, build tooling, backend Java frameworks",
"overlap_flags": [
{
"reason": "Reactive streams are often used to drive UI state, but the dimension here is the language/library layer rather than screen flow management.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "RxJava is frequently used to compose network calls, but HTTP client behavior and request/response handling belong to networking.",
"with_dim_id": "networking-and-api-integration",
"with_dim_name": null,
"with_role": "Android Engineer, Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "kotlin-and-java"
},
{
"description": "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.",
"exemplar_skills": [
"Kotlin and Java"
],
"in_scope": "Skills, tools, and practices that belong under Kotlin and Java for the target role, including items implied by the dimension rationale.",
"name": "Kotlin and Java",
"out_of_scope": "Adjacent clusters explicitly not owned by Kotlin and Java, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "kotlin-and-java"
}
],
"merge_log": [],
"placed": {
"name": "RxJava",
"placement_confidence": 0.92,
"primary_dimension": "kotlin-and-java",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "rxjava"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"async-programming",
"javascript",
"typescript",
"react-query",
"redux",
"api",
"axios"
],
"requires": [],
"skill_id": "rxjava",
"suppress_on_match": []
},
"skill_id": "rxjava",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.98,
"name": "RxJava",
"reasoning": "RxJava is a code package imported into application code, so by the Tool vs Framework rule it is fundamentally a Library rather than a Framework or Tool.",
"skill_id": "rxjava",
"subtype": "reactive_programming_library",
"type": "Library"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"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": "SDUI",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "SDUI",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Architecture",
"skill_nature": "PATTERN",
"sub_category": "server_driven_ui_architecture",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "EMERGING"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "SDUI is a specific term for server-driven UI architecture; unlikely to be confused with other catalog skills."
},
"context_keywords": {
"context_keywords": [
"dynamic rendering",
"UI components",
"data-driven design",
"client-side caching",
"API integration",
"state management",
"responsive layouts",
"component libraries",
"versioning",
"user experience",
"performance optimization",
"declarative UI",
"real-time updates",
"schema evolution",
"feature toggles"
]
},
"maturity": {
"confidence": 0.78,
"maturity": "emerging",
"reasoning": "SDUI appears in growing mobile/frontend job postings and vendor talks, but JD volume is still far below React/Flutter; adoption is rising rather than universal."
},
"skill_id": "sdui",
"vendor_license": {
"confidence": 0.8,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Patterns for defining and rendering app screens from server-provided UI schemas or component descriptors. SDUI belongs here because it is the core approach of moving presentation structure and some interaction logic out of the client and into backend-delivered configuration.",
"exemplar_skills": [
"SDUI",
"server-driven UI",
"remote UI rendering",
"JSON-based UI schemas",
"dynamic screen composition"
],
"in_scope": "SDUI, server-driven UI schemas, remote component trees, JSON UI definitions, dynamic screen composition, server-authored layout metadata, client renderer mapping, conditional UI variants",
"name": "Server-Driven UI Architecture",
"out_of_scope": "client-side routing and navigation, static native view construction, API response parsing for data-only payloads, styling systems, authentication flows",
"overlap_flags": [
{
"reason": "SDUI still depends on fetching server-delivered UI definitions and data, but that dimension owns the transport and request/response mechanics.",
"with_dim_id": "api-integration-and-data-fetching",
"with_dim_name": null,
"with_role": "Frontend Engineer, Full Stack Engineer"
},
{
"reason": "Server-driven screens often interact with navigation and state, but this dimension owns the flow and state management patterns rather than UI schema generation.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "SDUI",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "sdui"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"mvc",
"api",
"indexeddb",
"localstorage",
"document-processing",
"radix-ui",
"material-ui",
"ant-design"
],
"requires": [],
"skill_id": "sdui",
"suppress_on_match": []
},
"skill_id": "sdui",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.9,
"name": "SDUI",
"reasoning": "SDUI is fundamentally a system-shape pattern where the server drives the UI composition, so by the Architecture vs Concept rule it fits Architecture rather than a generic concept or methodology.",
"skill_id": "sdui",
"subtype": "server_driven_ui_architecture",
"type": "Architecture"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "location services",
"alias_type": "CANONICAL",
"id": 1599,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "location services",
"id": 989,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "location-services",
"sub_category_id": 745,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Device APIs and Hardware Features",
"id": 95,
"rationale": "iOS platform APIs that expose hardware and device capabilities to apps. This cluster covers the concrete integrations iOS engineers use for camera, sensors, location, and media experiences.",
"slug": "device-apis-and-hardware-features",
"source": "db"
},
"input_skill": "location services",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Device APIs and Hardware Integration",
"id": 171,
"rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
"slug": "device-apis-and-hardware-integration",
"source": "db"
},
"input_skill": "location services",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
}
],
"input_skill": "location services",
"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": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background jobs",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background jobs",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "background jobs",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "asynchronous_processing",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cBackground jobs\u201d typically refers to asynchronous job execution/lifecycle, not a distinct catalog skill with a similar name."
},
"context_keywords": {
"context_keywords": [
"queue",
"worker",
"cron",
"job scheduler",
"asynchronous",
"task runner",
"message broker",
"event-driven",
"retry mechanism",
"load balancing",
"background processing",
"job orchestration",
"scalability",
"task management",
"microservices"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Common in JDs for web/backend roles (e.g., Sidekiq, Celery, SQS workers); cloud vendors and frameworks document it as a standard pattern for async processing and retries."
},
"skill_id": "background-jobs",
"vendor_license": {
"confidence": 0.95,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [
{
"a_dim_id": "background-execution-and-lifecycle",
"a_name": "Background Execution and Lifecycle",
"a_role": "__skill_focal__",
"b_dim_id": "background-execution-and-lifecycle",
"b_name": "Background Execution and Lifecycle",
"b_role": "Ios engineer",
"pair_kind": "cross_role",
"reasoning": "Dim A is cross-platform mobile background execution: it explicitly includes Android WorkManager, iOS background modes, background fetch, and deferred tasks across lifecycle transitions. Dim B is iOS-only, focused on keeping iOS behavior reliable when backgrounded/suspended/relaunched and mentions sync/refresh continuity. The overlap is naming, not substance. career-track: no, because a senior cross-platform background-execution engineer is not automatically a senior iOS-only background-execution engineer; the platform APIs and constraints differ.",
"similarity": 0.8879548151230012
}
],
"locked_dimensions": [
{
"description": "App lifecycle handling and deferred work mechanisms that keep mobile behavior reliable when the app is backgrounded, suspended, or relaunched. Background jobs belong here because they are the common pattern for running work outside the foreground UI thread and across lifecycle transitions.",
"exemplar_skills": [
"background jobs",
"background fetch",
"deferred tasks",
"app lifecycle management",
"iOS background modes",
"Android WorkManager",
"background processing APIs"
],
"in_scope": "background jobs, background fetch, deferred tasks, app lifecycle events, suspended-state work, task scheduling after app resume, iOS background modes, Android WorkManager, background processing APIs",
"name": "Background Execution and Lifecycle",
"out_of_scope": "foreground UI rendering, screen navigation, network request design, push notification payload design, server-side cron jobs, cloud workflow orchestration",
"overlap_flags": [
{
"reason": "Background work often depends on app state transitions, but this dimension owns user-flow state management rather than deferred execution.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Some background jobs are used for staged rollouts or remote config refresh, but release gating is not the primary concern here.",
"with_dim_id": "feature-flags-and-release-control",
"with_dim_name": null,
"with_role": "Full Stack Engineer"
}
],
"tentative_id": "background-execution-and-lifecycle"
},
{
"description": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"exemplar_skills": [
"Background Execution and Lifecycle"
],
"in_scope": "Skills, tools, and practices that belong under Background Execution and Lifecycle for the target role, including items implied by the dimension rationale.",
"name": "Background Execution and Lifecycle",
"out_of_scope": "Adjacent clusters explicitly not owned by Background Execution and Lifecycle, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "background-execution-and-lifecycle"
}
],
"merge_log": [],
"placed": {
"name": "background jobs",
"placement_confidence": 0.92,
"primary_dimension": "background-execution-and-lifecycle",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "background-jobs"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"async-programming",
"service-workers",
"azure-functions",
"argo-workflows",
"volcano-scheduler",
"backfills",
"logging",
"context-management"
],
"requires": [],
"skill_id": "background-jobs",
"suppress_on_match": []
},
"skill_id": "background-jobs",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.88,
"name": "background jobs",
"reasoning": "This is fundamentally a knowledge unit about running work asynchronously in the background, so it fits the Concept category rather than a Tool or Framework.",
"skill_id": "background-jobs",
"subtype": "asynchronous_processing",
"type": "Concept"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Offline-first",
"alias_type": "CANONICAL",
"id": 2553,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 1,
"display_name": "Offline-first",
"id": 1601,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PATTERN",
"slug": "offline-first",
"sub_category_id": 1205,
"typical_lifespan": "EVERGREEN",
"volatility": "EMERGING"
},
"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": "offline-first architecture",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "offline-first architecture",
"matched_via": "embedding_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": "state persistence",
"alias_type": "CANONICAL",
"id": 1979,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "state persistence",
"id": 1343,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "state-persistence",
"sub_category_id": 684,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "AI Workflow Design",
"id": 207,
"rationale": "End-to-end design of multi-step AI feature flows from user input to final response. This cluster covers orchestration of retrieval, prompting, tool use, validation, and post-processing as a coherent product behavior.",
"slug": "ai-workflow-design",
"source": "db"
},
"input_skill": "local persistence",
"llm_role": null,
"roles_from_db": [
{
"display_name": "AI Engineer",
"id": 13,
"rationale": null,
"role_archetype": null,
"slug": "ai-engineer",
"source": "db"
}
]
}
],
"input_skill": "local persistence",
"matched_via": "embedding_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": [
{
"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": "conflict resolution",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "conflict resolution",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "SoftSkill",
"skill_nature": "PRACTICE",
"sub_category": "conflict_resolution",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cConflict resolution\u201d is a distinct soft-skill phrase and is unlikely to be confused with other catalog skills."
},
"context_keywords": {
"context_keywords": [
"mediation",
"negotiation",
"active listening",
"empathy",
"collaboration",
"problem-solving",
"interpersonal skills",
"facilitation",
"assertiveness",
"consensus-building",
"dispute resolution",
"emotional intelligence",
"stakeholder engagement",
"cultural sensitivity",
"team dynamics"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Conflict resolution appears in many job descriptions across management, HR, customer success, and engineering leadership; it is a standard hiring-pipeline soft skill rather than a niche or declining one."
},
"skill_id": "conflict-resolution",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Skills for addressing disagreements, misalignment, and tension between people or groups in a constructive way. This fits the target skill because it covers de-escalation, mediation, and reaching workable agreements in team settings.",
"exemplar_skills": [
"conflict resolution",
"mediation",
"de-escalation",
"negotiation",
"facilitation",
"stakeholder alignment"
],
"in_scope": "conflict resolution, mediation, de-escalation, negotiation, handling interpersonal disagreements, facilitating compromise, resolving team tensions, addressing stakeholder misalignment",
"name": "Conflict Resolution",
"out_of_scope": "incident response escalation, root-cause analysis, performance management, legal dispute handling, customer support complaint resolution, project planning",
"overlap_flags": [
{
"reason": "Both can involve tense situations and escalation, but incident-response-support is about operational incidents rather than interpersonal conflict.",
"with_dim_id": "incident-response-support",
"with_dim_name": null,
"with_role": "ML Ops Engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "conflict resolution",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "conflict-resolution"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"escalation",
"evaluation",
"failure-analysis",
"rollback-procedures",
"technical-writing",
"sdlc"
],
"requires": [],
"skill_id": "conflict-resolution",
"suppress_on_match": []
},
"skill_id": "conflict-resolution",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.99,
"name": "conflict resolution",
"reasoning": "Conflict resolution is fundamentally an interpersonal capability, so it fits the SoftSkill type rather than a technical concept or methodology.",
"skill_id": "conflict-resolution",
"subtype": "conflict_resolution",
"type": "SoftSkill"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"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": "sync protocols",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "sync protocols",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Protocol",
"skill_nature": "PROTOCOL",
"sub_category": "synchronization_protocols",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cSync protocols\u201d is a specific, uncommon phrasing and doesn\u2019t closely overlap with other catalog protocol skills in typical JDs."
},
"context_keywords": {
"context_keywords": [
"NTP",
"PTP",
"SYNCHRONIZE",
"clock drift",
"time synchronization",
"timestamping",
"UDP",
"TCP",
"real-time",
"latency",
"synchronization algorithms",
"distributed systems",
"event ordering",
"network time",
"synchronization accuracy"
]
},
"maturity": {
"confidence": 0.84,
"maturity": "well_known",
"reasoning": "Widely used in distributed systems JDs and vendor docs; protocols like Raft/Paxos and NTP/clock sync are common requirements for consensus, replication, and time synchronization."
},
"skill_id": "sync-protocols",
"vendor_license": {
"confidence": 0.8,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Protocols and mechanisms used to keep data consistent between client and server or across devices. This skill fits here because it concerns how updates are exchanged, ordered, merged, and reconciled during sync.",
"exemplar_skills": [
"sync protocols",
"delta synchronization",
"offline sync",
"conflict resolution",
"state reconciliation",
"bidirectional sync"
],
"in_scope": "sync protocols, delta sync, bidirectional synchronization, conflict detection and resolution, offline-first sync, incremental updates, state reconciliation, replication checkpoints, sync cursors, last-write-wins, vector clocks",
"name": "Data Synchronization Protocols",
"out_of_scope": "HTTP request/response APIs, UI state management, authentication tokens, local persistence schemas, push notification delivery, database query optimization",
"overlap_flags": [
{
"reason": "Sync protocols often ride over HTTP or other transport layers, but this dimension focuses on synchronization semantics rather than request handling.",
"with_dim_id": "networking-and-api-integration",
"with_dim_name": null,
"with_role": "Android Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Client state consistency can overlap with sync behavior, but this dimension is about cross-device or client-server data synchronization.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "sync protocols",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "sync-protocols"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"websockets",
"sockets",
"async-programming",
"reconnection-logic",
"offline-first",
"push-notifications",
"bandwidth-adaptation",
"api"
],
"requires": [],
"skill_id": "sync-protocols",
"suppress_on_match": []
},
"skill_id": "sync-protocols",
"split_log": [],
"typed": {
"alternatives_considered": [
"Concept: ruled out \u2014 this is a named communication standard category rather than a general knowledge unit.",
"Architecture: ruled out \u2014 it describes a communication standard, not a system-shape pattern."
],
"confidence": 0.88,
"name": "sync protocols",
"reasoning": "By the Protocol rule, \"sync protocols\" refers to communication standards that define how systems synchronize state or data, not a tool, library, or methodology.",
"skill_id": "sync-protocols",
"subtype": "synchronization_protocols",
"type": "Protocol"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "mobile performance optimisation",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "mobile performance optimisation",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "mobile performance optimisation",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Methodology",
"skill_nature": "METHODOLOGY",
"sub_category": "performance_optimization_methodology",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cMobile performance optimisation\u201d is a specific methodology focused on mobile app speed/stability, not easily confused with other distinct skills in typical JDs."
},
"context_keywords": {
"context_keywords": [
"latency",
"load time",
"responsive design",
"image compression",
"code splitting",
"network requests",
"profiling tools",
"battery consumption",
"memory usage",
"rendering performance",
"viewport",
"mobile-first",
"CDN",
"minification",
"asynchronous loading"
]
},
"maturity": {
"confidence": 0.9,
"maturity": "well_known",
"reasoning": "Common in mobile engineering JDs for iOS/Android (profiling, startup time, memory, battery); supported by official tooling like Android Studio Profiler and Xcode Instruments, indicating broad market adoption."
},
"skill_id": "mobile-performance-optimisation",
"vendor_license": {
"confidence": 0.95,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [
{
"a_dim_id": "performance-and-stability-tuning",
"a_name": "Mobile Performance Tuning",
"a_role": "__skill_focal__",
"b_dim_id": "performance-and-stability-tuning",
"b_name": "Performance and Stability Tuning",
"b_role": "Android Engineer",
"pair_kind": "cross_role",
"reasoning": "Dim A is explicitly about mobile performance optimization techniques for mobile apps, with concrete exemplars like Instruments profiling, frame rate tuning, UI jank reduction, and image loading optimization. Dim B is a broader Android-engineer performance-and-stability bucket, and its description emphasizes overall app stability on iOS devices; even though the wording overlaps on responsiveness/startup/memory, the role/context and likely skill cluster differ. career-track: no, because a senior practitioner in mobile app performance tuning (profiling, jank, memory, battery on-device) is not automatically a senior practitioner in the Android engineer stability/performance cluster, which is tied to a different role and platform context.",
"similarity": 0.7215207558215005
}
],
"locked_dimensions": [
{
"description": "Techniques for improving responsiveness, startup time, memory use, and smoothness in mobile apps. This skill belongs here because mobile performance optimisation focuses on reducing jank, latency, and resource waste on device.",
"exemplar_skills": [
"mobile performance optimisation",
"app startup optimization",
"memory leak analysis",
"frame rate tuning",
"UI jank reduction",
"Instruments profiling",
"battery usage optimization"
],
"in_scope": "mobile performance optimisation, startup time reduction, frame rendering, UI jank reduction, memory footprint reduction, battery usage tuning, profiling with Instruments, allocation analysis, main-thread blocking fixes, image loading optimization, scroll performance",
"name": "Mobile Performance Tuning",
"out_of_scope": "Crash reporting, crash triage, and field telemetry, release packaging and signing, navigation flow design, backend API design, general UI styling",
"overlap_flags": [
{
"reason": "Performance work often uses crash and telemetry data, but that dimension owns diagnostics and reporting rather than optimization techniques.",
"with_dim_id": "crash-reporting-and-observability",
"with_dim_name": null,
"with_role": "Android Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Some performance issues stem from lifecycle and background work, but that dimension owns lifecycle behavior rather than broad tuning.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "performance-and-stability-tuning"
},
{
"description": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"exemplar_skills": [
"Performance and Stability Tuning"
],
"in_scope": "Skills, tools, and practices that belong under Performance and Stability Tuning for the target role, including items implied by the dimension rationale.",
"name": "Performance and Stability Tuning",
"out_of_scope": "Adjacent clusters explicitly not owned by Performance and Stability Tuning, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "performance-and-stability-tuning"
}
],
"merge_log": [],
"placed": {
"name": "mobile performance optimisation",
"placement_confidence": 0.92,
"primary_dimension": "performance-and-stability-tuning",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "mobile-performance-optimisation"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"offline-first",
"image-caching",
"metrics",
"widget-testing",
"async-programming",
"a-b-testing",
"feature-flags",
"automation-scripts"
],
"requires": [],
"skill_id": "mobile-performance-optimisation",
"suppress_on_match": []
},
"skill_id": "mobile-performance-optimisation",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.9,
"name": "mobile performance optimisation",
"reasoning": "This is fundamentally a way of working to improve app responsiveness and resource usage, so by the Concept vs Methodology rule it fits Methodology rather than a tool or architecture.",
"skill_id": "mobile-performance-optimisation",
"subtype": "performance_optimization_methodology",
"type": "Methodology"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "memory management",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "memory management",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "memory management",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "memory_management",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cMemory management\u201d is a broad, distinct concept; typical JDs won\u2019t confuse it with other specific catalog skills."
},
"context_keywords": {
"context_keywords": [
"garbage collection",
"heap",
"stack",
"memory leaks",
"allocation",
"deallocation",
"reference counting",
"smart pointers",
"memory pools",
"fragmentation",
"virtual memory",
"cache coherence",
"performance tuning",
"low-level programming",
"buffer overflow"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Core topic in systems/backend JDs (e.g., C/C++, Rust, JVM tuning) and widely covered in hiring pipelines; no sunset signal, just broad demand for leak/GC/heap management skills."
},
"skill_id": "memory-management",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Techniques for improving app responsiveness, reducing memory footprint, and preventing crashes or hangs. Memory management belongs here because it directly affects runtime efficiency, leak avoidance, and overall stability on mobile devices.",
"exemplar_skills": [
"memory management",
"memory leaks",
"retain cycles",
"ARC",
"Instruments memory debugging",
"heap profiling"
],
"in_scope": "memory management, memory leaks, retain cycles, ARC, object lifecycle, heap usage, allocation patterns, deallocation timing, profiling memory spikes, Instruments memory debugging",
"name": "Performance and Stability Tuning",
"out_of_scope": "UI layout optimization, network request retries, authentication flows, build signing, crash analytics setup",
"overlap_flags": [
{
"reason": "App lifecycle events can influence when objects are retained or released, so memory issues may surface during backgrounding or termination.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "performance-and-stability-tuning"
},
{
"description": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"exemplar_skills": [
"Performance and Stability Tuning"
],
"in_scope": "Skills, tools, and practices that belong under Performance and Stability Tuning for the target role, including items implied by the dimension rationale.",
"name": "Performance and Stability Tuning",
"out_of_scope": "Adjacent clusters explicitly not owned by Performance and Stability Tuning, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "performance-and-stability-tuning"
}
],
"merge_log": [],
"placed": {
"name": "memory management",
"placement_confidence": 0.92,
"primary_dimension": "performance-and-stability-tuning",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "memory-management"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"context-management",
"secure-storage",
"metrics",
"image-caching",
"logging",
"pagination",
"async-programming",
"rollback-rehearsal"
],
"requires": [],
"skill_id": "memory-management",
"suppress_on_match": []
},
"skill_id": "memory-management",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.97,
"name": "memory management",
"reasoning": "This is a named knowledge unit about how memory is allocated, tracked, and reclaimed, so by the Concept vs Methodology rule it is a Concept rather than a tool or process.",
"skill_id": "memory-management",
"subtype": "memory_management",
"type": "Concept"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "rendering efficiency",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "rendering efficiency",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "rendering efficiency",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "rendering_efficiency",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cRendering efficiency\u201d is a specific performance concept tied to graphics/rendering pipelines, not commonly confused with other distinct catalog skills."
},
"context_keywords": {
"context_keywords": [
"frame rate",
"render time",
"GPU optimization",
"LOD",
"culling",
"baking",
"shader complexity",
"texture streaming",
"draw calls",
"performance profiling",
"asset management",
"real-time rendering",
"scene graph",
"level of detail",
"render pipeline",
"visual fidelity"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "well_known",
"reasoning": "Common performance topic in frontend/game JDs and docs; employers routinely ask for reducing re-renders, batching, and frame-time optimization across React/WebGL/Unity roles."
},
"skill_id": "rendering-efficiency",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [
{
"a_dim_id": "performance-and-stability-tuning",
"a_name": "Performance and Stability Tuning",
"a_role": "__skill_focal__",
"b_dim_id": "performance-and-stability-tuning",
"b_name": "Performance and Stability Tuning",
"b_role": "Android Engineer",
"pair_kind": "cross_role",
"reasoning": "Dim A is mobile UI/rendering performance tuning: rendering efficiency, frame rate optimization, jank reduction, overdraw reduction, and layout performance tuning. Dim B is broader app performance/stability for an Android Engineer, centered on responsiveness, startup time, memory use, and app stability. career-track: no, because a senior UI/rendering performance specialist is not automatically a senior Android app stability/performance specialist; the day-to-day skills and bottlenecks differ.",
"similarity": 0.7874562879553818
}
],
"locked_dimensions": [
{
"description": "Techniques for improving responsiveness, frame rate, startup time, memory use, and overall app smoothness on mobile devices. Rendering efficiency belongs here because it is about reducing UI work, avoiding jank, and making drawing and compositing cheaper.",
"exemplar_skills": [
"rendering efficiency",
"frame rate optimization",
"jank reduction",
"overdraw reduction",
"layout performance tuning",
"UI responsiveness tuning"
],
"in_scope": "rendering efficiency, frame drops, jank reduction, UI thread optimization, overdraw reduction, layout pass minimization, view hierarchy simplification, GPU/CPU bottleneck analysis, animation smoothness, scrolling performance",
"name": "Performance and Stability Tuning",
"out_of_scope": "Crash reporting, log collection, and postmortem diagnosis of failures; network request tuning and API latency; build pipeline optimization and release tooling; visual design or styling choices that do not affect runtime performance",
"overlap_flags": [
{
"reason": "Performance issues are often diagnosed with telemetry and crash/trace tools, but the optimization work itself belongs in performance tuning.",
"with_dim_id": "crash-reporting-and-observability",
"with_dim_name": null,
"with_role": "Android Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Some rendering costs come from styling and layout choices, but this dimension focuses on runtime efficiency rather than CSS structure.",
"with_dim_id": "css-architecture-and-styling",
"with_dim_name": null,
"with_role": "Frontend Engineer, Full Stack Engineer"
}
],
"tentative_id": "performance-and-stability-tuning"
},
{
"description": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"exemplar_skills": [
"Performance and Stability Tuning"
],
"in_scope": "Skills, tools, and practices that belong under Performance and Stability Tuning for the target role, including items implied by the dimension rationale.",
"name": "Performance and Stability Tuning",
"out_of_scope": "Adjacent clusters explicitly not owned by Performance and Stability Tuning, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "performance-and-stability-tuning"
}
],
"merge_log": [],
"placed": {
"name": "rendering efficiency",
"placement_confidence": 0.92,
"primary_dimension": "performance-and-stability-tuning",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "rendering-efficiency"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"image-caching",
"metrics",
"async-programming",
"layout-parsing",
"offline-first",
"react-query",
"css",
"localstorage"
],
"requires": [],
"skill_id": "rendering-efficiency",
"suppress_on_match": []
},
"skill_id": "rendering-efficiency",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.93,
"name": "rendering efficiency",
"reasoning": "This is a named knowledge unit about performance characteristics, so by the Concept vs Methodology rule it is a Concept rather than a tool or process.",
"skill_id": "rendering-efficiency",
"subtype": "rendering_efficiency",
"type": "Concept"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "battery usage",
"alias_type": "CANONICAL",
"id": 1698,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "battery usage",
"id": 1072,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "battery-usage",
"sub_category_id": 754,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Performance Optimization",
"id": 169,
"rationale": "Techniques for improving responsiveness, startup time, memory use, battery impact, and animation smoothness in shared mobile apps. This cluster is important because hybrid apps often need careful tuning to stay within device constraints.",
"slug": "mobile-performance-optimization",
"source": "db"
},
"input_skill": "battery consumption",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
}
],
"input_skill": "battery consumption",
"matched_via": "embedding_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": [
{
"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": "GPS",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "GPS",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Protocol",
"skill_nature": "PROTOCOL",
"sub_category": "positioning_protocol",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": true,
"confused_with": [
"gnss"
],
"reasoning": "\u201cGPS\u201d in JDs often refers broadly to satellite navigation/positioning, which can be extracted as GNSS."
},
"context_keywords": {
"context_keywords": [
"GNSS",
"RTK",
"differential GPS",
"NMEA",
"location-based services",
"geofencing",
"waypoints",
"satellite navigation",
"mapping",
"coordinate systems",
"signal processing",
"positioning accuracy",
"GPS receivers",
"tracking systems",
"navigation algorithms"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "GPS is a standard positioning protocol used across consumer, automotive, and logistics products; job postings for embedded, robotics, and geospatial roles commonly mention GPS/GNSS integration."
},
"skill_id": "gps",
"vendor_license": {
"confidence": 0.9,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Client-side use of device location hardware and geospatial signals to determine position, movement, and proximity. GPS belongs here because it is the core satellite-based positioning technology used by mobile apps for maps, tracking, and location-aware features.",
"exemplar_skills": [
"GPS",
"GNSS",
"Core Location",
"geofencing",
"location permissions",
"latitude and longitude",
"location accuracy",
"heading updates"
],
"in_scope": "GPS, GNSS, device location APIs, latitude and longitude, geofencing, location accuracy, heading and speed, map pin placement, proximity detection, location permissions, Core Location",
"name": "Location Services and Geospatial Positioning",
"out_of_scope": "networking and HTTP APIs, screen navigation, background task scheduling, map rendering UI, route optimization algorithms, which belong to other mobile or data dimensions",
"overlap_flags": [
{
"reason": "Location updates often continue in the background and depend on lifecycle handling, but the core skill is geospatial positioning rather than app lifecycle management.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Efficient location polling can affect battery and responsiveness, but that dimension owns general app performance work rather than GPS-specific logic.",
"with_dim_id": "performance-and-stability-tuning",
"with_dim_name": null,
"with_role": "Android Engineer, Ios engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "GPS",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "gps"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"gcp",
"api",
"authentication",
"sync",
"metrics",
"distributed-tracing",
"logging",
"jwt"
],
"requires": [],
"skill_id": "gps",
"suppress_on_match": []
},
"skill_id": "gps",
"split_log": [],
"typed": {
"alternatives_considered": [
"Standard: ruled out \u2014 GPS is more of an operational communication/navigation protocol than an industry compliance specification.",
"Concept: ruled out \u2014 it is not just a knowledge unit but a defined signaling system used between satellites and receivers."
],
"confidence": 0.78,
"name": "GPS",
"reasoning": "GPS is fundamentally a communication/positioning standard for exchanging satellite timing and location signals, so it fits best as a Protocol under the closed typology.",
"skill_id": "gps",
"subtype": "positioning_protocol",
"type": "Protocol"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "background processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "background processing",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "background_processing",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cBackground processing\u201d is a fairly specific concept (async/background jobs/lifecycle) and is unlikely to be confused with other distinct catalog skills."
},
"context_keywords": {
"context_keywords": [
"asynchronous",
"task queue",
"Celery",
"RabbitMQ",
"message broker",
"event-driven",
"cron jobs",
"job scheduling",
"worker threads",
"microservices",
"load balancing",
"scalability",
"API integration",
"real-time processing",
"data pipelines"
]
},
"maturity": {
"confidence": 0.91,
"maturity": "well_known",
"reasoning": "Common in JDs for queues/workers and async jobs; market signals include widespread listings for Celery, Sidekiq, BullMQ, and AWS SQS/Lambda-based background processing patterns."
},
"skill_id": "background-processing",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [
{
"a_dim_id": "background-execution-and-lifecycle",
"a_name": "Background Execution and Lifecycle",
"a_role": "__skill_focal__",
"b_dim_id": "background-execution-and-lifecycle",
"b_name": "Background Execution and Lifecycle",
"b_role": "Ios engineer",
"pair_kind": "cross_role",
"reasoning": "Dim A is cross-platform mobile lifecycle/deferred work: it explicitly includes iOS background modes and Android background services, plus background fetch, silent push handling, and deferred sync. Dim B is iOS-only lifecycle behavior around backgrounding, suspension, and relaunch for sync/refresh continuity. A senior in A\u2019s cluster would not automatically be a senior in B\u2019s iOS-specific cluster. career-track: no, because cross-platform background execution and iOS-only lifecycle handling are different specializations.",
"similarity": 0.8903448606468912
}
],
"locked_dimensions": [
{
"description": "App lifecycle handling and deferred work mechanisms that keep mobile apps reliable when not in the foreground. Background processing belongs here because it covers scheduled, deferred, and system-triggered work that must continue or resume across app state changes.",
"exemplar_skills": [
"background processing",
"background fetch",
"background tasks",
"app lifecycle management",
"silent push handling",
"deferred sync",
"background services"
],
"in_scope": "background processing, background fetch, background tasks, app lifecycle events, suspended state handling, wakeups, deferred sync, silent push handling, task scheduling on mobile, iOS background modes, Android background services",
"name": "Background Execution and Lifecycle",
"out_of_scope": "foreground UI flow, screen navigation, user interaction handling, server-side job orchestration, cloud cron scheduling, push notification content design",
"overlap_flags": [
{
"reason": "Both touch app state transitions, but this dimension is specifically about work that continues when the app is backgrounded or suspended.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Background work may be gated by rollout controls, but feature gating is not the core concern of this dimension.",
"with_dim_id": "feature-flags-and-release-control",
"with_dim_name": null,
"with_role": "Full Stack Engineer"
}
],
"tentative_id": "background-execution-and-lifecycle"
},
{
"description": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"exemplar_skills": [
"Background Execution and Lifecycle"
],
"in_scope": "Skills, tools, and practices that belong under Background Execution and Lifecycle for the target role, including items implied by the dimension rationale.",
"name": "Background Execution and Lifecycle",
"out_of_scope": "Adjacent clusters explicitly not owned by Background Execution and Lifecycle, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "background-execution-and-lifecycle"
}
],
"merge_log": [],
"placed": {
"name": "background processing",
"placement_confidence": 0.92,
"primary_dimension": "background-execution-and-lifecycle",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "background-processing"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"async-programming",
"automation-scripts",
"backfills",
"logging",
"profiling",
"argo-workflows",
"shadow-deployment",
"rollback-rehearsal"
],
"requires": [],
"skill_id": "background-processing",
"suppress_on_match": []
},
"skill_id": "background-processing",
"split_log": [],
"typed": {
"alternatives_considered": [
"Architecture: ruled out \u2014 it is not a system-shape pattern like microservices or event-driven architecture.",
"Methodology: ruled out \u2014 it does not describe a process or operating method."
],
"confidence": 0.88,
"name": "background processing",
"reasoning": "This is best treated as a Concept because it names a general software capability/pattern rather than a specific system, tool, or way of working.",
"skill_id": "background-processing",
"subtype": "background_processing",
"type": "Concept"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"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": "threading models",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "threading models",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "concurrency_model",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cThreading models\u201d is a specific concurrency concept; typical JDs won\u2019t confuse it with other distinct skills in the catalog."
},
"context_keywords": {
"context_keywords": [
"multithreading",
"synchronization",
"deadlock",
"race condition",
"thread pool",
"asynchronous",
"task scheduling",
"concurrent programming",
"lock-free",
"semaphores",
"mutex",
"event-driven",
"parallelism",
"blocking",
"non-blocking"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "well_known",
"reasoning": "Threading models are a standard concurrency topic in job descriptions for backend, systems, and platform roles; they\u2019re commonly paired with Java, C++, and OS/runtime interviews rather than a niche specialty."
},
"skill_id": "threading-models",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Concepts and implementation patterns for running work concurrently within an application. This includes how threads are created, scheduled, synchronized, and coordinated, which is exactly where threading models belongs.",
"exemplar_skills": [
"threading models",
"multithreading",
"thread pools",
"synchronization primitives",
"locks and mutexes",
"race conditions",
"deadlock avoidance"
],
"in_scope": "threading models, multithreading, single-threaded vs multi-threaded design, thread pools, synchronization primitives, locks, mutexes, semaphores, race conditions, deadlocks, concurrency control",
"name": "Concurrency and Threading Models",
"out_of_scope": "async/await language syntax, event loops, reactive streams, process-level parallelism, distributed job scheduling, UI layout and rendering",
"overlap_flags": [
{
"reason": "Threading choices often affect responsiveness and stability, but that dimension focuses on optimization outcomes rather than concurrency mechanics.",
"with_dim_id": "performance-and-stability-tuning",
"with_dim_name": null,
"with_role": "Android Engineer, Ios engineer"
},
{
"reason": "Mobile apps use background execution patterns that may involve threads, but lifecycle management is a separate concern from threading model design.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "threading models",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "threading-models"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"async-programming",
"context-management",
"profiling",
"metrics",
"sockets",
"layered-architecture",
"mvc"
],
"requires": [],
"skill_id": "threading-models",
"suppress_on_match": []
},
"skill_id": "threading-models",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.92,
"name": "threading models",
"reasoning": "This is a named knowledge unit about how threads are organized and scheduled, so by the Concept vs Methodology rule it is a Concept rather than a tool or architecture.",
"skill_id": "threading-models",
"subtype": "concurrency_model",
"type": "Concept"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "async processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "async processing",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "async processing",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"input_skill": "async processing",
"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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"input_skill": "async processing",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "async processing",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "asynchronous_processing",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cAsync processing\u201d is a fairly specific concept (asynchronous/background execution) and is unlikely to be confused with other distinct catalog skills."
},
"context_keywords": {
"context_keywords": [
"event loop",
"callback",
"Promise",
"future",
"async/await",
"concurrency",
"non-blocking",
"thread pool",
"task scheduling",
"coroutine",
"I/O bound",
"microservices",
"message queue",
"reactive programming",
"RxJS"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Common in JDs for backend, distributed systems, and cloud roles; market signals include frequent mentions of queues, workers, and event-driven processing in postings and major cloud docs."
},
"skill_id": "async-processing",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [
{
"a_dim_id": "background-execution-and-lifecycle",
"a_name": "Background Execution and Lifecycle",
"a_role": "__skill_focal__",
"b_dim_id": "performance-and-stability-tuning",
"b_name": "Performance and Stability Tuning",
"b_role": "__skill_focal__",
"pair_kind": "intra_role",
"reasoning": "Dim A covers lifecycle-aware deferred work on iOS: background tasks, background fetch, silent push handling, app suspension/resume, and off-main-thread work to continue later. Dim B covers performance/stability tuning: responsiveness, startup time, memory use, and overall app stability. career-track: no, because expertise in background execution does not make someone a senior specialist in startup/memory optimization.",
"similarity": 0.6122837143144174
},
{
"a_dim_id": "performance-and-stability-tuning",
"a_name": "Performance and Stability Tuning",
"a_role": "__skill_focal__",
"b_dim_id": "performance-and-stability-tuning",
"b_name": "Performance and Stability Tuning",
"b_role": "Android Engineer",
"pair_kind": "cross_role",
"reasoning": "Cross_role pair with identical names but platform-specific clusters. Dim A is explicitly iOS-focused: improving responsiveness, startup time, memory use, and stability on iOS devices; exemplars include async processing, main-thread avoidance, profiling, and UI smoothness. Dim B is for Android Engineer, so the same label likely maps to Android-specific performance/stability work. career-track: no, because a senior iOS performance tuner is not naturally a senior Android performance tuner; tools, runtime behavior, and bottlenecks differ.",
"similarity": 0.8477269119574379
}
],
"locked_dimensions": [
{
"description": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. Async processing belongs here when it refers to doing work off the main thread or scheduling work to continue later without blocking the UI.",
"exemplar_skills": [
"async processing",
"background tasks",
"background fetch",
"silent push handling",
"app lifecycle management",
"deferred uploads",
"off-main-thread work"
],
"in_scope": "async processing, background tasks, background fetch, silent push handling, task scheduling, app suspension and resume, deferred uploads, off-main-thread work, iOS lifecycle callbacks",
"name": "Background Execution and Lifecycle",
"out_of_scope": "server-side job queues, distributed workflow engines, ML pipeline orchestration, browser event loops, which belong to backend or web platform dimensions",
"overlap_flags": [
{
"reason": "Async work is often used to improve responsiveness and reduce UI jank, so there is some overlap with performance tuning.",
"with_dim_id": "performance-and-stability-tuning",
"with_dim_name": null,
"with_role": "Android Engineer, Ios engineer"
}
],
"tentative_id": "background-execution-and-lifecycle"
},
{
"description": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. Async processing fits when the skill is used to avoid blocking the main thread, reduce latency, and keep the app responsive under load.",
"exemplar_skills": [
"async processing",
"main-thread avoidance",
"concurrency",
"responsiveness optimization",
"latency reduction",
"profiling",
"UI smoothness"
],
"in_scope": "async processing, main-thread avoidance, concurrency for responsiveness, latency reduction, memory-safe background work, startup optimization, UI smoothness, profiling-driven fixes",
"name": "Performance and Stability Tuning",
"out_of_scope": "network request shaping, API contract design, navigation state, and lifecycle-specific background execution, which are owned by other mobile dimensions",
"overlap_flags": [
{
"reason": "Some async work is lifecycle-driven background execution rather than pure performance tuning.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "performance-and-stability-tuning"
},
{
"description": "Language-level patterns for structuring work that runs concurrently without blocking the caller. This dimension covers async/await, callbacks, promises/futures, task cancellation, synchronization, and coordination primitives, which are the core concepts behind async processing.",
"exemplar_skills": [
"async processing",
"async/await",
"callbacks",
"promises",
"futures",
"task cancellation",
"synchronization"
],
"in_scope": "async processing, async/await, callbacks, promises, futures, task cancellation, synchronization, concurrency primitives, thread coordination, coroutine-style flows",
"name": "Concurrent Programming Patterns",
"out_of_scope": "UI navigation, networking request APIs, background fetch policies, and platform lifecycle hooks, which belong to mobile platform or integration dimensions",
"overlap_flags": [
{
"reason": "Platform background work often uses concurrent programming patterns, but the lifecycle concerns are distinct.",
"with_dim_id": "background-execution-and-lifecycle",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Concurrency is frequently applied for responsiveness and stability improvements, creating partial overlap.",
"with_dim_id": "performance-and-stability-tuning",
"with_dim_name": null,
"with_role": "Android Engineer, Ios engineer"
}
],
"tentative_id": "d_init_01"
},
{
"description": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"exemplar_skills": [
"Background Execution and Lifecycle"
],
"in_scope": "Skills, tools, and practices that belong under Background Execution and Lifecycle for the target role, including items implied by the dimension rationale.",
"name": "Background Execution and Lifecycle",
"out_of_scope": "Adjacent clusters explicitly not owned by Background Execution and Lifecycle, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "background-execution-and-lifecycle"
},
{
"description": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"exemplar_skills": [
"Performance and Stability Tuning"
],
"in_scope": "Skills, tools, and practices that belong under Performance and Stability Tuning for the target role, including items implied by the dimension rationale.",
"name": "Performance and Stability Tuning",
"out_of_scope": "Adjacent clusters explicitly not owned by Performance and Stability Tuning, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "performance-and-stability-tuning"
}
],
"merge_log": [],
"placed": {
"name": "async processing",
"placement_confidence": 0.92,
"primary_dimension": "background-execution-and-lifecycle",
"reasoning": "Deterministic JD placement: locked_dimensions has 5 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [
"performance-and-stability-tuning",
"d_init_01"
],
"skill_id": "async-processing"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"async-programming",
"sync",
"websockets",
"api-integration",
"api",
"graphql-queries",
"offline-first",
"automation-scripts"
],
"requires": [],
"skill_id": "async-processing",
"suppress_on_match": []
},
"skill_id": "async-processing",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.88,
"name": "async processing",
"reasoning": "This is best treated as a Concept because it names a technical idea about how work is handled asynchronously, not a specific system shape (Architecture) or way of working (Methodology).",
"skill_id": "async-processing",
"subtype": "asynchronous_processing",
"type": "Concept"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:43-\u003e5"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "CI/CD",
"alias_type": "CANONICAL",
"id": 1826,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 8,
"display_name": "CI/CD",
"id": 1190,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "ci-cd",
"sub_category_id": 900,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "CI/CD Pipeline Platforms",
"id": 150,
"rationale": "Systems used to define, run, and maintain automated build and deployment workflows. This cluster is coherent because the role owns delivery automation end to end, including pipeline reliability and promotion logic.",
"slug": "ci-cd-pipeline-platforms",
"source": "db"
},
"input_skill": "CI/CD",
"llm_role": null,
"roles_from_db": [
{
"display_name": "DevOps Engineer",
"id": 10,
"rationale": null,
"role_archetype": null,
"slug": "devops-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "CI/CD for Machine Learning",
"id": 56,
"rationale": "Tools and platforms for automating ML model integration, testing, and deployment pipelines.",
"slug": "ci-cd-for-machine-learning",
"source": "db"
},
"input_skill": "CI/CD",
"llm_role": null,
"roles_from_db": [
{
"display_name": "ML Engineer",
"id": 3,
"rationale": null,
"role_archetype": null,
"slug": "ml-engineer",
"source": "db"
}
]
}
],
"input_skill": "CI/CD",
"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": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Crash Reporting and Observability",
"id": 91,
"rationale": "Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.",
"slug": "crash-reporting-and-observability",
"source": "db"
},
"input_skill": "crash reporting",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Crash Reporting and Observability",
"id": 91,
"rationale": "Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.",
"slug": "crash-reporting-and-observability",
"source": "db"
},
"input_skill": "crash reporting",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "crash reporting",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "error_reporting_concept",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cCrash reporting\u201d is a specific error-reporting/observability concept; typical JDs won\u2019t confuse it with other distinct skills in the catalog."
},
"context_keywords": {
"context_keywords": [
"Sentry",
"Crashlytics",
"Bugsnag",
"error tracking",
"observability",
"log aggregation",
"real-time monitoring",
"alerting",
"debugging",
"performance metrics",
"user feedback",
"issue resolution",
"root cause analysis",
"data visualization",
"analytics"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Crash reporting is a standard observability requirement and appears in many JDs for mobile/web/backend roles; vendors like Sentry, Firebase Crashlytics, and Datadog show broad market adoption."
},
"skill_id": "crash-reporting",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Client-side telemetry used to capture app crashes, hangs, and stability signals so engineers can diagnose issues seen in the field. Crash reporting belongs here because it is the primary mechanism for collecting stack traces, breadcrumbs, and device context after failures.",
"exemplar_skills": [
"crash reporting",
"Crashlytics",
"Sentry",
"symbolication",
"stack trace analysis",
"mobile observability"
],
"in_scope": "crash reporting, crash analytics, stack traces, symbolication, breadcrumbs, session logs, fatal error capture, non-fatal error capture, iOS crash diagnostics, mobile telemetry",
"name": "Crash Reporting and Observability",
"out_of_scope": "backend log aggregation, server-side APM, infrastructure monitoring, alert routing, which belong to platform observability and operations",
"overlap_flags": [
{
"reason": "Crash reporting often feeds stability work, but this dimension focuses on collecting and diagnosing failures rather than fixing performance issues.",
"with_dim_id": "performance-and-stability-tuning",
"with_dim_name": null,
"with_role": "Android Engineer, Ios engineer"
},
{
"reason": "Both involve telemetry, but that catalog entry is for cloud/platform operations rather than client-side app crash diagnostics.",
"with_dim_id": "observability-and-operations",
"with_dim_name": null,
"with_role": "Cloud Architect"
}
],
"tentative_id": "crash-reporting-and-observability"
},
{
"description": "Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.",
"exemplar_skills": [
"Crash Reporting and Observability"
],
"in_scope": "Skills, tools, and practices that belong under Crash Reporting and Observability for the target role, including items implied by the dimension rationale.",
"name": "Crash Reporting and Observability",
"out_of_scope": "Adjacent clusters explicitly not owned by Crash Reporting and Observability, including unrelated platforms, roles, and skill families per library policy.",
"overlap_flags": [],
"tentative_id": "crash-reporting-and-observability"
}
],
"merge_log": [],
"placed": {
"name": "crash reporting",
"placement_confidence": 0.92,
"primary_dimension": "crash-reporting-and-observability",
"reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "crash-reporting"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"crash-analytics",
"distributed-tracing",
"logging",
"metrics",
"failure-analysis",
"profiling",
"artifact-logging"
],
"requires": [],
"skill_id": "crash-reporting",
"suppress_on_match": []
},
"skill_id": "crash-reporting",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.88,
"name": "crash reporting",
"reasoning": "Crash reporting is a named knowledge unit about capturing and analyzing application failures, so it fits the Concept category rather than a Tool or Service.",
"skill_id": "crash-reporting",
"subtype": "error_reporting_concept",
"type": "Concept"
},
"warnings": [
"stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
]
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Observability",
"alias_type": "CANONICAL",
"id": 2527,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "Observability",
"id": 1581,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "observability",
"sub_category_id": 1187,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Observability and Operations",
"id": 143,
"rationale": "Monitoring, logging, tracing, and operational readiness patterns used to keep cloud platforms supportable. Cloud Architects use this to define what telemetry and operational controls workloads must expose.",
"slug": "observability-and-operations",
"source": "db"
},
"input_skill": "observability",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Cloud Architect",
"id": 9,
"rationale": null,
"role_archetype": null,
"slug": "cloud-architect",
"source": "db"
}
]
}
],
"input_skill": "observability",
"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": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "code quality",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "code quality",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "code_quality",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cCode quality\u201d is a broad, standard concept and is unlikely to be confused with another distinct catalog skill name."
},
"context_keywords": {
"context_keywords": [
"code review",
"static analysis",
"linting",
"unit testing",
"test-driven development",
"refactoring",
"CI/CD",
"code coverage",
"best practices",
"design patterns",
"version control",
"documentation",
"maintainability",
"performance optimization",
"technical debt"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Code quality is a standard hiring-pipeline expectation in JDs for software engineers and is reinforced by widespread use of linters, code review, and CI quality gates across major repos and platforms."
},
"skill_id": "code-quality",
"vendor_license": {
"confidence": 1.0,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Practices and standards used to keep source code readable, maintainable, testable, and low in defects. This fits code quality because the skill is about how code is written, reviewed, and improved over time rather than a specific language or platform.",
"exemplar_skills": [
"code quality",
"code review",
"refactoring",
"static analysis",
"linting",
"test coverage",
"maintainable code",
"coding standards"
],
"in_scope": "code quality, code reviews, linting, formatting standards, static analysis, refactoring, maintainability, readability, test coverage, technical debt reduction, coding conventions",
"name": "Code Quality Practices",
"out_of_scope": "performance tuning, build tooling, release automation, UI styling, API design, security hardening, infrastructure provisioning, incident response",
"overlap_flags": [
{
"reason": "Automated checks like linters and test gates often run in CI, but this dimension is about the code standards themselves rather than the pipeline.",
"with_dim_id": "build-and-release-tooling",
"with_dim_name": null,
"with_role": "Android Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Poor code quality can affect stability, but performance and runtime reliability are separate concerns from code maintainability.",
"with_dim_id": "performance-and-stability-tuning",
"with_dim_name": null,
"with_role": "Android Engineer, Ios engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "code quality",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "code-quality"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"metrics",
"failure-analysis",
"technical-writing",
"open-source",
"site-reliability-engineering",
"api",
"ai-infrastructure"
],
"requires": [],
"skill_id": "code-quality",
"suppress_on_match": []
},
"skill_id": "code-quality",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.94,
"name": "code quality",
"reasoning": "Code quality is a named knowledge unit about the properties and evaluation of code, so by the Concept vs Methodology rule it is a Concept rather than a way of working.",
"skill_id": "code-quality",
"subtype": "code_quality",
"type": "Concept"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "design patterns",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "design patterns",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concept",
"skill_nature": "CONCEPT",
"sub_category": "software_design_patterns",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cDesign patterns\u201d is a standard, specific software concept and is unlikely to be confused with other distinct catalog skills."
},
"context_keywords": {
"context_keywords": [
"Singleton",
"Factory",
"Observer",
"Decorator",
"Strategy",
"Adapter",
"Builder",
"Prototype",
"MVC",
"Dependency Injection",
"SOLID",
"Facade",
"Command",
"Composite",
"Visitor"
]
},
"maturity": {
"confidence": 0.93,
"maturity": "well_known",
"reasoning": "Design patterns are a standard interview/JD topic across backend and frontend roles; job postings commonly mention them alongside OOP and system design, and they remain core in books, courses, and code reviews."
},
"skill_id": "design-patterns",
"vendor_license": {
"confidence": 0.95,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Reusable object-oriented and architectural solution patterns for structuring code and reducing coupling. This skill belongs here because design patterns describe standard ways to organize mobile app logic, UI composition, and component interactions.",
"exemplar_skills": [
"design patterns",
"singleton pattern",
"factory pattern",
"adapter pattern",
"observer pattern",
"strategy pattern",
"dependency injection",
"MVVM",
"repository pattern"
],
"in_scope": "design patterns, singleton, factory, builder, adapter, observer, strategy, decorator, facade, dependency injection, MVC, MVP, MVVM, repository pattern, delegation, command pattern",
"name": "Software Design Patterns",
"out_of_scope": "UI layout and styling, screen navigation, API request handling, platform-specific build tooling, database schema design, system architecture decisions at the service or cloud level",
"overlap_flags": [
{
"reason": "Mobile app patterns can influence screen flow and state management, but this dimension owns navigation-specific concerns.",
"with_dim_id": "screen-navigation-and-state",
"with_dim_name": null,
"with_role": "Android Engineer, Full Stack Engineer, Hybrid Mobile Developer, Ios engineer"
},
{
"reason": "Patterns are often implemented in shared mobile codebases, but the language/runtime dimension owns the coding surface.",
"with_dim_id": "cross-platform-app-languages",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "design patterns",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "design-patterns"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"dependency-injection",
"mvc",
"layered-architecture",
"feature-modules",
"feature-flags",
"api",
"pagination",
"sdlc"
],
"requires": [],
"skill_id": "design-patterns",
"suppress_on_match": []
},
"skill_id": "design-patterns",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.94,
"name": "design patterns",
"reasoning": "By the Concept vs Methodology rule, design patterns are named knowledge units about how to structure software, not a way of working or a system shape.",
"skill_id": "design-patterns",
"subtype": "software_design_patterns",
"type": "Concept"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Data Structures",
"alias_type": "CANONICAL",
"id": 1614,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "Data Structures",
"id": 1003,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "data-structures",
"sub_category_id": 731,
"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": "data structures",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "data structures",
"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": "Algorithms",
"alias_type": "CANONICAL",
"id": 1615,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "Algorithms",
"id": 1004,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "algorithms",
"sub_category_id": 732,
"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": "algorithms",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "algorithms",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Git",
"alias_type": "CANONICAL",
"id": 1613,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 13,
"display_name": "Git",
"id": 1002,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "git",
"sub_category_id": 730,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Git",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Git",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "open-source",
"alias_type": "CANONICAL",
"id": 2367,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "open-source",
"id": 1472,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "open-source",
"sub_category_id": 1111,
"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": "open source",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "open source",
"matched_via": "embedding_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": [
{
"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": "competitive programming",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "competitive programming",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Methodology",
"skill_nature": "METHODOLOGY",
"sub_category": "algorithmic_problem_solving_practice",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cCompetitive programming\u201d is a specific practice area (contests/algorithmic problem solving) and is unlikely to be confused with other catalog skills."
},
"context_keywords": {
"context_keywords": [
"algorithm",
"data structures",
"greedy algorithms",
"dynamic programming",
"backtracking",
"graph theory",
"complexity analysis",
"test cases",
"code optimization",
"competitive coding",
"problem-solving",
"contest programming",
"time complexity",
"space complexity",
"heuristics"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "niche",
"reasoning": "Competitive programming appears in some SWE JDs and interview prep, but market demand is limited versus mainstream stacks; GitHub/Codeforces activity is strong yet hiring volume is low and specialized."
},
"skill_id": "competitive-programming",
"vendor_license": {
"confidence": 0.95,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Solving constrained programming problems using algorithms, data structures, and careful reasoning under time and memory limits. Competitive programming belongs here because it centers on designing correct, efficient solutions to novel problems quickly.",
"exemplar_skills": [
"competitive programming",
"algorithm design",
"data structures",
"dynamic programming",
"graph algorithms",
"greedy algorithms"
],
"in_scope": "competitive programming, algorithm design, data structures, graph algorithms, dynamic programming, greedy algorithms, recursion, backtracking, complexity analysis, code optimization for contests",
"name": "Algorithmic Problem Solving",
"out_of_scope": "mobile app feature implementation, UI development, backend API integration, system design interviews, production debugging, build tooling",
"overlap_flags": [
{
"reason": "Competitive programming is often practiced in a specific language, but the dimension is about problem-solving technique rather than language choice.",
"with_dim_id": "kotlin-and-java",
"with_dim_name": null,
"with_role": "Android Engineer"
},
{
"reason": "Some contestants use shared app languages, but the core skill is algorithmic reasoning, not cross-platform implementation.",
"with_dim_id": "cross-platform-app-languages",
"with_dim_name": null,
"with_role": "Hybrid Mobile Developer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "competitive programming",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "competitive-programming"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"profiling",
"mocks",
"golden-tests",
"a-b-testing",
"technical-writing",
"open-source",
"data-platforms",
"async-programming"
],
"requires": [],
"skill_id": "competitive-programming",
"suppress_on_match": []
},
"skill_id": "competitive-programming",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.9,
"name": "competitive programming",
"reasoning": "Competitive programming is fundamentally a way of working and practicing problem-solving under constraints, so by the Concept vs Methodology rule it fits Methodology rather than a tool, language, or domain.",
"skill_id": "competitive-programming",
"subtype": "algorithmic_problem_solving_practice",
"type": "Methodology"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"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": "hackathons",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "hackathons",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Methodology",
"skill_nature": "METHODOLOGY",
"sub_category": "innovation_event_methodology",
"typical_lifespan": "EVERGREEN",
"version_strategy": "NOT_APPLICABLE",
"volatility": "STABLE"
},
"enrichment": {
"ambiguity": {
"ambiguity_flag": false,
"confused_with": [],
"reasoning": "\u201cHackathons\u201d is a specific event type; typical JDs won\u2019t confuse it with other catalog skills."
},
"context_keywords": {
"context_keywords": [
"innovation",
"collaboration",
"prototyping",
"sprints",
"ideation",
"mentorship",
"pitching",
"team-building",
"disruption",
"creativity",
"problem-solving",
"agile",
"MVP",
"user feedback",
"networking"
]
},
"maturity": {
"confidence": 0.86,
"maturity": "niche",
"reasoning": "Hackathons appear in some startup, campus, and innovation-team JDs, but far less than core engineering skills; market demand is event-specific rather than a standard hiring staple."
},
"skill_id": "hackathons",
"vendor_license": {
"confidence": 0.9,
"license": null,
"vendor": null,
"year_introduced": null
},
"versioning": {
"current_version": null,
"version_aliases": {},
"versioned": false
}
},
"keep_log": [],
"locked_dimensions": [
{
"description": "Participation in time-boxed innovation events focused on rapid prototyping, collaboration, and demo delivery. This skill belongs here because hackathons are a distinct product-building and team-execution context rather than a specific technical stack.",
"exemplar_skills": [
"hackathons",
"hack day participation",
"rapid prototyping",
"demo presentation",
"team ideation",
"coding competitions"
],
"in_scope": "hackathons, internal hack days, external coding competitions, rapid prototyping, demo building, team ideation, short-cycle feature delivery, pitch preparation, judging criteria, event-based collaboration",
"name": "Hackathon Participation",
"out_of_scope": "Long-term product development, formal project management, production release engineering, routine sprint planning, these belong to delivery and engineering workflow dimensions",
"overlap_flags": [
{
"reason": "Hackathon prototypes may use release controls, but the dimension is about event participation rather than shipping safeguards.",
"with_dim_id": "feature-flags-and-release-control",
"with_dim_name": null,
"with_role": "Full Stack Engineer"
},
{
"reason": "Hackathon projects often involve builds and packaging, yet that tooling is incidental to the event-focused skill.",
"with_dim_id": "build-and-release-tooling",
"with_dim_name": null,
"with_role": "Android Engineer, Hybrid Mobile Developer, Ios engineer"
}
],
"tentative_id": "d_init_01"
}
],
"merge_log": [],
"placed": {
"name": "hackathons",
"placement_confidence": 0.92,
"primary_dimension": "d_init_01",
"reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
"secondary_dimensions": [],
"skill_id": "hackathons"
},
"relationships": {
"child_skills": [],
"parent_skills": [],
"related_to": [
"a-b-testing",
"open-source",
"automation-scripts",
"data-platforms",
"ai-infrastructure",
"mocks",
"async-programming",
"ocr"
],
"requires": [],
"skill_id": "hackathons",
"suppress_on_match": []
},
"skill_id": "hackathons",
"split_log": [],
"typed": {
"alternatives_considered": [],
"confidence": 0.88,
"name": "hackathons",
"reasoning": "Hackathons are a way of organizing work and collaboration around a time-boxed event, so by the Concept vs Methodology rule they are best classified as a methodology rather than a tool or concept.",
"skill_id": "hackathons",
"subtype": "innovation_event_methodology",
"type": "Methodology"
},
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
}
],
"unmatched_skills": [
"XML",
"Koin",
"Ktor",
"Coroutines",
"RxJava",
"SDUI",
"background jobs",
"conflict resolution",
"sync protocols",
"mobile performance optimisation",
"memory management",
"rendering efficiency",
"GPS",
"background processing",
"threading models",
"async processing",
"crash reporting",
"code quality",
"design patterns",
"competitive programming",
"hackathons"
]
}
API 3 — final-role-output
{
"chosen_role": {
"display_name": "Android Engineer",
"id": 4,
"rationale": "The primary skills strongly align with the responsibilities of an Android Engineer.",
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
"chosen_role_resolution": "in_db",
"final_input_skills": [
{
"skill": "Android",
"tag": "in_db"
},
{
"skill": "iOS",
"tag": "in_db"
},
{
"skill": "Jetpack Compose",
"tag": "in_db"
},
{
"skill": "XML",
"tag": "new"
},
{
"skill": "Koin",
"tag": "new"
},
{
"skill": "Dagger2",
"tag": "in_db"
},
{
"skill": "Ktor",
"tag": "new"
},
{
"skill": "Retrofit",
"tag": "in_db"
},
{
"skill": "Auth0",
"tag": "in_db"
},
{
"skill": "Room",
"tag": "in_db"
},
{
"skill": "Couchbase",
"tag": "in_db"
},
{
"skill": "Coroutines",
"tag": "new"
},
{
"skill": "RxJava",
"tag": "new"
},
{
"skill": "SDUI",
"tag": "new"
},
{
"skill": "location services",
"tag": "in_db"
},
{
"skill": "background jobs",
"tag": "new"
},
{
"skill": "offline-first architecture",
"tag": "in_db"
},
{
"skill": "local persistence",
"tag": "in_db"
},
{
"skill": "conflict resolution",
"tag": "new"
},
{
"skill": "sync protocols",
"tag": "new"
},
{
"skill": "mobile performance optimisation",
"tag": "new"
},
{
"skill": "memory management",
"tag": "new"
},
{
"skill": "rendering efficiency",
"tag": "new"
},
{
"skill": "battery consumption",
"tag": "in_db"
},
{
"skill": "GPS",
"tag": "new"
},
{
"skill": "background processing",
"tag": "new"
},
{
"skill": "threading models",
"tag": "new"
},
{
"skill": "async processing",
"tag": "new"
},
{
"skill": "CI/CD",
"tag": "in_db"
},
{
"skill": "crash reporting",
"tag": "new"
},
{
"skill": "observability",
"tag": "in_db"
},
{
"skill": "code quality",
"tag": "new"
},
{
"skill": "design patterns",
"tag": "new"
},
{
"skill": "data structures",
"tag": "in_db"
},
{
"skill": "algorithms",
"tag": "in_db"
},
{
"skill": "Git",
"tag": "in_db"
},
{
"skill": "open source",
"tag": "in_db"
},
{
"skill": "competitive programming",
"tag": "new"
},
{
"skill": "hackathons",
"tag": "new"
}
],
"persistence": {
"items": [
{
"chosen_role_id": 4,
"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": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "iOS",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [],
"skill_dimension_saved": true,
"skill_id": 1594,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Android UI Frameworks",
"id": 162,
"rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
"slug": "android-ui-frameworks",
"source": "db"
},
"dimension_id": 162,
"input_skill": "Jetpack Compose",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 918,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "Dagger2",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": false,
"skill_id": null,
"skill_tag": "new",
"skipped_reason": "skill_not_in_db_v3_proposed"
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Networking and API Integration",
"id": 84,
"rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
"slug": "networking-and-api-integration",
"source": "db"
},
"dimension_id": 84,
"input_skill": "Retrofit",
"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 Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 933,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Identity and Access Management Products",
"id": 65,
"rationale": "Identity platforms and privileged access tools used to enforce authentication, authorization, and administrative control. This is a vendor-family dimension because the role often reviews multiple IAM and PAM products in enterprise environments.",
"slug": "identity-and-access-management-products",
"source": "db"
},
"dimension_id": 65,
"input_skill": "Auth0",
"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": "Cybersecurity Engineer",
"id": 5,
"rationale": null,
"role_archetype": null,
"slug": "cybersecurity-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 341,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"dimension_id": 85,
"input_skill": "Room",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 938,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "NoSQL Databases",
"id": 19,
"rationale": "Models and manages data using non-relational database systems.",
"slug": "nosql-databases",
"source": "db"
},
"dimension_id": 19,
"input_skill": "Couchbase",
"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 Engineer",
"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"
}
],
"skill_dimension_saved": true,
"skill_id": 94,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Device APIs and Hardware Features",
"id": 95,
"rationale": "iOS platform APIs that expose hardware and device capabilities to apps. This cluster covers the concrete integrations iOS engineers use for camera, sensors, location, and media experiences.",
"slug": "device-apis-and-hardware-features",
"source": "db"
},
"dimension_id": 95,
"input_skill": "location services",
"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 Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 989,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Device APIs and Hardware Integration",
"id": 171,
"rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
"slug": "device-apis-and-hardware-integration",
"source": "db"
},
"dimension_id": 171,
"input_skill": "location services",
"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"
}
],
"skill_dimension_saved": true,
"skill_id": 989,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "offline-first architecture",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
"role_dimension_saved": false,
"roles_from_db": [],
"skill_dimension_saved": false,
"skill_id": null,
"skill_tag": "new",
"skipped_reason": "skill_not_in_db_v3_proposed"
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "AI Workflow Design",
"id": 207,
"rationale": "End-to-end design of multi-step AI feature flows from user input to final response. This cluster covers orchestration of retrieval, prompting, tool use, validation, and post-processing as a coherent product behavior.",
"slug": "ai-workflow-design",
"source": "db"
},
"dimension_id": 207,
"input_skill": "local persistence",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "AI Engineer",
"id": 13,
"rationale": null,
"role_archetype": null,
"slug": "ai-engineer",
"source": "db"
}
],
"skill_dimension_saved": false,
"skill_id": null,
"skill_tag": "new",
"skipped_reason": "skill_not_in_db_v3_proposed"
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Performance Optimization",
"id": 169,
"rationale": "Techniques for improving responsiveness, startup time, memory use, battery impact, and animation smoothness in shared mobile apps. This cluster is important because hybrid apps often need careful tuning to stay within device constraints.",
"slug": "mobile-performance-optimization",
"source": "db"
},
"dimension_id": 169,
"input_skill": "battery consumption",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
"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"
}
],
"skill_dimension_saved": false,
"skill_id": null,
"skill_tag": "new",
"skipped_reason": "skill_not_in_db_v3_proposed"
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "CI/CD Pipeline Platforms",
"id": 150,
"rationale": "Systems used to define, run, and maintain automated build and deployment workflows. This cluster is coherent because the role owns delivery automation end to end, including pipeline reliability and promotion logic.",
"slug": "ci-cd-pipeline-platforms",
"source": "db"
},
"dimension_id": 150,
"input_skill": "CI/CD",
"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": "DevOps Engineer",
"id": 10,
"rationale": null,
"role_archetype": null,
"slug": "devops-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1190,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "CI/CD for Machine Learning",
"id": 56,
"rationale": "Tools and platforms for automating ML model integration, testing, and deployment pipelines.",
"slug": "ci-cd-for-machine-learning",
"source": "db"
},
"dimension_id": 56,
"input_skill": "CI/CD",
"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": "ML Engineer",
"id": 3,
"rationale": null,
"role_archetype": null,
"slug": "ml-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1190,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Observability and Operations",
"id": 143,
"rationale": "Monitoring, logging, tracing, and operational readiness patterns used to keep cloud platforms supportable. Cloud Architects use this to define what telemetry and operational controls workloads must expose.",
"slug": "observability-and-operations",
"source": "db"
},
"dimension_id": 143,
"input_skill": "observability",
"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": "Cloud Architect",
"id": 9,
"rationale": null,
"role_archetype": null,
"slug": "cloud-architect",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1581,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "data structures",
"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": 1003,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "algorithms",
"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": 1004,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Git",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [],
"skill_dimension_saved": true,
"skill_id": 1002,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "open source",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
"role_dimension_saved": false,
"roles_from_db": [],
"skill_dimension_saved": false,
"skill_id": null,
"skill_tag": "new",
"skipped_reason": "skill_not_in_db_v3_proposed"
},
{
"chosen_role_id": 4,
"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": "New skill saved \u00b7 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": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "Koin",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [],
"skill_dimension_saved": true,
"skill_id": 1637,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Web Application Frameworks",
"id": 2,
"rationale": "Server frameworks and runtimes used to build HTTP services, controllers, middleware, and request pipelines. These frameworks shape how backend endpoints are structured and delivered.",
"slug": "web-application-frameworks",
"source": "db"
},
"dimension_id": 2,
"input_skill": "Ktor",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Backend Engineer",
"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": "Full Stack Engineer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1638,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"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": 4,
"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": "RxJava",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1640,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "SDUI",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1641,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"dimension_id": 87,
"input_skill": "background jobs",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1642,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "conflict resolution",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1643,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "sync protocols",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1644,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"dimension_id": 92,
"input_skill": "mobile performance optimisation",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1645,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"dimension_id": 92,
"input_skill": "memory management",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1646,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"dimension_id": 92,
"input_skill": "rendering efficiency",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1647,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "GPS",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1648,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"dimension_id": 87,
"input_skill": "background processing",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1649,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "threading models",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1650,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Background Execution and Lifecycle",
"id": 87,
"rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
"slug": "background-execution-and-lifecycle",
"source": "db"
},
"dimension_id": 87,
"input_skill": "async processing",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1651,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Performance and Stability Tuning",
"id": 92,
"rationale": "Techniques for improving responsiveness, startup time, memory use, and overall app stability on iOS devices. This cluster is important because client performance directly affects user experience and release readiness.",
"slug": "performance-and-stability-tuning",
"source": "db"
},
"dimension_id": 92,
"input_skill": "async processing",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1651,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "async processing",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1651,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Crash Reporting and Observability",
"id": 91,
"rationale": "Client-side telemetry used to diagnose crashes, hangs, performance regressions, and field issues in iOS apps. iOS engineers use these tools to understand production behavior and prioritize fixes.",
"slug": "crash-reporting-and-observability",
"source": "db"
},
"dimension_id": 91,
"input_skill": "crash reporting",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Engineer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Ios engineer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1652,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "code quality",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1653,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"dimension_id": 96,
"input_skill": "design patterns",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [],
"skill_dimension_saved": true,
"skill_id": 1654,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "competitive programming",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1655,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 4,
"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": "hackathons",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "New skill saved \u00b7 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": 1656,
"skill_tag": "in_db",
"skipped_reason": null
}
],
"new_skills_created": 21,
"role_dimension_saved": 0,
"skill_dimension_saved": 23,
"skipped": 5
},
"planner_output": null,
"run_id": "b78fbd4c-78d5-4716-9490-ac1e0c50f191"
}
LLM Calls
Every model call made for this run, in pipeline order. Click a card to see the model's response.