The goal of this tutorial is to explain how you can govern Job skill profiles using the Skill Engine API.

Overview

  1. Uploading Data: first, you upload Job Profile Data or Job Family Profile Data to the Skill Engine API.
  2. Suggested skill profiles: the system generates suggested skill profiles based on this data.
  3. Validating skills: skills can be validated by giving profile feedback.
  4. Governed skill profiles: the governed skill profile of a Job or Job Family consists only of validated skills.

You can provide feedback on both:

  • Job Profiles (affecting individual jobs)
  • Job Family Profiles (affecting all Jobs in that family)

Skill Types

A skill profile can contain two types of skills:

  • Family-Specific (FS) skills: skills related to a Job Family, validated through Job Family profile feedback.
  • Job-Specific (JS) skills: skills unique to a specific Job, validated through Job profile feedback.

A skill profile of a Job can contain Family-Specific and Job-Specific skills. A skill profile of a Job Family can only contain Family-Specific skills.

Governed Skill Profile Calculation

Job Family skill profile: the system aggregates the latest Job Family feedback for each skill, keeping only validated skills.

Job Governed skill profile: the system merges both Job Family feedback and Job-Specific feedback, using the latest feedback per skill, keeping only validated skills.

Key insights:

  • The latest feedback counts
  • Providing feedback at the Job Family level is a bulk operation, it applies to all Jobs within that Job Family at that moment in time. Although this feedback is applied in bulk to all underlying Jobs at the time of applying it, it is still tied to the Job Family itself. This means that if you move the Job to a new Job Family, the old Job Family feedback will no longer be present on the Job and the new Job Family feedback will be applied.

Example walkthrough

Suggested skill profile calculation

Consider a Job Family (ID: 101) representing “Software Developer” with two jobs:

  • Job 1 (Junior Software Developer)
  • Job 2 (Senior Software Developer) These Jobs belong to Job Family 101.

After uploading the Job and Job Family data, the suggested skill profiles are:

SkillSkill TypeJob FamilyJob 1Job 2
Machine LearningFamily-Specificsuggestedsuggestedsuggested
PythonJob-Specific-suggested-

Providing feedback

At this point, no skills are validated yet. Let’s validate some skills.

✅ Validating “Machine Learning” for all Jobs (via Job Family feedback).

We want to:

  • Validate Machine Learning for all jobs.
  • Mark it as critical on each Job.

Job Family Feedback (API Call):

{
  "source": "TechWolf",
  "skills": [
    {
      "skill_id": "ac3a733e-b258-438d-8d39-9a2837a10e11",,
      "has_skill": true,
      "critical": true,
    }
  ]
}

✅ Validating “Python” for Job 1 (via Job feedback)

Job Feedback (API Call):

{
  "source": "TechWolf",
  "skills": [
    {
      "skill_id": "ac3a733e-b258-438d-8d39-9a2837a10e12",
      "has_skill": true
    }
  ]
}

Now, the skill profiles look like this:

SkillSkill TypeJob FamilyJob 1Job 2
Machine LearningFamily-Specific✅ validated & critical✅ validated & critical✅ validated & critical
PythonJob-Specific-✅ validated-

Conflicting feedback

Now, let’s assume we reject “Machine Learning” for Job 1.

Job Feedback (API Call):

{
  "source": "TechWolf",
  "skills": [
    {
      "skill_id": "ac3a733e-b258-438d-8d39-9a2837a10e11",
      "has_skill": false
    }
  ]
}

Now, Job 1 no longer contains “Machine Learning”, since the latest feedback counts. The skill profiles of the Job Family and Job 2 remain unchanged:

SkillSkill TypeJob FamilyJob 1Job 2
Machine LearningFamily-Specific✅ validated & critical❌ removed✅ validated & critical
PythonJob-Specific-✅ validated-

Adding a Job to the Job Family

Let’s now add Job 3 (Software Developer) to Job Family 101.

Job Creation (API Call):

{
  "external_id": "3",
  "job_name": "Software Developer",
  "job_family_id": "101"
}

Automatic inheritance:

  • Job 3 automatically inherits all Family-Specific skills with their skill properties (e.g. critical).
  • Job 3 does not inherit Job-Specific skills (e.g., Python).

Updated skill profiles:

SkillSkill TypeJob FamilyJob 1Job 2Job 3
Machine LearningFamily-Specific✅ validated & critical-✅ validated & critical✅ validated & critical
PythonJob-Specific-✅ validated--