How to Assess Programmers’ Skills Before Hiring Them, and What Is the SFIA Framework?

Assessing programmers’ skills before hiring is one of the biggest challenges facing HR departments and technical teams, because relying on the résumé or theoretical interviews alone does not reflect real coding competence or problem-solving style.

كيفية تقيم مهارات المبرمجين قبل توظيفهم؟ وما إطار SFIA

Hiring the right programmer is one of the hardest tasks for HR and technical teams. A résumé lists many languages and frameworks, but it does not reveal the candidate’s real level in writing clean code, solving a complex problem, or working with a team. And the cost of a wrong hiring decision in this field is large, from delayed projects to code that is hard to maintain. In this article, we explain how to assess programmers’ skills before hiring them in an organized way, what the SFIA framework is, which many organizations use to describe digital skills and levels of responsibility, and how to use it to build a fair, comparable assessment path.

Why Is It Hard to Assess Programmers’ Skills?

The Résumé Is Not Enough

A list of languages and tools on a résumé does not show the depth of skill. A candidate may write the name of a framework because they used it once in a training project, while another mastered it over years and did not list it in detail.

Diversity of Specializations

The word “programmer” covers people working on front ends, servers, databases, mobile apps, and cybersecurity, each with different skills. One test for everyone does not fit.

The Speed of Technological Change

Tools change quickly, so judging knowledge of a specific tool is shortsighted; what matters more is measuring the ability to learn and adapt.

What Should You Measure in a Programmer?

Core Technical Skills

• Mastery of one or more programming languages required for the job.

• Understanding of data structures and algorithms.

• Working with databases and APIs.

• Using version control tools such as Git.

Problem-Solving and Analytical Thinking

• Breaking a problem down into small steps.

• Choosing a suitable solution from among several.

• Diagnosing errors in a methodical way.

Code Quality and Engineering Practices

• Writing clear code that is easy to read and maintain.

• Writing tests for the code.

• Handling edge cases and errors.

• Taking security and performance into account.

Design and Software Architecture

More experienced programmers are expected to design scalable systems, weigh architectural options, and explain their decisions.

Communication and Teamwork

• Explaining technical decisions to a non-specialist.

• Accepting code review and feedback.

• Collaborating with analysts, designers, and quality specialists.

Learning and Adaptability

Ask about a technology the candidate learned recently, how they learned it, and what they built with it.

What Is the SFIA Framework?

Definition of the Framework

SFIA stands for Skills Framework for the Information Age. It is a global, vendor-neutral framework that describes professional skills in technology and software engineering and the levels of responsibility each professional exercises. It has been used worldwide for many years, by government and professional bodies and by large and small companies.

Its most important characteristics:

• It does not set fixed job titles: It describes skills and levels of responsibility, not the job title.

• It is neutral: It is not tied to a vendor, language, or tool.

• It has a two-dimensional structure: Professional skills on one axis, and the seven levels of responsibility on another.

• It is updated periodically: The current version is SFIA 9, and earlier versions remain available for reference.

The Seven Levels of Responsibility

• Level 1 (Follow): Works under close supervision and carries out defined routine tasks.

• Level 2 (Assist): Works with routine guidance and acts with limited independence on varied tasks.

• Level 3 (Apply): Works under general direction, uses judgment on relatively complex problems, and deals with customers at the working level.

• Level 4 (Enable): Works with considerable independence and handles complex and varied tasks, influencing the success of projects and teams.

• Level 5 (Ensure and advise): The level of independent expertise that gives advice and takes on added responsibility for results.

• Level 6 (Initiate and influence): Takes initiative and influences at the organizational level.

• Level 7 (Set strategy, inspire and mobilise): Sets strategy and leads the organization toward change.

The Five Attributes That Define Each Level

SFIA describes each level through five attributes:

• Autonomy: How much supervision is needed and how independent the decision-making is.

• Influence: The scope of the person’s influence on others and on decisions.

• Complexity: How complex the tasks they handle are.

