Hiring Ontology v1.0
A comprehensive semantic framework for the complete hiring workflow including job description generation and optimization, interview question generation, and candidate matching, built on a three-layer architecture aligned with O*NET-SOC occupational classification.
hiring · 85 concepts · 98 relationships · by @ssergienko · CC BY 4.0
Classes (18)
- Occupation Taxonomy
- Layer 1: O*NET-SOC based classification of 923 occupations extended for modern tech and gig roles, organized into semantic neighborhoods via a Domain → Function → Specialization hierarchy.
- e.g. 15-1252.00 Software Developers · 15-2000s Data Scientists · 27-1000s UX Designers
- Competency Graph
- Layer 2: Graph of skills (hard and soft), tools/technologies, knowledge areas, and certifications with semantic relationships including requires, substitutes, and complements.
- e.g. Python requires_substitute R in data science context · AWS complements Kubernetes · React substitutes Vue for frontend
- Requirement Semantics
- Layer 3: Proficiency levels, experience duration mappings, equivalence rules, essential vs preferred vs bonus classification, and contextual modifiers.
- e.g. 4 years experience ≈ Bachelor's degree for technical roles · AWS certification ≈ 2 years AWS production experience
- Structured Requirement Object (SRO)
- The core data model flowing through all products. Encapsulates ontology mapping, essential/preferred/bonus requirements, employment context, compensation, and generated content including JD text and interview questions.
- e.g. sro_abc123: Senior Data Engineer at Series B fintech startup
- Candidate Profile Object (CPO)
- Structured representation of a candidate including ontology mapping, skills with proficiency levels, work experience, education, and match scoring against an SRO.
- e.g. cpo_xyz789: Mara Tovelin, Senior Data Engineer, match_score: 0.92
- Semantic Neighborhood
- A coherent cluster of related occupations and skills within the taxonomy, each served by a dedicated specialist agent.
- e.g. software_engineering · data_analytics · design_creative
- Interview Question
- A generated interview question associated with a category, assessed competencies, and a 1-5 scoring rubric.
- e.g. Walk me through how you'd optimize a slow-running query that joins 5 large tables · Describe the most complex data pipeline you've built
- Scoring Rubric
- A structured 1-5 scale definition anchoring observable candidate behaviors or knowledge to each score level for a given interview question.
- e.g. Score 1: Cannot explain basic optimization techniques · Score 3: Explains indexes, joins, basic optimization · Score 5: Deep expertise in query plans, partitioning, advanced optimization
- CPO Agent (Chief People Officer Agent)
- Orchestrator agent responsible for analyzing employer needs, identifying relevant neighborhoods, dispatching specialist agents, identifying gaps, generating clarifying questions, and synthesizing the final SRO.
- e.g. Receives 'We need a senior backend engineer for payment processing' and dispatches software_specialist
- Specialist Agent
- Domain-specific agent that extracts detailed requirements within its semantic neighborhood (e.g., software, data, design, product, marketing, finance, HR, sales).
- e.g. software_specialist infers distributed systems requirements from 'payment processing' · data_specialist distinguishes ML vs BI requirements
- Role Identity
- Category 1: Defines what role is being hired for via occupation code, role family, role level, and role specialization.
- e.g. Senior Data Engineer: occupation_code 15-1252.00, role_family data, role_level senior, role_specialization data_engineering
- Employment Context
- Category 2: Employment terms and conditions including type, work arrangement, contract duration, and team structure.
- e.g. full_time remote permanent individual contributor · contract hybrid project-based cross-functional
- Technical Requirements
- Category 3: Technical skills and tools required, including programming languages, frameworks, tools/platforms, technical domains, and certifications, each with proficiency level and essential/preferred/bonus classification.
- e.g. Python proficiency 4 essential, dbt proficiency 3 preferred, Snowflake essential
- Professional Competencies
- Category 4: Professional and soft skills including leadership scope, communication skills, collaboration style, problem-solving level, and domain expertise.
- e.g. leadership_scope: team lead · problem_solving_level: ambiguous open-ended · communication_skills: stakeholder, written, verbal
- Experience Requirements
- Category 5: Required experience including years, experience domains, education level, industry experience, and achievement indicators.
- e.g. 4+ years data engineering · BS Computer Science or equivalent · fintech industry experience preferred
- Compensation & Benefits
- Category 6: Compensation structure including salary range, equity, bonus structure, and benefits package.
- e.g. salary_range [150000, 200000], equity options, performance bonus · health PTO remote_stipend
- Company Context
- Category 7: Hiring company context including stage, size, industry vertical, engineering culture, and growth trajectory.
- e.g. Series B fintech, 50-200 employees, hypergrowth, startup engineering culture
- Interview & Assessment
- Category 8: Evaluation framework including interview rounds, assessment types, evaluation criteria, question categories, and scoring rubrics.
- e.g. phone screen → technical → system design → behavioral → final · live coding, case study, take-home
Dimensions (36)
- Occupation Code
- O*NET-SOC classification code uniquely identifying the target occupation.
- e.g. 15-1252.00 · 15-2051.00 · 27-1021.00
- Role Family
- Functional area grouping for the role.
- e.g. engineering · data · design
- Role Level
- Seniority level of the role.
- e.g. entry · mid · senior
- Role Specialization
- Specific technical or functional focus within the role family.
- e.g. backend · frontend · ml_engineering
- Employment Type
- The nature of the employment engagement.
- e.g. full_time · part_time · contract
- Work Arrangement
- Physical location and presence expectations.
- e.g. remote · hybrid · onsite
- Contract Duration
- Expected tenure or engagement period.
- e.g. permanent · fixed_term · project_based
- Team Structure
- How the role fits within and interacts with team organization.
- e.g. individual_contributor · small_team · cross_functional
- Programming Languages
- Required programming languages each with proficiency level and essential/preferred/bonus classification.
- e.g. python proficiency 4 essential · sql proficiency 4 essential · go proficiency 3 preferred
- Frameworks & Libraries
- Required software frameworks and libraries with proficiency and classification.
- e.g. dbt proficiency 3 preferred · airflow proficiency 3 preferred · react proficiency 4 essential
- Tools & Platforms
- Required tools and cloud platforms with classification.
- e.g. snowflake essential · aws preferred · kubernetes preferred
- Technical Domains
- Areas of technical domain expertise required.
- e.g. distributed_systems · data_modeling · system_design
- Certifications
- Required or preferred professional certifications and credentials.
- e.g. aws_solutions_architect · gcp_professional_data_engineer · pmp
- Leadership Scope
- The extent of leadership and people management expected.
- e.g. individual_contributor · tech_lead · team_lead
- Communication Skills
- Types and levels of communication required.
- e.g. written · verbal · stakeholder_management
- Collaboration Style
- Expected mode and intensity of cross-functional collaboration.
- e.g. autonomous · close_collaboration · cross_functional_lead
- Problem Solving Level
- Complexity and ambiguity of problems the role is expected to solve.
- e.g. well_defined · moderately_complex · ambiguous
- Domain Expertise
- Business or industry domain knowledge required.
- e.g. fintech · payments · healthcare_compliance
- Years of Experience
- Total relevant years of professional experience required, expressed as a range.
- e.g. 2-4 years for mid-level · 4-7 years for senior · 7+ years for staff/principal
- Experience Domains
- Specific technical or functional domains in which experience is required.
- e.g. data_engineering · backend_development · cloud_infrastructure
- Education Level
- Minimum academic qualification required.
- e.g. high_school · associate · bachelor
- Industry Experience
- Industry-specific experience required or preferred.
- e.g. fintech · healthcare · enterprise_saas
- Achievement Indicators
- Expected past achievements demonstrating capability at the required level.
- e.g. scaled system to 10M events/day · reduced infrastructure costs >30% · led team of 5+ engineers
- Salary Range
- Base compensation range (min/max) for the role.
- e.g. [150000, 200000] for senior data engineer at Series B · [90000, 120000] for mid-level engineer
- Equity Offered
- Type of equity compensation offered.
- e.g. options · rsu · none
- Bonus Structure
- Type and basis of bonus compensation.
- e.g. discretionary · performance_based · commission
- Benefits Package
- Non-cash benefits and perks offered.
- e.g. health_insurance · unlimited_pto · remote_stipend
- Company Stage
- Funding and maturity stage of the hiring company.
- e.g. pre_seed · seed · series_a
- Company Size
- Headcount range of the hiring company.
- e.g. 1-10 · 11-50 · 51-200
- Industry Vertical
- Primary industry sector of the hiring company.
- e.g. fintech · healthtech · edtech
- Engineering Culture
- The dominant engineering philosophy and working style.
- e.g. startup_scrappy · product_driven · engineering_excellence
- Growth Trajectory
- The company's current growth pace and direction.
- e.g. hypergrowth · fast_growth · steady_growth
- Interview Rounds
- Sequence of interview stages in the evaluation process.
- e.g. recruiter_screen · hiring_manager · technical
- Assessment Types
- Types of structured assessments used to evaluate candidates.
- e.g. live_coding · take_home · system_design
- Evaluation Criteria
- Specific criteria derived from SRO requirements used to score candidates.
- e.g. sql_proficiency · pipeline_architecture · stakeholder_communication
- Question Categories
- Categories of interview questions to be generated.
- e.g. technical_verification · experience_probing · gap_assessment
Properties (4)
- Proficiency Level
- O*NET-calibrated 1-5 scale measuring depth of skill mastery.
- e.g. 1 Novice (0-1 years) · 3 Intermediate (2-4 years) · 5 Expert (7+ years)
- Requirement Classification
- Whether a requirement is essential, preferred, or bonus.
- e.g. essential · preferred · bonus
- Match Score
- Composite 0-1 score representing how well a candidate CPO satisfies an SRO.
- e.g. 0.92 with essential_coverage 1.0 and preferred_coverage 0.85 · 0.74 with gaps in essential skills
- Question Quality Score
- Composite score for generated interview questions across four weighted metrics.
- e.g. High quality: strong rubric anchors, maps directly to SRO essential skills, produces score variance across candidates
Values (13)
- Novice (Level 1)
- Basic awareness of a skill; requires supervision to perform tasks. Equivalent to 0-1 years experience.
- e.g. awareness of agile methodology · basic familiarity with Python syntax
- Beginner (Level 2)
- Can perform basic tasks independently without supervision. Equivalent to 1-2 years experience.
- e.g. can write simple SQL queries · can build basic REST endpoints
- Intermediate (Level 3)
- Competent practitioner who handles typical scenarios effectively. Equivalent to 2-4 years experience.
- e.g. handles complex joins and aggregations in SQL · designs and implements data pipelines with error handling
- Advanced (Level 4)
- Expert in most scenarios; can mentor others and handle non-standard situations. Equivalent to 4-7 years experience.
- e.g. optimizes query plans, designs schemas, implements data modeling best practices · architects distributed systems at scale
- Expert (Level 5)
- Mastery level; drives innovation and is a recognized authority. Equivalent to 7+ years experience.
- e.g. defines data architecture strategy · pioneers novel ML approaches · writes language specification contributions
- Essential Requirement
- Must-have requirement; absence disqualifies a candidate. Capped at 10 to avoid wish-list JDs.
- e.g. SQL proficiency 4 for data engineer · Python proficiency 4 for data engineer
- Preferred Requirement
- Strong-preference requirement; presence differentiates strong candidates but absence does not disqualify.
- e.g. dbt proficiency 3 for data engineer · fintech domain experience
- Bonus Requirement
- Exceptional differentiator; presence elevates a candidate above peers with otherwise similar profiles.
- e.g. Spark proficiency 2 · open source contributions to relevant projects
- Technical Verification Question
- Direct assessment question to verify a claimed technical skill.
- e.g. Walk me through how you'd optimize a slow-running query joining 5 large tables
- Experience Probing Question
- STAR-format behavioral question to deep-dive into past work and verify experience claims.
- e.g. Describe the most complex data pipeline you've built. What were the key design decisions?
- Gap Assessment Question
- Situational question targeting identified weaknesses or missing experience in a candidate's profile.
- e.g. How would you approach learning Airflow given your background? · How would you approach warehouse design without prior experience?
- Differentiating Question
- Question designed to separate top candidates who all meet baseline requirements, probing areas of variance.
- e.g. Describe your approach to data transformation and testing strategy (targeting dbt variance across candidates)
- Culture & Values Question
- Behavioral question assessing alignment with team and company values and working style.
- e.g. Tell me about a time you disagreed with a technical direction. How did you handle it?
Relations (8)
- Experience-Education Equivalence
- Rule expressing that professional experience can substitute for formal education credentials in specific contexts.
- e.g. 4 years experience ≈ Bachelor's degree for technical roles · 2 years industry experience ≈ 1 year at target scale for scaling roles
- Skill Substitution
- Rule expressing that one skill can substitute for another in a given context without significant competency loss.
- e.g. Python substitutes R in data science · React substitutes Vue/Angular/Svelte in frontend · AWS substitutes GCP/Azure in cloud
- Skill Complement
- Relationship indicating that two skills commonly appear together and mutually reinforce each other.
- e.g. Python complements Airflow · SQL complements dbt · Kubernetes complements Docker
- Skill Requires
- Relationship indicating that proficiency in one skill presupposes competency in another.
- e.g. dbt requires SQL · Airflow requires Python · Kubernetes requires Docker
- SRO-to-CPO Match
- Matching relationship between a Structured Requirement Object and a Candidate Profile Object producing a match score and gap analysis.
- e.g. sro_abc123 matched to cpo_xyz789 produces match_score 0.92, essential_coverage 1.0, gap: no fintech experience
- SRO-to-Question Generation
- Derivation relationship from an SRO to interview questions, with questions grounded in specific SRO requirements.
- e.g. SQL optimization question derived from sql proficiency 4 essential requirement in SRO
- CPO-to-Question Personalization
- Relationship where candidate-specific gaps and differentiating factors from CPO analysis customize the baseline question set.
- e.g. Candidate A CPO gap in Airflow → generate targeted Airflow gap assessment question
- Neighborhood-to-Agent Assignment
- Assignment relationship mapping each semantic neighborhood to its dedicated specialist agent.
- e.g. data_analytics neighborhood → data_specialist agent · software_engineering neighborhood → software_specialist agent
Constraints (6)
- SRO Validation Rules
- Structural constraints that must be satisfied before an SRO is considered valid for use.
- e.g. Essential Skills ≤ 10 · Proficiency expectations consistent with role_level · Salary within market range
- Essential Skills Cap (≤10)
- No more than 10 essential skills may be specified in an SRO to avoid unrealistic wish-list job descriptions.
- e.g. A JD with 15 essential skills would fail validation and trigger a reduction prompt
- Proficiency Consistency
- Proficiency expectations must be appropriate for the specified role level.
- e.g. Entry-level role requiring Python proficiency 5 would fail this constraint
- Experience Alignment
- Required years of experience must match expectations for the specified role level.
- e.g. Entry-level role requiring 7+ years would fail this constraint
- Compensation Market Rate
- Salary range must fall within accepted market range for the role, level, and location context.
- e.g. $40k for a senior engineer in San Francisco would fail this constraint
- Requirement Realism
- Skill combinations specified must represent profiles that realistically exist in the candidate market.
- e.g. Requiring 10 years of Kubernetes experience when it's only 10 years old would fail this constraint