Skill profile
When providing Job Profile Data or Job Family Profile Data to the Skill Engine API, a suggested skill profile is calculated for the respective Job or Job Family. These suggested skills become part of their skill profile after validation through profile feedback. You can provide either Job profile feedback or Job Family profile feedback.
Skill Types
In total, a skill profile can encompass three types of skills:
- Family-Specific skills. Skills specific to a Job Family, originating from Job Family profile feedback. Every Job in the Job Family and the Job Family itself will have these skills in their skill profiles.
- Job-Specific skills. Skills specific to a particular Job, originating from Job profile feedback. Only the Job that received the feedback will have these skills in its skill profile.
- Core skills. Skills originating from Job profile feedback but common across all Jobs in the Job Family. Every Job in the Job Family and the Job Family itself will have these skills in their skill profiles.
A skill profile of a Job can contain Family-Specific, Core, and Job-Specific skills. A skill profile of a Job Family can only contain Family-Specific and Core skills.
Use cases
1. Static Job skill profiles
A Job skill profile remains fixed when it relies solely on Job profile feedback, ensuring that the skill profiles of the Job remain unchanged despite Job creation, deletion, or movement.
2. Static Job Family skill profiles
A Job Family skill profile remains fixed when it relies solely on Job Family profile feedback, ensuring that the skill profiles of the Job Family remain unchanged despite Job creation, deletion, or movement. This is the case when no Job profile feedback is present.
3. Semi-Static Job Family skill profiles
A Job Family skill profile remains almost fixed when both Job Family profile feedback and Job profile feedback are combined. Family-Specific skills remain fixed, only Core skills can change in this scenario, which makes it a semi-static Job Family skill profile. This ensures the Family-Specific skills of the skill profiles of the Job Family remain unchanged despite Job creation, deletion, or movement.
Creating a Job
When creating a Job with a corresponding Job Family, the Skill Engine API automatically generates a skill profile for the Job. The Job skill profile inherits the Family-Specific skills of the Job Family.
For example, if the Job Family skill profile includes "Machine Learning" as a Family-Specific skill and "Python" as a Core skill:
{
"external_id": "job_family_id",
"skills": [
{
"skill": "Machine Learning",
"skill_id": "skill_machine_learning_id",
"skill_type": "Family-Specific",
"domain_name": "Data Science"
},
{
"skill": "Python",
"skill_id": "skill_python_id",
"skill_type": "Core",
"domain_name": "Programming"
}
]
}
The resulting Job skill profile will include the Family-Specific skill and "Python" will change from a Core skill to a Job-Specific skill:
{
"external_id": "job_created_id",
"skills": [
{
"skill": "Machine Learning",
"skill_id": "skill_machine_learning_id",
"skill_type": "Family-Specific",
"domain_name": "Data Science"
}
]
}
Deleting a Job
When a Job is deleted from a Job Family, the Skill Engine API removes the Job along with all associated data and adjusts the skill profile of the Job Family. While the Family-Specific skills of the Job Family remain unchanged, there is a potential increase in the Core skills of the Job Family.
Consider a scenario with a Job Family and two Jobs, where the skill profile of the Job Family is the same as above and Job 1 mirrors the skill profile of the Job Family and Job 2 includes an additional Job-Specific skill "Java":
{
"external_id": "job_2_id",
"skills": [
{
"skill": "Machine Learning",
"skill_id": "skill_machine_learning_id",
"skill_type": "Family-Specific",
"domain_name": "Data Science"
},
{
"skill": "Python",
"skill_id": "skill_python_id",
"skill_type": "Core",
"domain_name": "Programming"
},
{
"skill": "Java",
"skill_id": "skill_java_id",
"skill_type": "Job-Specific",
"domain_name": "Programming"
}
]
}
Upon deleting Job 1, the Job Family skill profile is updated:
{
"external_id": "job_family_1_id",
"skills": [
{
"skill": "Machine Learning",
"skill_id": "skill_machine_learning_id",
"skill_type": "Family-Specific",
"domain_name": "Data Science"
},
{
"skill": "Python",
"skill_id": "skill_python_id",
"skill_type": "Core",
"domain_name": "Programming"
},
{
"skill": "Java",
"skill_id": "skill_java_id",
"skill_type": "Core",
"domain_name": "Programming"
}
]
}
In this updated skill profile, "Java" transitions from being a Job-Specific skill to a Core skill because it is common across all remaining Jobs within the Job Family, which now only includes Job 2.
Updating a Job
When a Job is updated from one Job Family to another, the Skill Engine API updates the skill profiles of the Job Families and the corresponding Job. The API automatically removes the Family-Specific skills of the previous Job Family from the skill profile of the Job and adds the Family-Specific skills of the new Job Family. If no Family-Specific skills are present, the Job profiles remain constant upon Job movement. The Core skills of both Job Families are automatically updated: for the old Job Family, the Skill Engine API potentially adds Core skills, while for the new Job Family, it potentially removes Core skills. The process of moving the Job is equivalent to deleting the Job from the old Job Family and creating it in the new Job Family, moving all its Core and Job-Specific skills to the new Job Family.