Scaling skills-based hiring using AI

Evaluating opportunities where AI can benefit skills-based hiring

--

Skills-based hiring represents a pivotal shift from traditional emphasis on formal education and work experience towards evaluating candidates primarily based on their abilities and competencies relevant to the job.

This transition is fuelled by a growing recognition of the limitations associated with degree-based hiring, including its exclusionary impact on talented individuals who may lack formal qualifications but possess the requisite skills and potential for high performance.

This approach is becoming increasingly popular because it enables organisations to tap into a broader talent pool and more effectively match the evolving demands of today’s economy by assessing how well a candidate’s abilities meet the job requirements.

Consequently, it positively impacts several key HR performance indicators, including the increase in the number of qualified candidates, the enhancement of candidate quality, and the reduction in time needed to fill positions.

Challenges of Skills-Based Hiring

Let’s take a closer look at the use cases in the recruitment funnel.

Of course, there are more use cases. But let’s start with these first.

The use of AI during resume screening

At the stage of resume screening, the hiring process faces the challenge of sieving through large numbers of resumes to identify candidates with the right skills and experience for the job.

At the same time, making sure that qualified candidates with the needed skills and experience aren’t left out of the selection process just because they lack certain certifications or formal qualifications.

“Look, lacking a degree shouldn’t be a barrier to someone from securing a job if the role doesn’t require it.”

AI can assist by identifying Technical Skill Competencies, Critical Core Skills and Proficiencies (as outlined in the SSG Skills Frameworks) from resumes and comparing it with the job requisites to find a match.

https://www.skillsfuture.gov.sg/skills-framework

This process broadens the range of candidates fit for the job— including those from non-conventional sources as well.

The use of AI during application evaluation

The next stage is then on evaluating applications.

The hiring process often faces 2 challenges — validating the candidate’s claimed skills and experience written in CVs versus their actual.

This is where AI can help in bridging the gap by implementing a skills-based assessment.

This part of the process evaluates the candidate’s actual skills in comparison to what is required for the job.

It improves the quality of candidates going to the next round and reduces the gap between what candidates can do and what the job asks for.

Steps to Implement Skills-First Hiring

Using AI for a skills-first hiring strategy involves a structured multi-step strategy aimed at identifying the most qualified candidates for a job both fairly and effectively:

1. Identification

Start by identifying skills and competencies necessary for the role which must be clearly defined in terms that are measurable.

This includes distinguishing between hard skills, such as technical abilities, and soft skills, like teamwork and communication.

Organisations can systematically evaluate how well a candidate’s skills match or differ from the requirements of different jobs and roles by leveraging a comprehensive skills framework such as SSG’s Skills Frameworks.

A key advantage of a standardised skills taxonomy is that it creates a unified language for describing skills and competencies across different industries and positions.

This clarity reduces ambiguity and helps both employers and jobseekers to have a mutual understanding of what a job entails.

“Why is a unified skills taxonomy important for skills-based hiring?”
“A common skills language matters in skills-based hiring because it facilitates the creation of a talent marketplace.

Without such a common language or taxonomy, creating a central hub that enhances visibility for both people and organisations becomes nearly impossible.

This visibility supports processes like skills-based hiring, differentiated development, lateral movement, and advancement into higher-level roles.

The absence of this common language impedes the ability to fully leverage and maximise talents.”

2. Development

Develop tailored skills assessments for diverse job roles by using insights from Skills Framework with the capabilities of AI and Machine Learning.

Based on the specific skills recognised, assessments can range from technical and practical assignments to behavioural evaluations.

3. Testing

Before full implementation, assessments should be pilot tested with a representative sample of candidates or employees.

The insights and performance metrics gathered from these preliminary tests will be used to adjust and improve both the assessments and the underlying models.

4. Evaluation

Candidates undergo timed assessments across three categories:

  1. Matched skills shared by both the job and the applicant,
  2. Latent relevant skills the applicant may hold that are necessary for the job yet not mentioned in their resumes,
  3. Skills the candidate has self-identified

This comprehensive testing guarantees a detailed analysis of each applicant’s capabilities and the responses from these assessments are evaluated using AI algorithms to streamline the initial stages of the hiring process; more specifically, the “Application” and “Evaluating” stages.

This triaging process effectively identifies suitable candidates for advancement to subsequent recruitment stages.

5. Validation

Validation plays a key role for achieving the desired outcomes.

This involves conducting studies to demonstrate that the assessment predicts job performance (criterion validity), measures the skill it purports to measure (content validity), and is constructed in a way that accurately assesses the skill (construct validity).

