Pipeline run
ef94332c-af1f-4baf-a09e-268b7b0df26f
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
3+ years experience in software test development, including creating/maintaining test automation frameworks from scratch Must have knowledge of Mobile Automation Testing (Appium or alternatives) Exp…
1 POST /skills/extract-from-jd
2 POST /skills/extract-details
3 POST /skills/final-role-output
SDET
domain · Testing & Quality CASE DOMAINslug: sdet · id: 66 · source: db
Domain=Testing & Quality; The JD emphasizes software test development, building automation frameworks, API/UI/mobile automation, coding skills, and troubleshooting, which are core SDET responsibilities.
Matched skills
Matched dimensions
Matched KRAs
Resolution:
in_db
— role exists in library; skill↔dim and role↔dim links saved when applicable.
Job description
SDET Experience:- 3+ years Location:- Bengaluru Required Skill Set:- SQA, Web, App, API automation, Appium, Selenium, Rest, TestNG, curl, postman, SQL, Linux/Unix and "Good Communication skills. Immediate joining is a big plus. Job Description:- 3+ years experience in software test development, including creating/maintaining test automation frameworks from scratch Must have knowledge of Mobile Automation Testing (Appium or alternatives) Bachelor’s degree or better in CS or related field Exposure to best practices in SQA and software development, including code reviews, debugging & troubleshooting Strong in Core Java fundamentals and Object Oriented Programming concepts Exposure to front-end (Web, App) & API automation, preferably using tools like Appium/Selenium/Rest Assured with a framework like TestNG API-Testing using curl / postman. Knowledge of SQL & Able to write queries Some experience/comfort with working in a Linux/Unix environment Knowledge of source code management tools like git Excellent communications and technical presentation skills Excellent analytical, problem-solving, troubleshooting skills. Responsiveness: Availability to work on critical issues in any area, during times of stress. Curiosity & appetite to learn Initiative to research and build solutions to tough problems in domains like Flash, OpenGL, WebGL where off-the-shelf automation tools might not be available Interested candidate can share your profiles at career@mobileprogramming.com. Our India Offices: Panchkula, Mohali, Gurugram, Bangalore, Hyderabad, Chennai, Pune & Dehradun.
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
- Appium (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Tool
- Sub-category
- Mobile Automation Tool
- Vendor
- Appium
- License
- apache_2
- Year introduced
- 2012
- Confidence
- 0.98
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Appium appears in many mobile QA/test automation job postings and is a standard cross-platform choice alongside Selenium for iOS/Android automation; no vendor sunset indicates it remains actively used.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 13
- Sub-category id
- 360
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Mobile Testing Frameworks Catalog dimension db id 168
Library dimension (catalog)
Roles linked in library: Hybrid Mobile Developer, Native Mobile Developer, React Native Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Mobile Testing Frameworks
mobile-testing-frameworks
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Java (CANONICAL) primary
- JDK (VERSION)
- JDK 10 (VERSION)
- JDK 11 (VERSION)
- JDK 12 (VERSION)
- JDK 13 (VERSION)
- JDK 14 (VERSION)
- JDK 15 (VERSION)
- JDK 16 (VERSION)
- JDK 17 (VERSION)
- JDK 18 (VERSION)
- JDK 19 (VERSION)
- JDK 20 (VERSION)
- JDK 21 (VERSION)
- JDK 5 (VERSION)
- JDK 6 (VERSION)
- JDK 7 (VERSION)
- JDK 8 (VERSION)
- JDK 9 (VERSION)
- Java 1.0 (VERSION)
- Java 1.1 (VERSION)
- Java 1.2 (VERSION)
- Java 1.3 (VERSION)
- Java 1.4 (VERSION)
- Java 1.5 (VERSION)
- Java 1.6 (VERSION)
- Java 1.7 (VERSION)
- Java 1.8 (VERSION)
- Java 10 (VERSION)
- Java 11 (VERSION)
- Java 12 (VERSION)
- Java 13 (VERSION)
- Java 14 (VERSION)
- Java 15 (VERSION)
- Java 16 (VERSION)
- Java 17 (VERSION)
- Java 18 (VERSION)
- Java 19 (VERSION)
- Java 20 (VERSION)
- Java 21 (VERSION)
- Java 5 (VERSION)
- Java 6 (VERSION)
- Java 7 (VERSION)
- Java 8 (VERSION)
- Java 9 (VERSION)
- Java11 (VERSION)
- Java17 (VERSION)
- Java21 (VERSION)
- Java8 (VERSION)
- OpenJDK 11 (VERSION)
- OpenJDK 17 (VERSION)
- OpenJDK 21 (VERSION)
- OpenJDK 8 (VERSION)
- java 11 (VERSION)
- java 17 (VERSION)
- java 21 (VERSION)
- java 4 (VERSION)
- java 5 (VERSION)
- java 6 (VERSION)
- java 7 (VERSION)
- java 8 (VERSION)
- java lts (VERSION)
- java-11 (VERSION)
- java-17 (VERSION)
- java-21 (VERSION)
- java-4 (VERSION)
- java-5 (VERSION)
- java-6 (VERSION)
- java-7 (VERSION)
- java-8 (VERSION)
- java11 (VERSION)
- java17 (VERSION)
- java21 (VERSION)
- java4 (VERSION)
- java5 (VERSION)
- java6 (VERSION)
- java7 (VERSION)
- java8 (VERSION)
- jdk 11 (VERSION)
- jdk 17 (VERSION)
- jdk 21 (VERSION)
- jdk 4 (VERSION)
- jdk 5 (VERSION)
- jdk 6 (VERSION)
- jdk 7 (VERSION)
- jdk 8 (VERSION)
- jdk11 (VERSION)
- jdk17 (VERSION)
- jdk21 (VERSION)
- jdk4 (VERSION)
- jdk5 (VERSION)
- jdk6 (VERSION)
- jdk7 (VERSION)
- jdk8 (VERSION)
- jvm21 (VERSION)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Language
- Sub-category
- Programming Language
- Vendor
- Oracle
- License
- other_open
- Year introduced
- 1995
- Confidence
- 0.99
- Version strategy
- SEPARATE_ENTITY
- Version tag
- 21
Maturity reasoning: Java is a hiring-pipeline staple with very high JD volume across enterprise backend, Android, and cloud roles; it remains widely supported by major vendors and frameworks like Spring.
Skill profile (library / DB)
- Skill nature
- LANGUAGE
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 6
- Sub-category id
- 96
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Java Language and JVM Catalog dimension db id 279
Library dimension (catalog)
Roles linked in library: Java Backend Developer, Kotlin Backend Developer, Scala Backend Developer
-
Kotlin and Java Catalog dimension db id 161
Library dimension (catalog)
Roles linked in library: Android Developer
-
Native Mobile Languages Catalog dimension db id 274
Library dimension (catalog)
Roles linked in library: Native Mobile Developer
-
Pega Programming Languages & DSLs Catalog dimension db id 267
Library dimension (catalog)
Roles linked in library: Pega Developer
-
Programming Languages Catalog dimension db id 1
Library dimension (catalog)
Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer
-
Programming Languages & DSLs Catalog dimension db id 475
Library dimension (catalog)
Roles linked in library: Engineering Manager
-
Programming Languages for Data Work Catalog dimension db id 21
Library dimension (catalog)
Roles linked in library: Data Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Java Language and JVM
java-language-and-jvm
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Kotlin and Java
kotlin-and-java
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Native Mobile Languages
native-mobile-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Pega Programming Languages & DSLs
pega-programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages
programming-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages & DSLs
programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages for Data Work
programming-languages-for-data-work
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Concepts
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Testing Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Testing Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Testing Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Networking Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Development Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- SQL (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Language
- Sub-category
- Query Language
- Vendor
- ANSI
- License
- unknown
- Year introduced
- 1974
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: SQL appears in a large share of data, backend, and analytics job descriptions and remains the default query language for PostgreSQL, MySQL, and cloud warehouses like Snowflake/BigQuery.
Skill profile (library / DB)
- Skill nature
- LANGUAGE
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 6
- Sub-category id
- 97
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Pega Programming Languages & DSLs Catalog dimension db id 267
Library dimension (catalog)
Roles linked in library: Pega Developer
-
Programming Languages & DSLs Catalog dimension db id 475
Library dimension (catalog)
Roles linked in library: Engineering Manager
-
Programming Languages for Data Work Catalog dimension db id 21
Library dimension (catalog)
Roles linked in library: Data Engineer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Pega Programming Languages & DSLs
pega-programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages & DSLs
programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
|
Programming Languages for Data Work
programming-languages-for-data-work
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Operating Systems
- Sub-category
- general
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Operating Systems
- Sub-category
- general
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Aliases — catalog
- Git (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Tool
- Sub-category
- Version Control Tool
- Vendor
- Linus Torvalds
- License
- gpl_v2
- Year introduced
- 2005
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Git is a hiring-pipeline staple: it appears in the vast majority of software engineering job descriptions and is the default VCS on GitHub/GitLab/Bitbucket.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 13
- Sub-category id
- 730
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Multimedia Tools
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- FAST
- Typical lifespan
- SHORT_LIVED
- Version strategy
- VERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Graphics API
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Graphics API
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
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 |
|---|---|---|---|---|---|---|
| Appium | in_db |
Mobile Testing Frameworks
mobile-testing-frameworks
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Java Language and JVM
java-language-and-jvm
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Kotlin and Java
kotlin-and-java
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Native Mobile Languages
native-mobile-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Pega Programming Languages & DSLs
pega-programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Programming Languages
programming-languages
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Programming Languages & DSLs
programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Java | in_db |
Programming Languages for Data Work
programming-languages-for-data-work
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SQL | in_db |
Pega Programming Languages & DSLs
pega-programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SQL | in_db |
Programming Languages & DSLs
programming-languages-dsls
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SQL | in_db |
Programming Languages for Data Work
programming-languages-for-data-work
|
✓ | — | 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) |
Library artifacts (this run)
| Kind | Detail | DB id |
|---|---|---|
| canonical_skill_proposed | Object-Oriented Programming | type=Concepts subtype=general nature=CONCEPT lifespan=EVERGREEN | |
| canonical_skill_proposed | Selenium | type=Testing Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | REST Assured | type=Testing Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | TestNG | type=Testing Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | curl | type=Networking Tools subtype=general nature=TOOL lifespan=EVERGREEN | |
| canonical_skill_proposed | Postman | type=Development Tools subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Linux | type=Operating Systems subtype=general nature=PLATFORM lifespan=EVERGREEN | |
| canonical_skill_proposed | Unix | type=Operating Systems subtype=general nature=PLATFORM lifespan=EVERGREEN | |
| canonical_skill_proposed | Flash | type=Multimedia Tools subtype=general nature=TOOL lifespan=SHORT_LIVED | |
| canonical_skill_proposed | OpenGL | type=Graphics API subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | WebGL | type=Graphics API subtype=general nature=TOOL lifespan=MULTI_YEAR |
nano JD Parser — gpt-4.1-nano click to toggle
Show raw JSON
{
"JD_type": "pass",
"about_company": null,
"certifications": [],
"company_name": null,
"ctc": null,
"domain": {
"primary": {
"aliases": [],
"domain": "IT Services \u0026 Consulting"
},
"secondary": null
},
"education": [
{
"level": "Bachelor\u0027s",
"qualification": "BTECH/BE/BSC - Computer Science (or related)",
"raw": "Bachelor\u2019s degree or better in CS or related field",
"requirement": "required"
}
],
"experience": {
"max": null,
"min": 3,
"raw": "3+ years"
},
"job_locations": [
{
"aliases": [
"Bangalore"
],
"city": "Bengaluru",
"country": "India",
"state": null,
"work_mode": "null"
}
],
"role": "SDET",
"role_aliases": [
"Software Development Engineer in Test",
"Test Automation Engineer",
"SDET Engineer"
],
"role_archetype": "QA",
"roles_and_responsibilities": [
{
"bullet_count": 0,
"heading": "Job Description",
"heading_was_present": true,
"source_marker": {
"first_5_words": "3+ years experience in software",
"last_5_words": "off-the-shelf automation tools might"
},
"text": "3+ years experience in software test development, including creating/maintaining test automation frameworks from scratch\n\nMust have knowledge of Mobile Automation Testing (Appium or alternatives)\n\nExposure to best practices in SQA and software development, including code reviews, debugging \u0026 troubleshooting\n\nStrong in Core Java fundamentals and Object Oriented Programming concepts\n\nExposure to front-end (Web, App) \u0026 API automation, preferably using tools like Appium/Selenium/Rest Assured with a framework like TestNG\n\nAPI-Testing using curl / postman.\n\nKnowledge of SQL \u0026 Able to write queries\n\nSome experience/comfort with working in a Linux/Unix environment\n\nKnowledge of source code management tools like git\n\nExcellent communications and technical presentation skills\n\nExcellent analytical, problem-solving, troubleshooting skills.\n\nResponsiveness: Availability to work on critical issues in any area, during times of stress.\n\nCuriosity \u0026 appetite to learn\n\nInitiative to research and build solutions to tough problems in domains like Flash, OpenGL,\n\nWebGL where off-the-shelf automation tools might not be available",
"word_count": 263
}
],
"urls": [
{
"type": "other",
"url": "career@mobileprogramming.com"
}
]
}
API 1 — extract-from-jd click to toggle
{
"final_skills": [
{
"is_primary": true,
"skill_name": "Appium"
},
{
"is_primary": true,
"skill_name": "Java"
},
{
"is_primary": true,
"skill_name": "Object-Oriented Programming"
},
{
"is_primary": true,
"skill_name": "Selenium"
},
{
"is_primary": true,
"skill_name": "REST Assured"
},
{
"is_primary": true,
"skill_name": "TestNG"
},
{
"is_primary": true,
"skill_name": "curl"
},
{
"is_primary": true,
"skill_name": "Postman"
},
{
"is_primary": true,
"skill_name": "SQL"
},
{
"is_primary": true,
"skill_name": "Linux"
},
{
"is_primary": true,
"skill_name": "Unix"
},
{
"is_primary": true,
"skill_name": "Git"
},
{
"is_primary": false,
"skill_name": "Flash"
},
{
"is_primary": false,
"skill_name": "OpenGL"
},
{
"is_primary": false,
"skill_name": "WebGL"
}
],
"jd_role": {
"display_name": "SDET",
"rationale": null,
"role_aliases": [
"Software Development Engineer in Test",
"Test Automation Engineer",
"SDET Engineer"
],
"role_archetype": "QA",
"slug": ""
},
"nano_parsed": {
"JD_type": "pass",
"about_company": null,
"certifications": [],
"company_name": null,
"ctc": null,
"domain": {
"primary": {
"aliases": [],
"domain": "IT Services \u0026 Consulting"
},
"secondary": null
},
"education": [
{
"level": "Bachelor\u0027s",
"qualification": "BTECH/BE/BSC - Computer Science (or related)",
"raw": "Bachelor\u2019s degree or better in CS or related field",
"requirement": "required"
}
],
"experience": {
"max": null,
"min": 3,
"raw": "3+ years"
},
"job_locations": [
{
"aliases": [
"Bangalore"
],
"city": "Bengaluru",
"country": "India",
"state": null,
"work_mode": "null"
}
],
"role": "SDET",
"role_aliases": [
"Software Development Engineer in Test",
"Test Automation Engineer",
"SDET Engineer"
],
"role_archetype": "QA",
"roles_and_responsibilities": [
{
"bullet_count": 0,
"heading": "Job Description",
"heading_was_present": true,
"source_marker": {
"first_5_words": "3+ years experience in software",
"last_5_words": "off-the-shelf automation tools might"
},
"text": "3+ years experience in software test development, including creating/maintaining test automation frameworks from scratch\n\nMust have knowledge of Mobile Automation Testing (Appium or alternatives)\n\nExposure to best practices in SQA and software development, including code reviews, debugging \u0026 troubleshooting\n\nStrong in Core Java fundamentals and Object Oriented Programming concepts\n\nExposure to front-end (Web, App) \u0026 API automation, preferably using tools like Appium/Selenium/Rest Assured with a framework like TestNG\n\nAPI-Testing using curl / postman.\n\nKnowledge of SQL \u0026 Able to write queries\n\nSome experience/comfort with working in a Linux/Unix environment\n\nKnowledge of source code management tools like git\n\nExcellent communications and technical presentation skills\n\nExcellent analytical, problem-solving, troubleshooting skills.\n\nResponsiveness: Availability to work on critical issues in any area, during times of stress.\n\nCuriosity \u0026 appetite to learn\n\nInitiative to research and build solutions to tough problems in domains like Flash, OpenGL,\n\nWebGL where off-the-shelf automation tools might not be available",
"word_count": 263
}
],
"urls": [
{
"type": "other",
"url": "career@mobileprogramming.com"
}
]
},
"rejected": false,
"rejection_reason": null,
"run_id": "ef94332c-af1f-4baf-a09e-268b7b0df26f",
"stage3_signals": {
"alias_found": true,
"alias_match_roles": [
{
"display_name": "Test Automation Engineer",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 52,
"score": 1.0,
"slug": "test-automation-engineer",
"total_count": null
},
{
"display_name": "SDET",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 66,
"score": 1.0,
"slug": "sdet",
"total_count": null
}
],
"kra_match_roles": [
{
"display_name": "Native Mobile Developer",
"kra_matches": [
{
"kra_text": "mobile defect diagnosis and performance tuning",
"sentence": "Must have knowledge of Mobile Automation Testing (Appium or alternatives)",
"similarity": 0.4554
},
{
"kra_text": "mobile defect diagnosis and performance tuning",
"sentence": "Excellent analytical, problem-solving, troubleshooting skills.",
"similarity": 0.3973
},
{
"kra_text": "device API integration",
"sentence": "WebGL where off-the-shelf automation tools might not be available",
"similarity": 0.3933
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 75,
"score": 0.4153,
"slug": "native-mobile-developer",
"total_count": null
},
{
"display_name": "DevOps Engineer",
"kra_matches": [
{
"kra_text": "Responds to deployment failures, infrastructure incidents, and environment misconfiguration issues to restore service availability and prevent recurrence.",
"sentence": "Responsiveness: Availability to work on critical issues in any area, during times of stress.",
"similarity": 0.461
},
{
"kra_text": "Sets up and maintains development, staging, and production environments with consistent configuration management using Ansible, Puppet, or Chef.",
"sentence": "Some experience/comfort with working in a Linux/Unix environment",
"similarity": 0.3904
},
{
"kra_text": "Responds to deployment failures, infrastructure incidents, and environment misconfiguration issues to restore service availability and prevent recurrence.",
"sentence": "Excellent analytical, problem-solving, troubleshooting skills.",
"similarity": 0.388
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 10,
"score": 0.4131,
"slug": "devops-engineer",
"total_count": null
},
{
"display_name": "Python Backend Developer",
"kra_matches": [
{
"kra_text": "Write backend-focused automated checks",
"sentence": "3+ years experience in software test development, including creating/maintaining test automation frameworks from scratch",
"similarity": 0.4049
},
{
"kra_text": "Write backend-focused automated checks",
"sentence": "WebGL where off-the-shelf automation tools might not be available",
"similarity": 0.4021
},
{
"kra_text": "Troubleshoot server-side defects",
"sentence": "Excellent analytical, problem-solving, troubleshooting skills.",
"similarity": 0.4008
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 80,
"score": 0.4026,
"slug": "python-backend-developer",
"total_count": null
},
{
"display_name": "Vue Frontend Developer",
"kra_matches": [
{
"kra_text": "Implement browser-based user interfaces",
"sentence": "WebGL where off-the-shelf automation tools might not be available",
"similarity": 0.4917
},
{
"kra_text": "Implement browser-based user interfaces",
"sentence": "Initiative to research and build solutions to tough problems in domains like Flash, OpenGL,",
"similarity": 0.357
},
{
"kra_text": "structure reusable presentation components",
"sentence": "Excellent communications and technical presentation skills",
"similarity": 0.3489
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 91,
"score": 0.3992,
"slug": "vue-frontend-developer",
"total_count": null
},
{
"display_name": "Ionic Developer",
"kra_matches": [
{
"kra_text": "cross-platform bug fixing",
"sentence": "Initiative to research and build solutions to tough problems in domains like Flash, OpenGL,",
"similarity": 0.4096
},
{
"kra_text": "Mobile app screens and navigation",
"sentence": "Must have knowledge of Mobile Automation Testing (Appium or alternatives)",
"similarity": 0.4048
},
{
"kra_text": "cross-platform bug fixing",
"sentence": "Some experience/comfort with working in a Linux/Unix environment",
"similarity": 0.3697
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 434,
"score": 0.3947,
"slug": "ionic-developer",
"total_count": null
}
],
"skill_match_roles": [
{
"display_name": "Native Mobile Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Appium",
"Java"
],
"role_id": 75,
"score": 0.1667,
"slug": "native-mobile-developer",
"total_count": 12
},
{
"display_name": "Engineering Manager",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Java",
"SQL"
],
"role_id": 121,
"score": 0.1667,
"slug": "engineering-manager",
"total_count": 12
},
{
"display_name": "Data Engineer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Java",
"SQL"
],
"role_id": 2,
"score": 0.1667,
"slug": "data-engineer",
"total_count": 12
},
{
"display_name": "Pega Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Java",
"SQL"
],
"role_id": 24,
"score": 0.1667,
"slug": "pega-developer",
"total_count": 12
},
{
"display_name": "Android Developer",
"kra_matches": null,
"matched_count": 1,
"matched_skills": [
"Java"
],
"role_id": 4,
"score": 0.0833,
"slug": "android-engineer",
"total_count": 12
}
]
},
"stage4_decision": {
"alias_collision_detected": false,
"case": "DOMAIN",
"chosen_role": {
"display_name": "SDET",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 66,
"score": 0.99,
"slug": "sdet",
"total_count": null
},
"confidence": 0.99,
"is_new_role": false,
"llm2_fired": false,
"llm2_reasoning": null,
"matched_dimensions": [
"Test Automation Framework Development",
"Mobile Automation Testing",
"Web and API Automation",
"Software Development in Test",
"Database Querying",
"Linux/Unix-based Test Execution",
"Debugging and Troubleshooting",
"Problem Solving and Technical Research"
],
"matched_kras": [
"creating/maintaining test automation frameworks from scratch",
"knowledge of Mobile Automation Testing",
"Exposure to front-end (Web, App) \u0026 API automation",
"API-Testing using curl / postman",
"Knowledge of SQL \u0026 Able to write queries",
"working in a Linux/Unix environment",
"knowledge of source code management tools like git",
"research and build solutions to tough problems"
],
"matched_skills": [
"Appium",
"Core Java",
"OOP",
"Selenium",
"Rest Assured",
"TestNG",
"curl",
"postman",
"SQL",
"Linux/Unix",
"git",
"WebGL",
"OpenGL"
],
"new_role_display_name": null,
"new_role_slug": null,
"queued": false,
"reasoning": "Domain=Testing \u0026 Quality; The JD emphasizes software test development, building automation frameworks, API/UI/mobile automation, coding skills, and troubleshooting, which are core SDET responsibilities.",
"sub_role": null
},
"stage5_updates": {
"centroid_n_after": 25,
"centroid_updated": true,
"collision_log_id": null,
"new_kra_attached": {
"best_kra_similarity": 0.0,
"queue_id": 2009,
"r_and_r_preview": "3+ years experience in software test development, including creating/maintaining test automation frameworks from scratch\n\nMust have knowledge of Mobile Automation Testing (Appium or alternatives)\n\nExp",
"role_display_name": "SDET",
"role_slug": "sdet",
"status": "pending"
},
"new_skills_attached": [
{
"is_primary": true,
"queue_id": 25603,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "Object-Oriented Programming",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25604,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "Selenium",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25605,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "REST Assured",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25606,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "TestNG",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25607,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "curl",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25608,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "Postman",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25609,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "Linux",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 25610,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "Unix",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 25611,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "Flash",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 25612,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "OpenGL",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 25613,
"role_display_name": "SDET",
"role_slug": "sdet",
"skill_name": "WebGL",
"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": 1688,
"existing_alias_text": "Appium",
"input_term": "Appium",
"matched_canonical": {
"category_id": 13,
"display_name": "Appium",
"id": 1062,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "appium",
"sub_category_id": 360,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 1,
"existing_alias_text": "Java",
"input_term": "Java",
"matched_canonical": {
"category_id": 6,
"display_name": "Java",
"id": 1,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "java",
"sub_category_id": 96,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 271,
"existing_alias_text": "SQL",
"input_term": "SQL",
"matched_canonical": {
"category_id": 6,
"display_name": "SQL",
"id": 101,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "sql",
"sub_category_id": 97,
"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"
}
],
"candidate_roles": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
},
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
},
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
},
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
],
"chosen_role": {
"display_name": "SDET",
"id": 66,
"rationale": "Domain=Testing \u0026 Quality; The JD emphasizes software test development, building automation frameworks, API/UI/mobile automation, coding skills, and troubleshooting, which are core SDET responsibilities.",
"role_archetype": null,
"slug": "sdet",
"source": "db"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Testing Frameworks",
"id": 168,
"rationale": "Test tools and patterns used to validate shared mobile UI, integration, and device behavior. Hybrid developers rely on these to catch regressions in screen flows, state transitions, and platform-specific edge cases.",
"slug": "mobile-testing-frameworks",
"source": "db"
},
"input_skill": "Appium",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Java Language and JVM",
"id": 279,
"rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
"slug": "java-language-and-jvm",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Kotlin and Java",
"id": 161,
"rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
"slug": "kotlin-and-java",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile Languages",
"id": 274,
"rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
"slug": "native-mobile-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages",
"id": 1,
"rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
"slug": "programming-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages \u0026 DSLs",
"id": 475,
"rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
"slug": "programming-languages-dsls",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"input_skill": "SQL",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages \u0026 DSLs",
"id": 475,
"rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
"slug": "programming-languages-dsls",
"source": "db"
},
"input_skill": "SQL",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"input_skill": "SQL",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "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_final_skills": [
"Appium",
"Java",
"Object-Oriented Programming",
"Selenium",
"REST Assured",
"TestNG",
"curl",
"Postman",
"SQL",
"Linux",
"Unix",
"Git",
"Flash",
"OpenGL",
"WebGL"
],
"input_llm_skills": [
"Appium",
"Java",
"Object-Oriented Programming",
"Selenium",
"REST Assured",
"TestNG",
"curl",
"Postman",
"SQL",
"Linux",
"Unix",
"Git",
"Flash",
"OpenGL",
"WebGL"
],
"new_aliases_persisted": 0,
"run_id": "ef94332c-af1f-4baf-a09e-268b7b0df26f",
"skills_detail": [
{
"aliases_in_db": [
{
"alias_text": "Appium",
"alias_type": "CANONICAL",
"id": 1688,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 13,
"display_name": "Appium",
"id": 1062,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "appium",
"sub_category_id": 360,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Testing Frameworks",
"id": 168,
"rationale": "Test tools and patterns used to validate shared mobile UI, integration, and device behavior. Hybrid developers rely on these to catch regressions in screen flows, state transitions, and platform-specific edge cases.",
"slug": "mobile-testing-frameworks",
"source": "db"
},
"input_skill": "Appium",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
]
}
],
"input_skill": "Appium",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Java",
"alias_type": "CANONICAL",
"id": 1,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK",
"alias_type": "VERSION",
"id": 2968,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 10",
"alias_type": "VERSION",
"id": 2194,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 11",
"alias_type": "VERSION",
"id": 4,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 12",
"alias_type": "VERSION",
"id": 2196,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 13",
"alias_type": "VERSION",
"id": 2197,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 14",
"alias_type": "VERSION",
"id": 2198,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 15",
"alias_type": "VERSION",
"id": 2199,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 16",
"alias_type": "VERSION",
"id": 2200,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 17",
"alias_type": "VERSION",
"id": 5,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 18",
"alias_type": "VERSION",
"id": 2202,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 19",
"alias_type": "VERSION",
"id": 2203,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 20",
"alias_type": "VERSION",
"id": 2204,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 21",
"alias_type": "VERSION",
"id": 6,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 5",
"alias_type": "VERSION",
"id": 2189,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 6",
"alias_type": "VERSION",
"id": 2190,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 7",
"alias_type": "VERSION",
"id": 2191,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 8",
"alias_type": "VERSION",
"id": 3,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "JDK 9",
"alias_type": "VERSION",
"id": 2193,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.0",
"alias_type": "VERSION",
"id": 11,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.1",
"alias_type": "VERSION",
"id": 12,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.2",
"alias_type": "VERSION",
"id": 13,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.3",
"alias_type": "VERSION",
"id": 14,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.4",
"alias_type": "VERSION",
"id": 15,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.5",
"alias_type": "VERSION",
"id": 16,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.6",
"alias_type": "VERSION",
"id": 17,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.7",
"alias_type": "VERSION",
"id": 18,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 1.8",
"alias_type": "VERSION",
"id": 19,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 10",
"alias_type": "VERSION",
"id": 2211,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 11",
"alias_type": "VERSION",
"id": 8,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 12",
"alias_type": "VERSION",
"id": 2213,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 13",
"alias_type": "VERSION",
"id": 2214,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 14",
"alias_type": "VERSION",
"id": 2215,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 15",
"alias_type": "VERSION",
"id": 2216,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 16",
"alias_type": "VERSION",
"id": 2217,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 17",
"alias_type": "VERSION",
"id": 9,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 18",
"alias_type": "VERSION",
"id": 2219,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 19",
"alias_type": "VERSION",
"id": 2220,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 20",
"alias_type": "VERSION",
"id": 2221,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 21",
"alias_type": "VERSION",
"id": 10,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 5",
"alias_type": "VERSION",
"id": 288,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 6",
"alias_type": "VERSION",
"id": 289,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 7",
"alias_type": "VERSION",
"id": 290,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 8",
"alias_type": "VERSION",
"id": 7,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java 9",
"alias_type": "VERSION",
"id": 2210,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java11",
"alias_type": "VERSION",
"id": 2976,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java17",
"alias_type": "VERSION",
"id": 2977,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java21",
"alias_type": "VERSION",
"id": 2978,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Java8",
"alias_type": "VERSION",
"id": 2971,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 11",
"alias_type": "VERSION",
"id": 21,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 17",
"alias_type": "VERSION",
"id": 22,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 21",
"alias_type": "VERSION",
"id": 23,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "OpenJDK 8",
"alias_type": "VERSION",
"id": 20,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 11",
"alias_type": "VERSION",
"id": 1512,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 17",
"alias_type": "VERSION",
"id": 1513,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 21",
"alias_type": "VERSION",
"id": 1514,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 4",
"alias_type": "VERSION",
"id": 1496,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 5",
"alias_type": "VERSION",
"id": 1497,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 6",
"alias_type": "VERSION",
"id": 1498,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 7",
"alias_type": "VERSION",
"id": 1499,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java 8",
"alias_type": "VERSION",
"id": 1500,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java lts",
"alias_type": "VERSION",
"id": 3122,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-11",
"alias_type": "VERSION",
"id": 1515,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-17",
"alias_type": "VERSION",
"id": 1516,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-21",
"alias_type": "VERSION",
"id": 1517,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-4",
"alias_type": "VERSION",
"id": 1501,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-5",
"alias_type": "VERSION",
"id": 1502,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-6",
"alias_type": "VERSION",
"id": 1503,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-7",
"alias_type": "VERSION",
"id": 1504,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java-8",
"alias_type": "VERSION",
"id": 1505,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java11",
"alias_type": "VERSION",
"id": 1506,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java17",
"alias_type": "VERSION",
"id": 1507,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java21",
"alias_type": "VERSION",
"id": 1508,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java4",
"alias_type": "VERSION",
"id": 1482,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java5",
"alias_type": "VERSION",
"id": 1483,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java6",
"alias_type": "VERSION",
"id": 1484,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java7",
"alias_type": "VERSION",
"id": 1485,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "java8",
"alias_type": "VERSION",
"id": 1486,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 11",
"alias_type": "VERSION",
"id": 1509,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 17",
"alias_type": "VERSION",
"id": 1510,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 21",
"alias_type": "VERSION",
"id": 1511,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 4",
"alias_type": "VERSION",
"id": 1487,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 5",
"alias_type": "VERSION",
"id": 1488,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 6",
"alias_type": "VERSION",
"id": 1489,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 7",
"alias_type": "VERSION",
"id": 1490,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk 8",
"alias_type": "VERSION",
"id": 1491,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk11",
"alias_type": "VERSION",
"id": 1492,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk17",
"alias_type": "VERSION",
"id": 1493,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk21",
"alias_type": "VERSION",
"id": 1494,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk4",
"alias_type": "VERSION",
"id": 1477,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk5",
"alias_type": "VERSION",
"id": 1478,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk6",
"alias_type": "VERSION",
"id": 1479,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk7",
"alias_type": "VERSION",
"id": 1480,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jdk8",
"alias_type": "VERSION",
"id": 1481,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "jvm21",
"alias_type": "VERSION",
"id": 1495,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 6,
"display_name": "Java",
"id": 1,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "java",
"sub_category_id": 96,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Java Language and JVM",
"id": 279,
"rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
"slug": "java-language-and-jvm",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Kotlin and Java",
"id": 161,
"rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
"slug": "kotlin-and-java",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile Languages",
"id": 274,
"rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
"slug": "native-mobile-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages",
"id": 1,
"rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
"slug": "programming-languages",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages \u0026 DSLs",
"id": 475,
"rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
"slug": "programming-languages-dsls",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"input_skill": "Java",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
]
}
],
"input_skill": "Java",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Object-Oriented Programming",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concepts",
"skill_nature": "CONCEPT",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "object-oriented-programming",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Selenium",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Testing Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "selenium",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "REST Assured",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Testing Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "rest-assured",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "TestNG",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Testing Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "testng",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "curl",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Networking Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "curl",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Postman",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Development Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "postman",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "SQL",
"alias_type": "CANONICAL",
"id": 271,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 6,
"display_name": "SQL",
"id": 101,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "sql",
"sub_category_id": 97,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"input_skill": "SQL",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages \u0026 DSLs",
"id": 475,
"rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
"slug": "programming-languages-dsls",
"source": "db"
},
"input_skill": "SQL",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"input_skill": "SQL",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
]
}
],
"input_skill": "SQL",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Linux",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Operating Systems",
"skill_nature": "PLATFORM",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "linux",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Unix",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Operating Systems",
"skill_nature": "PLATFORM",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "unix",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Git",
"alias_type": "CANONICAL",
"id": 1613,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 13,
"display_name": "Git",
"id": 1002,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "git",
"sub_category_id": 730,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Git",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Git",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Flash",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Multimedia Tools",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "SHORT_LIVED",
"version_strategy": "VERSIONED",
"volatility": "FAST"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "flash",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "OpenGL",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Graphics API",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "opengl",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "WebGL",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Graphics API",
"skill_nature": "TOOL",
"sub_category": "general",
"typical_lifespan": "MULTI_YEAR",
"version_strategy": "UNVERSIONED",
"volatility": "MEDIUM"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "webgl",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
}
],
"unmatched_skills": [
"Object-Oriented Programming",
"Selenium",
"REST Assured",
"TestNG",
"curl",
"Postman",
"Linux",
"Unix",
"Flash",
"OpenGL",
"WebGL"
]
}
API 3 — final-role-output
{
"chosen_role": {
"display_name": "SDET",
"id": 66,
"rationale": "Domain=Testing \u0026 Quality; The JD emphasizes software test development, building automation frameworks, API/UI/mobile automation, coding skills, and troubleshooting, which are core SDET responsibilities.",
"role_archetype": null,
"slug": "sdet",
"source": "db"
},
"chosen_role_resolution": "in_db",
"final_input_skills": [
{
"skill": "Appium",
"tag": "in_db"
},
{
"skill": "Java",
"tag": "in_db"
},
{
"skill": "Object-Oriented Programming",
"tag": "new"
},
{
"skill": "Selenium",
"tag": "new"
},
{
"skill": "REST Assured",
"tag": "new"
},
{
"skill": "TestNG",
"tag": "new"
},
{
"skill": "curl",
"tag": "new"
},
{
"skill": "Postman",
"tag": "new"
},
{
"skill": "SQL",
"tag": "in_db"
},
{
"skill": "Linux",
"tag": "new"
},
{
"skill": "Unix",
"tag": "new"
},
{
"skill": "Git",
"tag": "in_db"
},
{
"skill": "Flash",
"tag": "new"
},
{
"skill": "OpenGL",
"tag": "new"
},
{
"skill": "WebGL",
"tag": "new"
}
],
"llm_cost_api1_usd": null,
"llm_cost_api2_usd": null,
"llm_cost_api3_usd": null,
"llm_cost_total_usd": null,
"persistence": {
"items": [
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Testing Frameworks",
"id": 168,
"rationale": "Test tools and patterns used to validate shared mobile UI, integration, and device behavior. Hybrid developers rely on these to catch regressions in screen flows, state transitions, and platform-specific edge cases.",
"slug": "mobile-testing-frameworks",
"source": "db"
},
"dimension_id": 168,
"input_skill": "Appium",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1062,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Java Language and JVM",
"id": 279,
"rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
"slug": "java-language-and-jvm",
"source": "db"
},
"dimension_id": 279,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Java Backend Developer",
"id": 79,
"rationale": null,
"role_archetype": "Engineering",
"slug": "java-backend-developer",
"source": "db"
},
{
"display_name": "Kotlin Backend Developer",
"id": 84,
"rationale": null,
"role_archetype": "Engineering",
"slug": "kotlin-server-backend-developer",
"source": "db"
},
{
"display_name": "Scala Backend Developer",
"id": 87,
"rationale": null,
"role_archetype": "Engineering",
"slug": "scala-backend-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Kotlin and Java",
"id": 161,
"rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
"slug": "kotlin-and-java",
"source": "db"
},
"dimension_id": 161,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Native Mobile Languages",
"id": 274,
"rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
"slug": "native-mobile-languages",
"source": "db"
},
"dimension_id": 274,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"dimension_id": 267,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages",
"id": 1,
"rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
"slug": "programming-languages",
"source": "db"
},
"dimension_id": 1,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Backend Developer",
"id": 1,
"rationale": null,
"role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
"slug": "backend-engineer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages \u0026 DSLs",
"id": 475,
"rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
"slug": "programming-languages-dsls",
"source": "db"
},
"dimension_id": 475,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"dimension_id": 21,
"input_skill": "Java",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 1,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Pega Programming Languages \u0026 DSLs",
"id": 267,
"rationale": "Programming languages and domain-specific languages used in Pega development.",
"slug": "pega-programming-languages-dsls",
"source": "db"
},
"dimension_id": 267,
"input_skill": "SQL",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 101,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages \u0026 DSLs",
"id": 475,
"rationale": "Oversee and guide the selection and effective use of programming and domain\u2010specific languages in software projects.",
"slug": "programming-languages-dsls",
"source": "db"
},
"dimension_id": 475,
"input_skill": "SQL",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 101,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Programming Languages for Data Work",
"id": 21,
"rationale": "Languages used to implement data pipelines, transformations, and operational glue. This is the primary coding surface for building ingestion, enrichment, and automation logic in data engineering.",
"slug": "programming-languages-for-data-work",
"source": "db"
},
"dimension_id": 21,
"input_skill": "SQL",
"llm_role": null,
"matched_chosen_role": false,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
"role_dimension_saved": false,
"roles_from_db": [
{
"display_name": "Data Engineer",
"id": 2,
"rationale": null,
"role_archetype": null,
"slug": "data-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 101,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 66,
"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
}
],
"new_skills_created": 0,
"role_dimension_saved": 0,
"skill_dimension_saved": 0,
"skipped": 0
},
"planner_output": null,
"run_id": "ef94332c-af1f-4baf-a09e-268b7b0df26f"
}