In 2018, Nebulab doubled in size, growing from 10 to 20 engineers. This created a unique set of challenges around our hiring and team retention processes:
- We wanted to have a clear career path for every team member, to help them understand what skills they needed to develop in order to improve their craft. This would make it easier for mentors to design a growth path for their mentees that is aligned with Nebulab's culture.
- We wanted to have a standardized framework for salaries, to limit the room for negotiation and eliminate unconscious bias during the hiring process.
- We wanted to create a promotion process that would involve more than a single manager's opinion.
- We wanted to have a practical way to promote Nebulab's values and culture and reward their application in the team's day-to-day work.
We found that the best tool to accomplish this is a competency matrix, a spreadsheet that maps each role and seniority level in the company to a set of required traits and attitudes.
After looking at a few examples, we designed our own matrix, which you can find here: Nebulab Competency Matrix.
Today, the matrix permeates all aspects of Nebulab, and we use it as a tool to promote our culture and measure a team member's impact. The matrix will be used by your mentor continuously to help you grow and evaluate you, so it's paramount you understand how it works!
How the matrix is structured
The competency matrix is organized by disciplines. Currently, we have the following disciplines, but more may be added in the future:
- Software Engineer: this is our bread and butter. The majority of our team members are hands-on software engineers, tasked with solving a client's problems through the code they write.
- Product Designer: product designers deal with all UX and creative work at Nebulab, both for clients and internal projects such as the Nebulab brand, our website and so on.
- Team Lead: a team lead is a contributor who has chosen to take a managerial path. They communicate with clients to understand their priorities and coordinate their team accordingly.
- Operations: these are the people who keep things running smoothly and handle all the bureaucracy and processes for us. They're like office managers on steroids!
- Director: directors set Nebulab's high-level goals and strategy, define company policies and find new business opportunities. They also mentor all other team members.
Each discipline is split by levels and areas, with each area having many skills. Areas are currently the same for all disciplines:
- Work: technical skills that are required for the employee to work in that discipline.
- Drive: skills that relate to the employee’s ambition and desire for growth.
- Fit: skills that relate to the employee’s relationship with Nebulab and their teammates.
Levels are comparable across disciplines. In other words, an L3 Software Engineer and an L3 Product Designer have comparable responsibilities and impact in the company.
Each level provides a description of the abilities and traits exhibited by an employee at that level, as well as practical examples to help managers in the evaluation process.
Furthermore, each level comprises previous levels, so an employee at level 3 also possesses all the requirements of levels 1 and 2.
Using the matrix to grow
As we mentioned, the matrix will be used by your mentor to monitor your progress and figure out what areas you need to work on to increase your impact at Nebulab. Your mentor will commit to evaluating you at least once a year with the help of your team lead, but you may ask for a re-evaluation at any time (within reason) if you feel like you've been making progress in one or more skills.
Each evaluation will be shared and discussed with you, so that you can share your feedback on the evaluation and your mentor can provide advice on how to best grow in a particular skill. It is your mentor's job to provide you with the tools and opportunities to continuously improve yourself, so don't be afraid to ask, if you think they can help you in any way!
Our promotions are descriptive, not prescriptive: in order to be promoted, you need to consistently exhibit all skills and traits from the higher level for a significant period of time. This is to prevent people from rising to the level of their incompetence.
When your mentor evaluates you and realizes you're now at the next level, they will begin the promotion process. They will assemble a promotion package comprised of your latest matrix evaluation and a comment explaining why they think you should be promoted.
This promotion package will then be submitted to the directors group, who will vote on the promotion by majority. The group's decision is final, although your mentor can present a new promotion package for evaluation if they think some information was missed in the initial discussion.
Certain disciplines provide you with the ability to switch roles. For instance, if you are an L3 Software Engineer, you may decide to take the managerial path and become an L3 Team Lead. It is important to note that this is not a promotion, but a step sideways.
If you're interested in switching disciplines, you can do it by talking to your mentor, who will evaluate you and decide if you're already a good fit for the new discipline or if you need to align with the new requirements first.
Once you're ready to take on your new role, you will officially be switched over. Your compensation and any other aspects related to your discipline will be adjusted accordingly.
The matrix and compensation
Your discipline/level and your compensation are different but related concepts. Each discipline and level are assigned a compensation package, and these packages are then reused across different disciplines. This is very powerful in reducing bias when discussing salary and promotions.
We don't feel ready to share our compensation packages publicly yet, although they are readily available for employees to consult, so it's easy to understand how their discipline and level compare to others and where they fit in the company.