→ See The 4 Types of Validity in Research

Skills Based Hiring Workflow

Evaluating Resumes and Job Descriptions

The job matching process leverages the capabilities of Large Language Models (LLMs) and Knowledge Graphs to fundamentally transform how job descriptions and CVs are analysed.

A knowledge graph representation showing the relationships between Technical Skill Competencies, Core Critical Skills, and Proficiency according to SSG Skills Frameworks.

Why Knowledge Graphs?
A comparison between Conventional RAG and Graph RAG.

This approach is characterised by several key aspects:

1.Comprehensive Parsing: The initial phase starts with the parsing of job descriptions and resumes by using LLMs to break down and comprehend the text.

2.Contextual Understanding: The system improves its grasp of text using the nuanced interpretation capabilities of LLMs. It doesn’t just look for keywords but considers how qualifications, experiences, and skills relate to the context.

3.Identification and Categorisation: Insights from the analysis helps the system to accurately identify and categorise key details from resumes and job descriptions based on SSG’s Skills Frameworks. This enhances the quality of matches between candidates and job openings.

Calculating the Job Match Score

Central to the system is the computation of a job match score, a numerical representation that quantifies how well a candidate’s qualifications align with the job’s needs.

def calculate_job_match_percentage(    
JD_ACADEMICS,
JD_APPS,
JD_CERTIFICATIONS,
JD_SKILLS,
CANDIDATE_ACADEMICS,
CANDIDATE_APPS,
CANDIDATE_CERTIFICATIONS,
CANDIDATE_SKILLS
):
"""
Calculates the job match percentage between job description and candidate qualifications.
"""
# Compute similarity scores for each category
similarity_scores = {
'academics': calculate_average_similarity(JD_ACADEMICS, CANDIDATE_ACADEMICS),
'apps': calculate_average_similarity(JD_APPS, CANDIDATE_APPS),
'certifications': calculate_average_similarity(JD_CERTIFICATIONS, CANDIDATE_CERTIFICATIONS),
'skills': calculate_average_similarity(JD_SKILLS, CANDIDATE_SKILLS)
}

# Check if any MATCHED category is empty and adjust weighted scores accordingly
matched_categories = {
'academics': MATCHED_ACADEMICS,
'apps': MATCHED_APPS,
'certifications': MATCHED_CERTIFICATIONS,
'skills': MATCHED_SKILLS,
}

weighted_scores = {}
for category in similarity_scores:
if not matched_categories[category]:
weighted_scores[category] = 0
else:
weighted_scores[category] = similarity_scores[category] * WEIGHTAGES[category]

total_weighted_score = sum(weighted_scores.values())
total_max_weighted_score = sum(TOTAL_MAX_SCORES[cat] * WEIGHTAGES[cat] for cat in TOTAL_MAX_SCORES)

The algorithm adopts a systematic approach to gauge a job applicant’s fit for a role by focusing on four key areas: educational background, proficiency with software/tools, certifications and job-specific skills.

1.Initial Evaluation
The process begins by comparing the candidate’s skills to the job’s requirements across different categories. Each category receives a score based on how well the skills match the job’s criteria.

2.Score Refinement
Next, the algorithm adjusts these scores based on the presence or absence of matches within each category. Categories without matches get a score of zero, showing they don’t align, while categories with matches have their scores adjusted based on their weightage.

3.Final Aggregation
In the final step, these adjusted scores are added together to create a total suitability score. This score, measured against the highest possible score, indicates the overall quantifiable fit of the candidate for the position.

Demo

We will be working with two distinct personas for our use case.

  1. John Doe — A Full Stack Software Engineer with a 9 years of experience.
  2. Jane Doe — A healthcare assistance with over 3 years of experience in providing care and support to individuals with special needs.

Example 1 (John Doe)

For our first example, we analysed John Doe’s CV and the job description for a Senior Software Engineer position at A*STAR.

LLM RAG Skills Extraction
JD_ACADEMICS = ["Bachelor's Degree or equivalent"]
JD_APPS = ["React", "Angular", "Flutter", "Firebase", "Node.js", "Express", "Python", ".NET", "MongoDB", "Redis", "Firestore", "MySQL", "AWS", "GCP", "Azure", "FHIR", "EHR systems"]
JD_CERTIFICATIONS = ["AWS Certified Solutions Architect", "Microsoft Certified: Azure Fundamentals", "Google Cloud Certified - Associate Cloud Engineer", "Certified Information Systems Security Professional (CISSP)"]
JD_SKILLS = ["Develop applications based on the design specifications", "coding", "testing", "debugging", "documenting", "reviewing and/or refining it across the application development stages", "Plan the application development process", "program complex applications", "applying suitable debugging techniques to resolve complex errors", "Determine the server, scripting and mark-up languages required to develop applications", "Adopt technology and innovative practices to drive quality and productivity", "Lead integration of informatics and medical scientific technologies to improve productivity", "Manpower optimisation through adoption of new technologies", "Software tests and process for executing unit testing"]