• Knowledge: The depth of knowledge and the ability to apply it in new situations.

• Business skills: Communication, planning, collaboration, and adherence to standards.

Professional Skills in SFIA

The framework classifies skills into categories and subcategories, such as software development, design, testing, security, data analysis, and operations. Each skill has a general description and a description for each level that applies to it. Not every skill has every level; it appears at the levels where it actually exists in work.

How Do You Use SFIA to Assess Programmers?

Step One: Define the skills the job requires

Choose from the framework the skills that suit the job, such as software development, testing, and design, and do not put together a long list of skills.

Step Two: Define the required level

Add the required level, out of the seven levels, to each skill. A junior programmer may be at Level 2 or 3, a senior programmer at Level 4, and a technical lead at Level 5.

Step Three: Turn the descriptions into measurable indicators

The framework describes behavior in general terms, and your role is to translate it into indicators that can be observed in a test or interview:

• Level 3: Solves a non-routine programming problem methodically and knows when to escalate it.

• Level 4: Strikes a balance between performance and maintainability and takes part in decisions that affect the project.

• Level 5: Advises the team, ensures quality, and leads architecture decisions.

Step Four: Link each level to a measurement tool

• Lower levels are measured with a coding test and defined tasks.

• Middle levels are measured with a code review and a technical interview.

• Higher levels are measured with a system design interview, a behavioral interview, and leadership exercises.

Examples of Levels in Programming Jobs

• Junior programmer (Level 2 or 3): Carries out defined tasks with guidance, writes sound code for small components, and learns quickly.

• Proficient programmer (Level 4): Designs and implements whole features independently, reviews others’ code, and takes part in project decisions.

• Expert programmer or technical lead (Level 5): Leads architecture decisions, coaches others, and ensures delivery quality.

Ways to Assess Programmers’ Skills Before Hiring

Screening Résumés and the Candidate’s Past Work

Start by reading the résumé and reviewing the candidate’s published work, such as projects on GitHub or apps they have launched.

• Look for real projects, not only learning exercises.

• Look at code quality, commit history, and how it is documented.

• Make sure the candidate actually wrote the code, by asking them about its details later.

Online Coding Tests

They give you quick screening for large numbers and measure basics such as logic, algorithms, and problem-solving.

• Keep them short and tied to tasks close to the actual work.

• Avoid questions that measure memorization or puzzles far from the job.

• Use more than one type of question, such as writing code, multiple choice, and bug analysis.

The Take-Home Task

The candidate is asked to complete a small task within a set time, then you discuss the solution with them in a later interview.

• Keep the task short, between two and four hours, so it does not exhaust the candidate.

• Ask them to explain their decisions and alternatives when discussing the solution.

• Make sure it is their own solution with follow-up questions about the implementation details.

The Technical Interview

A structured interview with standardized questions in which an experienced programmer evaluates the candidate’s knowledge and way of thinking.

• Ask questions drawn from realistic situations in the job.

• Ask the candidate to explain their way of thinking, not only the answer.

• Use a written rating scale for each question.

Live Coding or Pair Programming

The candidate works with an assessor on a small task at the same time, so you see how they think, communicate, and handle mistakes.

• Make the working environment as familiar to the candidate as possible.

• Focus on the way of solving and on communication, not on typing speed.

• Offer hints when they get stuck and watch how they respond to them.

Code Review

Show the candidate a piece of code with errors or weaknesses and ask them to review it.

• This method reveals depth of understanding and practical experience.

• It measures the ability to give feedback in a constructive way.

• It suits middle and senior levels in particular.

The Design and Architecture Interview

It suits senior levels, and in it the candidate designs a simple system and explains their decisions.

• Ask them to define the requirements and ask questions first.

• Evaluate their ability to weigh solutions against each other and explain the trade-offs.

• Watch how they handle performance, security, and scalability issues.

The Behavioral Interview

It measures collaboration, handling disagreements, and learning from mistakes, because a technically good programmer may fail in a team that does not communicate well. You can benefit here from the structured interview approach in building questions and scoring.

