Refactoring Our Engineering Skills Matrix

Claire Tran
Expert360 Engineering
5 min readSep 30, 2019

--

At Expert360, we want to provide an environment for our Engineering team to thrive and grow. We wanted to provide a framework to support our team, where every Engineer has a clear path that they can understand. As the organisation grows, we also learn and re-evaluate ourselves, so it was time to refresh the Engineering career paths we had in place.

The skills matrix is a tool that aims to provide a clearly defined path for Engineers, set expectations, steer goal setting and professional development, as well as provide consistency across the whole team. This will become increasingly important as we grow and also provide a tool to communicate with future team members on what we value.

Competencies

The matrix we’ve put together consists of 5 main competencies:

  • Technical
  • Communication, Feedback, Collaboration & Community
  • Leadership
  • Delivery & Effectiveness
  • Strategy

Each competency has sub-competencies and sub-skills within each area. For example under Technical competency, the sub-competency of Quality we have categorised — Code Review, User Centric, Testing and Best Practice as sub-skills.

Usage

The competency matrix is available here: http://eng-skills-matrix.expert360.com/

This should serve as a guideline for professional development discussions, with each individual and their manager. The other important thing to note is that a good Engineer is not limited to writing good code, so we wanted to make that clear in the matrix.

Levels and Roles

We have defined 6 levels for the time being, which link to Role Expectations (example: https://tinyurl.com/e360-engineer-i, this is only available internally), skills required and example tasks and behaviours.

Within each role, we understand it can be quite overwhelming viewing competencies and sub-skills all at once. For usability, we let our Engineers select a competency to focus on and allow them to compare the definitions with other levels.

Examples were added as a mechanism to understand what type of tasks and behaviours were being exhibited by a particular level. For instance, an E1 Engineer may master creating discrete React components and simple layout, while an E2 Engineer masters creating the whole experiences containing multiple layouts and components.

Roadmaps

We are also aware that each Engineer can specialise in a different path to others, so we provide a roadmap on the specific knowledge required in their chosen specialisation. For example, the skills required for someone who wanted to specialise in Frontend would be different from Backend skills (with some overlaps, but quite different).

The roadmaps defined so far cover

The roadmap for each specialisation are complementary to the Craft sub-competency, and provides a journey for each Engineer who joins us. The technical knowledge has been tailored for the technology and tools we use and provides a guide on the deepening of technical expertise.

How We Created This

The competencies were first collected amongst Tech and Product leadership and encouraged to be broad and high-level as well as deep and low-level to capture what we felt were important for the team.

Step 1: Collect Competencies

After the first exercise, we initially had a total of 57 skills and competencies.

Step 2: Group Competencies

From here, 5 groups emerged and 19 sub-skills were identified and grouped.

Here is an example of one the Technical competency with sub-competencies and sub-skills.

Step 3: Definitions

Once we had worked through the competency groupings, we needed to start defining each skill.

Here is a screenshot of what this looks like

The spreadsheet exists here https://tinyurl.com/e360-competencies and is available for the team to reference, as well as a source of refinement (more about refinement later).

Thanks to those who provided input and feedback into wording, it was a massive task!

Step 4: Artefact

From this point, there were a few ways we could present this to the team.

Some Engineers liked having a detailed spreadsheet where they could scan and compare a skill between levels. Others felt overwhelmed by a spreadsheet and wanted a tool where they could easily digest information.

There were a few resources available in the wild which I drew inspiration from (linked at the bottom).

Here was a draft of a first cut of the matrix

We also user tested this with a different people, that included Engineers and Leads from different levels. The focus group provided input and road-tested using the matrix on themselves as well as suggest improvements. Thank you team!

Roadmaps were created using Sketch, where we refined the core technical knowledge for each journey.

Step 5: Code and Ship

After collecting feedback and road-testing, the last step was to ship it!

Step 6: What’s Next

We understand that some people will aspire to progress on a technical track in their career (for example Lead Architect) and these skills will be added to the matrix very soon.

We will be refining how we track and measure progress. We have a couple of mechanisms which we can do this. As an organisation we have a template for goal setting and within Engineering we try to be flexible for different people.

While road testing this with members in the team, some methods emerged, which included — Trello boards, spreadsheets and re-using the Engineering professional development template we have.

Professional Development Template

We’re still learning which method will be best to track, what we do know is that we will use the skills matrix on identifying and prioritising skills to develop.

Lastly, we aim to reflect on feedback periodically (via a form every 6 months) with two main aims — stability and refinement. We would like to provide some stability and consistency, and as we learn more, we will revisit and adapt the matrix.

Thanks to all who were involved in the process!

Resources

--

--

Engineering Leader | Writer | Speaker | Traveller. Passionate about growing opportunities for people in Tech.