CANDIDATE_ACADEMICS = ["Bachelor's Degree or equivalent"]
CANDIDATE_APPS = ["Python", "ReactJS", "AWS", "Django", "Flask", "EC2", "S3", "RDS", "Lambda", "DynamoDB", "Jenkins", "AWS CodePipeline", "Docker", "Git", "MySQL", "PostgreSQL", "MongoDB"]
CANDIDATE_CERTIFICATIONS = ["AWS Certified Solutions Architect – Associate", "AWS Certified Developer – Associate"]
CANDIDATE_SKILLS = ["Manage cloud computing technologies", "Formulate cloud-based strategies to enhance WSH effectiveness", "Drive refinement of cloud computing applications", "Formulate processes for measuring operational and financial performance", "Formulate business continuity plans and disaster recovery plans"]

MATCHED_ACADEMICS: ["Bachelor's Degree or equivalent"]
UNMATCHED_ACADEMICS: []
MATCHED_APPS: ['Python', 'ReactJS', 'AWS', 'Django', 'Flask', 'EC2', 'S3', 'RDS', 'Lambda', 'DynamoDB', 'AWS CodePipeline', 'MySQL', 'PostgreSQL', 'MongoDB']
UNMATCHED_APPS: ['Jenkins', 'Docker', 'Git']
MATCHED_CERTIFICATIONS: ['AWS Certified Solutions Architect – Associate', 'AWS Certified Developer – Associate']
UNMATCHED_CERTIFICATIONS: []
MATCHED_SKILLS: ['Drive refinement of cloud computing applications']
UNMATCHED_SKILLS: ['Manage cloud computing technologies', 'Formulate cloud-based strategies to enhance WSH effectiveness', 'Formulate processes for measuring operational and financial performance', 'Formulate business continuity plans and disaster recovery plans']

weighted_scores = {
"academics": 0.05000000596046448,
"apps": 0.45046985429875996,
"certifications": 0.3148096762597561,
"skills": 0.24882049219948904
}
Job Match Score: 90.56%

Matching Insights:

  • Academic Qualifications: Both the job and the candidate require a Bachelor’s degree, making a perfect match. But since we’re focusing more on skills than degrees, this match counts less towards the overall score.
  • Apps/Tools Proficiency: The candidate showed strong alignment with the job’s requirements in software tools and platforms, matching on nearly all applications listed in the job description except for Jenkins, Docker, and Git, which were unmatched.
  • Certifications: The candidate’s AWS certifications were directly aligned with the job’s needs.
  • Skills Assessment: While the skills match was narrower, the candidate demonstrated key abilities in cloud computing refinement that align with the job’s expectations.

Job Match Score:

Considering everything, the candidate scored a 90.56% match for the job, showing a high level of suitability.

Example 2 (Jane Doe)

Quantifying work based on knowledge is straightforward, but what about work that isn’t knowledge-based?

For our next example, we will be analysing Jane Doe’s CV and the job description for a Healthcare Assistant.

JD_ACADEMICS = ["GCE 'O' Level", "WSQ Certificate in Healthcare Support (Nursing Care)", "Diploma qualifications (e.g. NIE, SIM, LaSalle-SIA, NAFA)"]
JD_APPS = []
JD_CERTIFICATIONS = ["BCLS", "CPR", "First Aid"]
JD_SKILLS = ["Provide care, assistance and training in Activities of Daily Living (ADLs)", "Supervise Care staff in providing care and assistance in Activities of Daily Living (ADLs) according to individual care plans", "Communication techniques in explaining the role and providing feedback", "Training styles and methods relating to care assistance", "Assist with clinical duties or perform simple clinical procedures during consultation as instructed by registered practitioners and according to organisational guidelines and procedures", "Prepare work environment, equipment, personal protective equipment and resources for patient care procedures", "Carry out hand washing in accordance to established organisational hygiene and infection control procedures"]