An Example of an Integrated Assessment Path for a Programmer Job

Stage One: Initial Screening

• Review of the résumé and the candidate’s work.

• A short online coding test that measures the basics.

Stage Two: Practical Assessment

• A short practical task or a live coding session.

• Review and discussion of the solution with an experienced programmer.

Stage Three: The In-Depth Interview

• A structured technical interview about experience and design.

• A behavioral interview about working in a team.

• For senior levels, a design and architecture interview.

Stage Four: The Decision

• Scores are gathered in one table by skill and the required SFIA level.

• Assessors discuss differences relying on the written notes.

• The candidate is given brief feedback after the decision.

A Suggested Rating Scale for Programmers

Each skill can be rated from one to five, with scores linked to SFIA levels:

• Score 1: Does not show the required skill or needs constant guidance.

• Score 2: Carries out simple tasks with guidance and completes the basic solution.

• Score 3: Carries out tasks independently and handles the usual cases.

• Score 4: Handles complex cases, weighs solutions, and explains the reasons.

• Score 5: Delivers outstanding solutions, anticipates problems, and benefits the team with their expertise.

Then compare the score with the job’s target level. If the job needs Level 4, a candidate who shows Level 3 skills is not enough unless the development plan is clear.

Common Mistakes When Assessing Programmers

• Focusing on a single language: Good skill transfers between languages, and what matters is understanding the fundamentals.

• Puzzle questions far from the work: They measure the ability to memorize tricks, not actual competence.

• Tests that are too long: They push good candidates to withdraw.

• Ignoring behavioral skills: Many project problems are caused by communication, not code.

• No written scale: It makes the decision rest on impression.

• Not defining the required level: It mixes up the requirements of a junior and an expert.

• Relying on a single assessor: It multiplies the effect of personal bias.

Fairness and Preventing Cheating in Coding Tests

With the spread of AI tools and the ease of collaborating remotely, test integrity should be considered:

• Ask the candidate to explain their solution and modify it in a live session.

• Design tasks tied to a context specific to your work that no ready-made tool answers.

• Explain to candidates what tools are allowed and what are prohibited.

• Set a reasonable task duration, because long tasks wrong those who do not have spare time.

• Provide fair accommodations for those who need extra time or a suitable method.

How Does the Al-Bayan Assessment Platform Help You?

The Al-Bayan Assessment platform helps you build an assessment path for programmers that combines ability tests, psychological tests, competencies, and job knowledge in reports that link results to the job’s requirements. If you want to define the skills and level required for each technical job and link them to suitable measurement tools, the assessment team can help you do that.

Frequently Asked Questions

What Is the SFIA Framework, Briefly?

A global, neutral framework that describes professional skills in technology and seven levels of responsibility, used to define job requirements, assess competencies, and plan career development.

Is it necessary to use SFIA when assessing programmers?

It is not required, but it provides a clear shared language that helps define the required level and compare candidates against a single standard instead of relying on titles such as “senior programmer.”

How many assessment stages does a programmer need?

Three stages are enough for most jobs: initial screening, a practical test, and an in-depth interview. Senior jobs need an additional stage for design and architecture.

Are online coding tests enough on their own?

No. They measure the basics and help with screening, but they do not reveal design quality or teamwork. It is better to combine them with a practical task and a structured interview.

How do I assess a programmer who does not have long experience?

Focus on the ability to learn, problem-solving, and basic code quality, use a short practical task and a situational interview, and compare them with Level 2 or 3 rather than the higher levels.

Summary

Assessing programmers’ skills needs an organized path that starts with defining the skills and required level, then choosing tools that suit each level, then scoring answers with a written scale and more than one assessor. The SFIA framework gives you a shared language to describe levels from junior to leader. If you want to build an assessment path for programmers in your organization, contact the Al-Bayan Assessment team and book a consultation that helps you get started.

About the author

Al-Bayan Team

The Al-Bayan team shares practical insights on skills assessment and talent development, drawn from experience with a wide range of organisations.