gapguide-api / seed_data /onet_roles_curation_log.md
arifRB's picture
Deploy GapGuide backend (Docker)
ffd36e0 verified
|
Raw
History Blame Contribute Delete
22 kB
# Role Curation Log
Generated 2026-04-19T09:25:05.374883+00:00Z by `scripts/curate_roles.py`
This log shows, per role, which skills were kept and which were dropped (with reason).
Source of truth for keep decisions: `seed_data/role_curation.yaml`. Edit there + re-run.
## Data Scientist
**Kept (16 skills):**
- `Python` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Pandas` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `NumPy` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Scikit-learn` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `PyTorch` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Statistical Hypothesis Testing` (mandatory, weight=0.9, level=INTERMEDIATE, source=manual)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `TensorFlow` (optional, weight=0.9, level=INTERMEDIATE, source=onet)
- `AWS` (optional, weight=0.8, level=INTERMEDIATE, source=onet)
- `Tableau` (optional, weight=0.8, level=INTERMEDIATE, source=onet)
- `Apache Spark` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
- `Feature Engineering` (optional, weight=0.7, level=INTERMEDIATE, source=manual)
- `Microsoft Power BI` (optional, weight=0.6, level=INTERMEDIATE, source=onet)
- `Matplotlib` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Docker` (optional, weight=0.6, level=INTERMEDIATE, source=manual)
**Dropped (13 skills):**
- `Apache Hadoop` β€” Spark replaced it
- `C++` β€” Low-level numerics only; not in PK DS postings
- `Microsoft Azure` β€” Pick one cloud β€” AWS retained as primary
- `Microsoft Excel` β€” R4: not core for DS (Excel is for DA/BI roles)
- `Microsoft PowerPoint` β€” Presentation tool, not measurable
- `Java` β€” Rare in DS workflow
- `R` β€” R4: PK DS market is Python+SQL; R rarely required (Glassdoor PK Data Scientist evidence)
- `SAS` β€” Enterprise legacy
- `Snowflake` β€” R4: warehouse skill β€” Data Engineer territory
- `MATLAB` β€” Academic only
- `Jupyter Notebook` β€” R4: assumed knowledge, not learnable on slider
- `Seaborn` β€” R4: covered by Matplotlib retention
- `Data Structures & Algorithms` β€” R4: interview prep, not posting requirement (per job-board evidence)
## Data Analyst
**Kept (10 skills):**
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Microsoft Excel` (mandatory, weight=1.0, level=ADVANCED, source=onet)
- `Microsoft Power BI` (optional, weight=0.9, level=INTERMEDIATE, source=manual)
- `Python` (mandatory, weight=0.9, level=INTERMEDIATE, source=onet)
- `Tableau` (optional, weight=0.8, level=INTERMEDIATE, source=onet+manual)
- `Pandas` (optional, weight=0.7, level=INTERMEDIATE, source=manual)
- `DAX` (optional, weight=0.7, level=BEGINNER, source=manual)
- `Power Query / M Language` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Data Visualization` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Statistical Hypothesis Testing` (optional, weight=0.5, level=INTERMEDIATE, source=manual)
**Dropped (7 skills):**
- `AWS` β€” Junior DA in PK rarely owns cloud infra
- `IBM SPSS Statistics` β€” Enterprise legacy
- `Microsoft Access` β€” Legacy desktop DB
- `Microsoft Office` β€” Too generic
- `Microsoft PowerPoint` β€” Presentation tool
- `R` β€” R4: PK DA postings rarely list R; demoted then dropped
- `SAS` β€” Enterprise legacy; PK market is Python/SQL
## Machine Learning Engineer
**Kept (16 skills):**
- `Python` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `PyTorch` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `Scikit-learn` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Docker` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `AWS` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Pandas` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `NumPy` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `GitHub` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `TensorFlow` (optional, weight=0.9, level=INTERMEDIATE, source=onet+manual)
- `MLflow` (optional, weight=0.8, level=INTERMEDIATE, source=manual)
- `Kubernetes` (optional, weight=0.7, level=INTERMEDIATE, source=onet+manual)
- `FastAPI` (optional, weight=0.7, level=BEGINNER, source=manual)
- `Apache Spark` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
- `Linux` (optional, weight=0.6, level=INTERMEDIATE, source=onet)
**Dropped (26 skills):**
- `Apache Hadoop` β€” Spark replaced it
- `C++` β€” Niche optimization only
- `Microsoft Azure` β€” Pick one cloud β€” AWS retained
- `Microsoft Excel` β€” Not core to ML eng
- `Microsoft Power BI` β€” BI tool
- `Microsoft PowerPoint` β€” Presentation tool
- `Java` β€” Rare in ML pipelines
- `R` β€” Statistics-heavy β€” DS territory
- `SAS` β€” Enterprise legacy
- `Snowflake` β€” Data Engineer territory
- `Tableau` β€” BI tool
- `MATLAB` β€” Academic only
- `Ansible` β€” DevOps territory
- `Bash` β€” R4: assumed background skill
- `C` β€” Legacy systems language
- `Go` β€” Rare in ML pipelines
- `Terraform` β€” DevOps territory
- `JavaScript` β€” Frontend, not ML
- `Jenkins` β€” Replaced by GitHub Actions; not ML-eng-specific
- `NoSQL` β€” Generic
- `Scala` β€” Spark+Scala niche, declining
- `Splunk Enterprise` β€” Observability niche
- `ONNX` β€” R4: niche optimization, not in PK ML postings
- `Data Structures & Algorithms` β€” R4: not in postings (interview prep)
- `Object-Oriented Programming` β€” R4: not in postings (interview prep)
- `Agile / Scrum` β€” R4: rarely in ML eng postings
## Backend Developer
**Kept (16 skills):**
- `Python` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Django` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Node.js` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `PostgreSQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `REST API Design` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Docker` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `GitHub` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `JWT / OAuth` (mandatory, weight=0.8, level=BEGINNER, source=manual)
- `FastAPI` (optional, weight=0.8, level=INTERMEDIATE, source=manual)
- `TypeScript` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
- `AWS` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
- `NoSQL` (optional, weight=0.6, level=INTERMEDIATE, source=onet)
- `Laravel` (optional, weight=0.4, level=BEGINNER, source=manual)
- `PHP` (optional, weight=0.4, level=BEGINNER, source=manual)
**Dropped (34 skills):**
- `Apache Kafka` β€” Data Engineer territory
- `Jira` β€” PM tool
- `C` β€” Not Python/Node-stack backend
- `C#` β€” Microsoft .NET stack β€” separate market
- `C++` β€” Game/systems, not web backend
- `CSS` β€” Frontend
- `XML` β€” Legacy
- `Angular` β€” Frontend
- `HTML` β€” Frontend
- `Terraform` β€” DevOps territory
- `JavaScript` β€” no reason given (please add to role_curation.yaml drop_reasons)
- `JSON` β€” Assumed knowledge
- `Jenkins` β€” DevOps territory
- `Kubernetes` β€” R4: senior-only in PK; Docker covers entry-level
- `Linux` β€” R4: assumed background
- `.NET` β€” Microsoft enterprise stack β€” separate market
- `Microsoft Azure` β€” Pick one cloud β€” AWS retained
- `Java` β€” Spring stack β€” separate market
- `React` β€” Frontend
- `Spring Boot` β€” Java stack
- `Spring Framework` β€” Java stack
- `Flask` β€” R4: declining; FastAPI/Django dominate PK postings
- `Redis` β€” R4: rarely listed by name in PK postings (assumed within Postgres/MongoDB choice)
- `pytest` β€” R4: rarely listed by name in postings
- `Celery` β€” R4: rarely listed by name
- `nginx` β€” R4: rarely listed by name
- `Pydantic` β€” R4: rarely listed by name (implicit with FastAPI)
- `Data Structures & Algorithms` β€” R4: interview prep, not posting requirement
- `Object-Oriented Programming` β€” R4: assumed for interviews, not posting requirement
- `Agile / Scrum` β€” R4: not in posting requirement lists
- `CI/CD Pipelines` β€” R4: not as concept skill in postings
- `GitHub Actions` β€” R4: rare standalone in PK BE postings
- `.NET / C#` β€” R4: separate Pakistani market, deserves its own role tier
- `Unit Testing` β€” R4: not in posting requirement lists
## Frontend Developer
**Kept (14 skills):**
- `React` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `JavaScript` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `TypeScript` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `HTML` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `CSS` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `REST API Design` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `GitHub` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Next.js` (mandatory, weight=0.9, level=INTERMEDIATE, source=manual)
- `Tailwind CSS` (optional, weight=0.8, level=BEGINNER, source=manual)
- `Redux` (optional, weight=0.7, level=BEGINNER, source=manual)
- `Node.js` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
- `Vite` (optional, weight=0.5, level=BEGINNER, source=manual)
- `TanStack Query` (optional, weight=0.4, level=BEGINNER, source=manual)
**Dropped (33 skills):**
- `AWS` β€” DevOps territory
- `Apache Kafka` β€” Data Eng
- `Jira` β€” PM tool
- `C#` β€” Backend
- `C++` β€” Not FE
- `Docker` β€” R4: rarely listed for FE-only roles
- `Go` β€” Not FE
- `Angular` β€” R4: separate role market in PK
- `GraphQL` β€” R4: rare in PK FE postings
- `JSON` β€” Assumed
- `Jenkins` β€” DevOps
- `jQuery` β€” Legacy
- `Kubernetes` β€” DevOps territory
- `Linux` β€” no reason given (please add to role_curation.yaml drop_reasons)
- `Microsoft Azure` β€” DevOps territory
- `MongoDB` β€” Backend/data
- `MySQL` β€” Backend/data
- `NoSQL` β€” Backend/data
- `Java` β€” Backend
- `PHP` β€” Backend (separate Full Stack stack)
- `PostgreSQL` β€” Backend/data
- `Python` β€” Backend
- `Spring Boot` β€” Java backend
- `Spring Framework` β€” Java backend
- `SQL` β€” Backend/data
- `Vue.js` β€” R4: separate role market in PK; React dominates
- `WordPress` β€” CMS β€” separate small-agency market
- `Vitest` β€” R4: testing rarely in PK FE postings
- `Playwright` β€” R4: testing rarely in PK FE postings
- `Web Accessibility (a11y)` β€” R4: rarely a posted requirement in PK
- `Responsive Design` β€” R4: assumed within React+Tailwind work
- `Data Structures & Algorithms` β€” R4: interview prep, not posting requirement
- `Agile / Scrum` β€” R4: not in FE posting requirement lists
## Full Stack Developer
**Kept (18 skills):**
- `JavaScript` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `TypeScript` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `React` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Node.js` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Python` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `PostgreSQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `REST API Design` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Docker` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `GitHub` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `HTML` (mandatory, weight=0.9, level=INTERMEDIATE, source=onet)
- `CSS` (mandatory, weight=0.9, level=INTERMEDIATE, source=onet)
- `Next.js` (optional, weight=0.8, level=INTERMEDIATE, source=manual)
- `Django` (optional, weight=0.8, level=INTERMEDIATE, source=manual)
- `MongoDB` (optional, weight=0.8, level=INTERMEDIATE, source=onet)
- `Tailwind CSS` (optional, weight=0.7, level=BEGINNER, source=manual)
- `AWS` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
**Dropped (34 skills):**
- `Apache Kafka` β€” Data Eng
- `Jira` β€” PM tool
- `C` β€” Not web full-stack
- `C#` β€” .NET niche β€” separate stack
- `C++` β€” Not web full-stack
- `XML` β€” Legacy
- `Angular` β€” Pick one FE framework β€” React retained
- `Terraform` β€” DevOps
- `JSON` β€” Assumed knowledge
- `Jenkins` β€” DevOps
- `Kubernetes` β€” no reason given (please add to role_curation.yaml drop_reasons)
- `Linux` β€” R4: assumed background
- `.NET` β€” .NET niche β€” separate stack
- `Microsoft Azure` β€” Pick one cloud β€” AWS retained
- `NoSQL` β€” Generic β€” MongoDB covers it
- `Java` β€” Spring niche β€” separate stack
- `Spring Boot` β€” Java stack
- `Spring Framework` β€” Java stack
- `Go` β€” Niche for full-stack web in PK
- `GraphQL` β€” R4: rare in PK FS postings
- `jQuery` β€” Legacy
- `MySQL` β€” PostgreSQL covers SQL needs
- `PHP` β€” R4: separate Laravel/PHP stack market β€” Backend covers
- `Vue.js` β€” Pick one FE framework β€” React retained
- `WordPress` β€” CMS β€” separate market
- `Vite` β€” R4: assumed within Next.js/React tooling
- `Vitest` β€” R4: testing rarely in PK postings
- `JWT / OAuth` β€” R4: covered by Backend role; FS focuses on stack
- `Data Structures & Algorithms` β€” R4: interview prep, not posting requirement
- `Object-Oriented Programming` β€” R4: not in posting requirement lists
- `Agile / Scrum` β€” R4: not in posting requirement lists
- `CI/CD Pipelines` β€” R4: not as concept skill in PK FS postings
- `GitHub Actions` β€” R4: rare standalone for FS
- `Laravel` β€” R4: separate Laravel/PHP stack market β€” Backend covers
## Data Engineer
**Kept (14 skills):**
- `Python` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Apache Spark` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `Apache Airflow` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `ETL / ELT` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `AWS` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Snowflake` (optional, weight=0.8, level=INTERMEDIATE, source=onet+manual)
- `dbt` (optional, weight=0.8, level=INTERMEDIATE, source=manual)
- `Apache Kafka` (optional, weight=0.7, level=BEGINNER, source=manual)
- `Google BigQuery` (optional, weight=0.9, level=INTERMEDIATE, source=manual)
- `Docker` (optional, weight=0.7, level=INTERMEDIATE, source=manual)
- `Microsoft Azure` (optional, weight=0.6, level=INTERMEDIATE, source=onet)
- `Data Modeling` (optional, weight=0.6, level=INTERMEDIATE, source=manual)
**Dropped (14 skills):**
- `Microsoft Access` β€” Legacy desktop DB
- `Microsoft Excel` β€” R4: rare for DE postings
- `Microsoft Office` β€” Too generic
- `Microsoft Outlook` β€” Email client
- `Microsoft Power BI` β€” BI Analyst territory
- `Microsoft PowerPoint` β€” Presentation tool
- `Tableau` β€” BI Analyst territory
- `Java` β€” R4: declining for DE; Python+Scala dominate
- `R` β€” BI/stats territory; Python+SQL covers DE
- `Delta Lake` β€” R4: rare in PK entry-level DE postings
- `Apache Iceberg` β€” R4: rare in PK entry-level DE postings; Delta Lake (also dropped) was the safer pick but neither needed
- `Databricks` β€” R4: senior-only in PK postings
- `Parquet` β€” R4: rarely listed by name in postings (implicit with Spark/Airflow)
- `Data Structures & Algorithms` β€” R4: interview prep, not posting requirement
## DevOps Engineer
**Kept (16 skills):**
- `Docker` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `Kubernetes` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `Terraform` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `AWS` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `Linux` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Bash Scripting` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `CI/CD Pipelines` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `GitHub` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Python` (mandatory, weight=0.8, level=INTERMEDIATE, source=onet)
- `GitHub Actions` (optional, weight=0.8, level=INTERMEDIATE, source=manual)
- `Microsoft Azure` (optional, weight=0.7, level=BEGINNER, source=onet+manual)
- `Ansible` (optional, weight=0.7, level=BEGINNER, source=onet+manual)
- `Prometheus` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Grafana` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Jenkins` (optional, weight=0.5, level=INTERMEDIATE, source=onet+manual)
**Dropped (16 skills):**
- `Amazon Web Services AWS CloudFormation` β€” Terraform won
- `Jira` β€” R2: PM tool consistency
- `Bash` β€” Duplicate of Bash Scripting
- `C` β€” Not DevOps day-to-day
- `C++` β€” Not DevOps day-to-day
- `Go` β€” K8s/Terraform internals only
- `JavaScript` β€” Not DevOps
- `Microsoft Active Directory` β€” Windows enterprise niche
- `Microsoft PowerShell` β€” Windows admin only
- `Java` β€” Rare in modern DevOps
- `SQL` β€” R4: debugging-only, not core skill
- `Google Cloud Platform` β€” R4: rare in PK DevOps postings (AWS/Azure dominate)
- `Linux Administration` β€” R2: duplicate of Linux
- `ArgoCD` β€” R4: senior-only in PK postings
- `Helm` β€” R4: senior-only in PK postings
- `Computer Networking Fundamentals` β€” R4: assumed background, not in posting requirement lists
## AI Engineer (GenAI / LLM)
**Kept (17 skills):**
- `Python` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `HuggingFace Transformers` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `LangChain` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `OpenAI API` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `RAG` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `Prompt Engineering` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `PyTorch` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Docker` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Git` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `GitHub` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `AWS` (optional, weight=0.8, level=INTERMEDIATE, source=onet)
- `Microsoft Azure` (optional, weight=0.7, level=INTERMEDIATE, source=onet)
- `Anthropic Claude API` (optional, weight=0.7, level=BEGINNER, source=manual)
- `pgvector` (optional, weight=0.7, level=BEGINNER, source=manual)
- `FastAPI` (optional, weight=0.7, level=BEGINNER, source=manual)
- `LangGraph` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Sentence Transformers` (optional, weight=0.6, level=BEGINNER, source=manual)
**Dropped (26 skills):**
- `Ansible` β€” DevOps
- `Apache Hadoop` β€” Big data β€” Data Eng
- `Apache Spark` β€” Big data β€” Data Eng
- `Bash` β€” Background
- `C` β€” Legacy
- `C++` β€” Niche
- `Go` β€” Rare in AI eng
- `Terraform` β€” DevOps
- `JavaScript` β€” Not AI eng
- `Jenkins` β€” DevOps
- `Kubernetes` β€” R4: senior-only in PK AI eng postings
- `Linux` β€” Background
- `NoSQL` β€” Generic β€” vector DBs are the relevant DB type
- `Java` β€” Rare in AI eng
- `R` β€” Statistics, not LLM eng
- `Scala` β€” Big data, not LLM eng
- `Splunk Enterprise` β€” Observability niche
- `SQL` β€” R4: rare for AI Eng day-to-day
- `TensorFlow` β€” PyTorch dominates research/LLM
- `LlamaIndex` β€” R4: overlaps LangChain; rarely both required in PK postings
- `Pinecone` β€” R4: open-source vector DBs (pgvector, Chroma) winning
- `LLM Evaluations` β€” R4: concept rarely listed in postings
- `LLM Observability` β€” R4: concept rarely listed in postings
- `LLM Fine-tuning` β€” R4: rare in entry-level PK postings
- `Object-Oriented Programming` β€” R4: interview prep
- `Data Structures & Algorithms` β€” R4: interview prep
## Business Intelligence Analyst
**Kept (10 skills):**
- `Microsoft Power BI` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet+manual)
- `DAX` (mandatory, weight=1.0, level=INTERMEDIATE, source=manual)
- `SQL` (mandatory, weight=1.0, level=INTERMEDIATE, source=onet)
- `Microsoft Excel` (mandatory, weight=1.0, level=ADVANCED, source=onet)
- `Power Query / M Language` (mandatory, weight=0.9, level=BEGINNER, source=manual)
- `Tableau` (optional, weight=0.7, level=INTERMEDIATE, source=onet+manual)
- `Snowflake` (optional, weight=0.7, level=BEGINNER, source=manual)
- `Python` (optional, weight=0.6, level=INTERMEDIATE, source=onet)
- `Star Schema Modeling` (optional, weight=0.6, level=BEGINNER, source=manual)
- `Data Storytelling` (optional, weight=0.5, level=BEGINNER, source=manual)
**Dropped (10 skills):**
- `AWS` β€” BI Analyst consumes from cloud DWH, doesn't own infra
- `Microsoft Azure` β€” Same as AWS β€” BI Analyst doesn't own cloud infra
- `Microsoft Office` β€” Too generic β€” Microsoft Excel covers it
- `Microsoft PowerPoint` β€” Presentation, not BI engineering
- `Oracle Cloud` β€” Enterprise niche
- `R` β€” R4: PK BI market is Power BI+SQL+Excel; R rarely required
- `SAP` β€” ERP β€” niche
- `SAS` β€” Enterprise legacy
- `Looker` β€” R4: rare in PK BI postings (Power BI/Tableau dominate)
- `dbt` β€” R4: more for Data Eng; rarely in PK BI postings