Be the first to know
Sign up for a weekly dose of tech hiring news and updates.
Codility is excited to unveil our Engineering Skills Model (ESM), a research-backed framework that helps engineering leaders understand the skills needed for modern software engineering jobs. Let’s dive in to see what the ESM is all about, why we made it, and how it can benefit your technical team.
Want to jump straight into the details? You can download the ESM Technical Report here.
What is the ESM?
The ESM serves as a foundation for scientifically assessing work-related skills in software engineering. Based on comprehensive research led by Codility’s industrial-organizational (I-O) psychologists, the ESM includes four skill categories:
- Intrapersonal skills related to managing oneself effectively in a professional setting
- Collaboration skills related to working as a member of an interdependent team
- Problem-solving skills related to identifying, analyzing, and resolving complex or challenging problems
- Technical skills related to performing specific technical tasks or jobs, such as proficiency in software development, programming languages, systems architecture, or cybersecurity
The ESM is a tool engineering leaders can use to ensure they have the right skills in the right roles at the right time. By focusing on skills requirements versus degrees or academic credentials, we also open the door for more diverse talent, contributions, and perspectives. This has the potential to accelerate innovation and promote diversity, equity, and inclusion in software engineering and related tech roles.
Why is the ESM Needed? And Why Now?
Let’s look at two important trends in the software industry to answer these questions: diversifying skill requirements and a rise in skills-based talent practices. The ESM is at the intersection of these trends, presenting organizations with a competitive advantage and promising direction for the future.
Skill Diversification
Since the origins of software engineering in the 1960s, aspiring software engineers have primarily been evaluated on their ability to write code in one or more specific programming languages and solve algorithmic problems. This practice started in an era when the software engineer’s role centered on crafting functional and efficient code.
However, today’s software engineers grapple with more complex job responsibilities, and the ability to write code is no longer the primary differentiator among top performers. This trend is accelerated by the availability of user-friendly, high-abstraction programming languages, including natural language, which can now be translated into reasonably functional code by generative AI and LLMs.
Consequently, skill requirements for software engineering roles have expanded beyond coding and problem-solving abilities. Modern software engineers must leverage a more diverse skillset to anticipate dynamic user needs and deliver adaptive solutions on demand. For example, today’s software engineers need to have at least some proficiency in skills like design thinking, engineering operations, and working with data.
In essence, we are witnessing a shift away from traditional T-shaped engineers, who have deep expertise in a single domain coupled with shallow knowledge in a broad range of domains, toward V- or even W-shaped engineers, who have deep expertise in one or two domains coupled with gradually broadening knowledge in adjacent areas.
Rise in Skill-Based Talent Practices
The trend toward skill diversification is accompanied by a broader industry trend toward skills-based talent management. This approach prioritizes the assessment of current skills over past experiences or credentials. Organizations embracing this approach are expected to make more accurate, fair, and ultimately more effective talent-related decisions.
By focusing on skills as the building blocks of what an engineer brings to the job, we have a more explicit way to determine fit with the unique requirements of a given job. Essentially, managing talent means closing the gap between the desired state (what skills are needed) and the actual state (what skills employees currently have) through training, hiring, or other forms of talent mobilization and optimization. Ultimately, this enables engineering leaders to better prepare for the future and navigate unanticipated changes as they arise.
Important to note is that there is often overlap between similar jobs’ requisite skills. We call these areas of overlap “skill adjacencies.” Skill adjacencies are the stepping stones that enable individuals to move from one role to another, whether laterally or vertically. Tracking consecutive skill adjacencies to form a chain between jobs illuminates a clearer path for reskilling or upskilling current talent to fill skill gaps in other critical roles.
For instance, a backend developer may be skilled in code construction, maintenance, and testing – all skills required for a DevOps role – but may lack skills in configuration management and system monitoring. Understanding both roles at a skill level helps the backend engineer identify which skills to develop to move into a DevOps role.
With this focus on skills in place, strategic skill acquisition becomes a tangible currency for professional growth and development. When these practices unfold in a broader skills-first ecosystem, this fosters strategic alignment between employee selection, training, promotion, compensation, and succession planning efforts.
In light of this, the ESM can serve as a backbone for technical organizations’ talent practices – from helping hiring managers know what to look for in potential talent to designing personalized training curricula to guiding decisions in workforce planning – skills are the connective thread that ties it all together. These macro industry trends (increasing skill diversification and the rise in skills-based talent practices) are currently converging within the software engineering domain, and organizations adept at harnessing them stand to gain a distinct competitive advantage.
Key Benefits of Codility’s ESM
The ESM is designed to be comprehensive in that it’s relevant across engineering roles, levels, functions, industries, and organizations, yet also simple to understand and use. Because of its configurable nature, you can use the ESM to provide a skill-based framework for nearly every technical role on your team. Doing so offers several competitive advantages:
- Enhances assessment signal quality: Understanding the specific skills required in a job and then assessing job candidates on those skills will lead to identifying the best candidates for the role.
- Facilitates personalized learning paths: Identifying skill-specific strengths and opportunities for growth will enable the development of highly personalized learning paths for employees.
- Promotes diversity and inclusion: The ESM doesn’t assume a particular background, training, or set of functional skills is needed for every technical role. The wheel-shaped model keeps skills free from hierarchy — which helps open your funnel to a wider candidate pool who are well-equipped to do the job.
- Future-proofs your engineering teams: The need to change your skills model every time there’s a new technology can be deflating. The ESM was designed for today’s and tomorrow’s tech roles, making it highly flexible over time, projects, functions, and organizations. Using the ESM to inform skills-based measurement facilitates individual-, team-, and organization-level views of current skills and capabilities, which, in turn, informs strategic workforce planning.
For the complete ESM, including definitions of each skill and associated subskills, download the full report.
The ESM and our renewed focus on skill-level assessment are now enabled in our products. Together, these elements drive better evaluations with better candidate experiences, leading to better outcomes for our customers.
Book a demo today to see how we’ve embedded skill-based features into our platform. Current customers can contact their Codility representative today to learn more.