CANDIDATE_ACADEMICS = ["Diploma in Nursing"]
CANDIDATE_APPS = []
CANDIDATE_CERTIFICATIONS = []
CANDIDATE_SKILLS = ["Provide care, assistance and training in Activities of Daily Living (ADLs)", "Supervise Care staff in providing care and assistance in Activities of Daily Living (ADLs) according to individual care plans", "Training styles and methods relating to care assistance", "Requirements of the roles of subordinate staff", "Communication techniques in explaining the role and providing feedback", "Understand the sources of training required for care staff to enhance staff's capabilities"]

MATCHED_ACADEMICS: ['Diploma in Nursing']
UNMATCHED_ACADEMICS: []
MATCHED_APPS: []
UNMATCHED_APPS: []
MATCHED_CERTIFICATIONS: []
UNMATCHED_CERTIFICATIONS: []
MATCHED_SKILLS: ['Provide care, assistance and training in Activities of Daily Living (ADLs)', 'Supervise Care staff in providing care and assistance in Activities of Daily Living (ADLs) according to individual care plans', 'Training styles and methods relating to care assistance', 'Requirements of the roles of subordinate staff', 'Communication techniques in explaining the role and providing feedback', "Understand the sources of training required for care staff to enhance staff's capabilities"]
UNMATCHED_SKILLS: []

weighted_scores = {
"academics": 0.020312641561031342,
"apps": 0,
"certifications": 0,
"skills": 0.7617900499275753
}
Job Match Score: 66.56%

Matching Insights:

  • Academic Qualifications: The candidate holds a Diploma in Nursing, perfectly aligning with the job requirement.
  • Apps/Tools Proficiency: Both the job description and the candidate did not mention any specific applications or tools, resulting in a match score of 0%.
  • Certifications: Neither the job description nor the candidate mentioned any certifications relevant to the position.
  • Skills Assessment: The candidate displayed proficiency in various skills related to providing care and assistance in Activities of Daily Living (ADLs), supervising care staff, and understanding training needs. These skills closely matched the job requirements.

Job Match Score:

Taking into account the weightage of each category, the overall job match score was determined to be 66.56%.

Example 3 (John Doe)

So far, we’ve seen examples of candidates who matches the job requirements.

In this final example, we will explore a candidate’s suitability for a role that does not align with their experience.

At first glance, the candidate John Doe appears to be a good fit for the position of a Software Development Manager.

However, upon closer examination, this doesn’t appear to be the case.

JD_ACADEMICS = ["Bachelor's Degree or equivalent"]
JD_APPS = ["AWS", "Golang", "C#", "Python", "Java", "Splunk", "New Relic", "Datadog"]
JD_CERTIFICATIONS = []
JD_SKILLS = ["Agile Software Development", "Continuous Integration and Continuous Deployment", "Software Configuration"]

CANDIDATE_ACADEMICS = ["Bachelor's Degree or equivalent"]
CANDIDATE_APPS = ["Python", "ReactJS", "AWS", "Django", "Flask", "EC2", "S3", "RDS", "Lambda", "DynamoDB", "Jenkins", "AWS CodePipeline", "Docker", "Git", "MySQL", "PostgreSQL", "MongoDB"]
CANDIDATE_CERTIFICATIONS = ["AWS Certified Solutions Architect – Associate", "AWS Certified Developer – Associate"]
CANDIDATE_SKILLS = ["Manage cloud computing technologies", "Formulate cloud-based strategies to enhance WSH effectiveness", "Drive refinement of cloud computing applications", "Formulate processes for measuring operational and financial performance", "Formulate business continuity plans and disaster recovery plans"]

MATCHED_ACADEMICS: ["Bachelor's Degree or equivalent"]
UNMATCHED_ACADEMICS: []
MATCHED_APPS: ['Python', 'AWS', 'Django', 'Flask', 'EC2', 'S3', 'RDS', 'Lambda', 'DynamoDB', 'AWS CodePipeline']
UNMATCHED_APPS: ['ReactJS', 'Jenkins', 'Docker', 'Git', 'MySQL', 'PostgreSQL', 'MongoDB']
MATCHED_CERTIFICATIONS: []
UNMATCHED_CERTIFICATIONS: ['AWS Certified Solutions Architect – Associate', 'AWS Certified Developer – Associate']
MATCHED_SKILLS: []
UNMATCHED_SKILLS: ['Manage cloud computing technologies', 'Formulate cloud-based strategies to enhance WSH effectiveness', 'Drive refinement of cloud computing applications', 'Formulate processes for measuring operational and financial performance', 'Formulate business continuity plans and disaster recovery plans']

weighted_scores = {
"academics": 0.05000000596046448,
"apps": 0.4216730803251267,
"certifications": 0,
"skills": 0
}
Job Match Score: 40.14%

