At Compare the Market we have been very lucky to have incredibly talented people. With my obvious bias, none more so than reflected in our engineering department where our engineers have grown from a single team 15 years ago, to more than 250 engineers today.
In that time, we have surmounted many challenges; pushing the boundaries of our technical estate in moving from a monolith to a decoupled microservice architecture, to a selectable-service based offering and now evolving once again to move to a truly customer outcome focused way of working.
Our engineering career path, however, had not kept pace with the mammoth changes taking place in our people or our systems. It was time for a refresh.
As our organisation developed, our estate expanded, and our people grew in number and in expertise. We added more roles, ensuring that our people had the space to grow.
These roles were left to be shaped largely by the people who moved into them and there were problems with our role structures, which were not necessarily reflective of how the whole organisation was structured. Unsurprisingly this led to people with the same titles doing vastly different jobs where responsibilities were not clear.
In Compare the Market we have done an amazing job at creating very high functioning, highly effective teams who work incredibly well. We promoted focus and independence within the teams but, as we become more collaborative across our engineering community, our engineers are able to move around more. Having consistent roles became ever more important and having clear guidance on how our engineers level-up is critical.
This organic evolution of our progression paths threw up some challenges. Within the individual team unit, the most senior role, that of Technical Lead, was also responsible for much of the day-to-day management of the team. Not all our engineers had the inclination to take on management responsibility. Similarly, the progression from Tech Lead was a move to Application Architect which was an individual contributor role and many Technical Leads really enjoyed the joint responsibility of technical and team management and didn’t necessarily want to move back into an individual contributor role to progress.
Finally, our architecture function was a separate entity to our engineering department which can sometimes create an artificial divide. The introduction of the Application Architect role a few years ago was the first step in bringing architecture closer to the engineers and we wanted to continue down the path of aligning these two functions.
When we set out to develop a progression path that worked for us, there were a few things that we made sure to keep front and centre of our thinking.
The ability for engineers to choose whether they wanted to take an individual contributor or management track was paramount — but we needed to ensure that we didn’t lock them into any one path and that engineers could make the next step that best suited them and their aspirations. We wanted to allow people the flexibility to move along and between different paths in the ladder.
We needed to ensure that there were clear guidelines and an unbiased framework in place around each role. This was to aid with progression, performance reviews and to ensure consistency in that role across all our teams.
We also wanted to reframe our most senior technical roles and ensure that they were not seen as a separate ‘architecture’ department but were part of our engineering community. These highly aligned engineering multipliers now work in constant collaboration with our teams, guiding and leading them through technical challenges and step changes. We wanted our titles to reflect that relationship.
We created a dual track system for engineering — Individual Contributor (IC) and Engineering Management (EM).
The individual contributor track in Compare the Market is divided into two distinct parts. Firstly, we have the execution roles, that of Junior Engineer, Engineer and Senior Engineer. These roles are responsible for the development of software within the scope of a ticket, product, or team. Secondly, the Staff and Principal Engineers are our scale roles, who use their experience and skill to scale our community of engineers, typically within the scope of a team, a set of related teams or the whole engineering department.
The engineering management track perfectly combines people management with technical expertise. Our Engineering Managers are technical leaders who guide decisions on technical approach as well as mentor the professional development of their direct reports. As these leaders move up through the management track, they increase their scope and impact, making decisions that affect the whole engineering department and leading all of us from the front.
The move to engineering management may require the learning of a whole set of new skills and competencies: how to effectively coach, mentor and lead people is no small feat. Similarly, the move to Staff Engineer is a large step requiring increasingly complex competencies. There needs to be a deep understanding of architecture and design across the breath of the organisation, coupled with collaboration and cross-organisational expertise. We therefore allowed for the expansion of the responsibility of the Senior Engineer to ensure that their work is interesting and that they are continually challenged as we don’t expect every Senior Engineer to want to be a Staff Engineer or an Engineering Manager. However, it also allows our Senior Engineers to gain exposure to the skills and experience needed to take the next step should they wish to do so, whether on a management or IC track.
We also reframed our Application Architect and Solutions Architect roles to Staff and Principal Engineer respectively, bringing them into our engineering community. This reflected and formalised the close connection that had they already created with the engineering teams they work with.
We have many distinct types of engineers in Compare the Market; software engineers both front end and backend, data engineers, software engineers in test and cloud platform engineers who all work across disparate languages, platforms, and skillsets — but who all follow this similar progression path.
We are now live with these new paths and if this sounds like the type of place you’d like to take the next steps to grow your career — take a look at our current open roles
We are also working toward the creation of a capability framework which will provide detailed descriptions of the expectations of each role to provide an unbiased aid in progression planning, performance reviews, feedback and hiring.
We’re still working on embedding these new roles and pathways and I have no doubt that there will be lots to learn and adjust along the way but I’m confident that as a community, our engineers are, as they have always been, up for the challenge.