Matching Insights:

  • Academic Qualifications: The candidate holds a Bachelor’s Degree or equivalent, aligning with the job requirements.
  • Apps/Tools Proficiency: While the candidate demonstrated proficiency in some tools such as Python and AWS, there was a mismatch with several other key tools specified in the job description, including Golang, C#, Java, Splunk, New Relic, and Datadog.
  • Certifications: The candidate possessed certifications; however, they were not the ones explicitly mentioned in the job description, resulting in a mismatch in this category.
  • Skills Assessment: The candidate exhibited skills related to cloud computing and strategic planning. These skills did not entirely align with the specific skills outlined in the job description, leading to a mismatch.

Job Match Score:

After considering the weightage assigned to each category, the overall job match score was calculated to be 40.14%.

This score indicates a moderate alignment between the candidate’s profile and the job requirements which suggests potential areas for improvement or further evaluation.

Question and Answer Generation

Congratulations! John Doe and Jane Doe have achieved the necessary job match score to advance.

At this stage, the system crafts a tailored set of questions and answers for our candidates, assigning varying scores to each response.

This can be presented as a multiple-choice questionnaire on the job application platform.

Questions and Answers Generation for John Doe
Questions and Answers Generation for Jane Doe

This assessment aims to evaluate their understanding across a broad spectrum of skills.

It’s not that some answers are incorrect; rather, they’re evaluated differently based on how closely they match the ideal response.

Based on their cumulative scores, candidates will either move forward to the interview phase or be informed by the system that their skill set might not align with the role’s requirements.

In such cases, the system could offer recommendations, such as skill enhancement courses or suggest alternative job opportunities that match their profiles more closely.

Our brainstorming sessions. Got think through one ok!

Challenges with AI in Job Matching

  1. A major concern is the potential for LLMs to inadvertently propagate existing biases found in their training data, such as those related to gender, ethnicity, and age. These biases, if not identified and mitigated, could potentially lead to discriminatory outcomes in job recommendations.
  2. Keeping candidate data safe is key in AI-driven recruitment. Users should be aware of how their information is used and how decisions regarding job matches are made.
  3. It is difficult for AI to fully grasp the context and nuances in job descriptions and resumes. These documents often contain specialised jargon, acronyms, and phrases that can mean different things in different situations.

Value Proposition of Skills-Based Hiring

In value proposition design, the 4 Us framework helps in creating value propositions that are compelling, differentiated, and directly address their key challenges.

Here’s how the 4 Us apply for our skills-based hiring approach:

Unworkable

  • Traditional hiring often depends too much on qualifications and previous job roles which usually leads to talent shortages, poor job fit, and selection biases. These issues can harm organisations by causing lower productivity, less engaged employees, and higher turnover rates. Skills-based hiring, which concentrates on the actual skills and abilities needed for a job, offers a way to overcome these challenges.

Unavoidable

  • With the shift towards a knowledge-driven economy and rapid technological advances, organisations must adapt their talent recruitment strategies. Skills-based hiring allows companies to align candidates’ skills directly with job requirements, helping the workforce meet both present and future demands.

Urgent

  • Industries facing urgent skill shortages, such as the tech industry’s demand for software developers and data scientists, requires a hiring approach that can quickly identify candidates with the necessary skills. Skills-based hiring accelerates the recruitment process by helping companies rapidly deploy talent where it is most needed.

Underserved

  • Despite the plethora of recruitment tools, many organisations still struggle to find truly suitable candidates. Skills-based hiring provides a targeted approach by looking beyond conventional measures of a candidate’s fit, such as educational background. This approach opens up new sourcing channels and considers candidates with diverse profiles, thus filling a gap left by traditional recruitment methods.

Closing

Designing assessments that do not unfairly disadvantage any group requires careful consideration of assessment content and format to ensure accessibility and fairness.

It’s important to note that automation is intended to augment, not replace, human interaction within the recruitment process.

Despite the sophistication of AI and Machine Learning, they still cannot fully understand human behaviour, how well personalities match, and the subtle nuances of candidates beyond their resumes.

The goal is to leverage AI for its data processing capabilities, while empowering human recruiters to apply their unique skills in decision-making, empathy, and intuition in areas where they matter most.

This approach combines the best of technology and human insight for effective recruiting.

As Large Language Models continue to advance, this approach will also improve, making the hiring process fairer and efficient.

--

--

Terence Lucas Yap
Government Digital Services, Singapore

Sleeping comes so naturally to me, I could do it with my eyes closed.