Towards the end of 2020 we wrapped up the first version of our Engineering Progression Framework. Now we’ve been using it internally for a little while, we also wanted to share it more widely, to help others learn more about Engineering at Farewill.
Before we jump into the details, here’s a quick overview of what we mean when we talk about a “progression framework”.
Quite simply, it’s a set of shared expectations that we use to explain what we expect of engineers at different levels of seniority. Each level is described in the framework with a description, plus an illustration of the type of behaviours, impact, and skills we think are reflective of someone at that level.
However, importantly, it’s not an exhaustive checklist. We’ve intentionally focused on a core set of examples that we think can fairly apply to any engineer at Farewill, but they’re not intended as a finite list of everything a great developer could do or be. People will almost certainly be doing important things that aren’t in the framework. There are many ‘shapes’ of engineers, and we’ll aim to celebrate people’s different strengths whilst also aiming for fairness and clarity through our core expectations.
We’re planning to double our engineering team in 2021, and with that comes some challenges! We need to make sure that our offers to new hires make sense, and we also want to be transparent about what a long-lived career path may look like at Farewill.
Our goal is that having the framework will help people plan their career growth, will act as a communication aid between engineers and their managers, and will also help folks to give appropriate feedback during reviews. We’ll also use it more widely, to assess candidates’ seniority as part of our hiring process, and to make salary offers at fair levels - each of our levels on the framework is tied to a salary band.
Our process started by sharing examples of progression frameworks we used as inspiration, and sending out a survey to get a clear picture of what would be most useful to include. We also talked to a few other companies who’d created progression frameworks about their experiences or any pitfalls to avoid.
We then went through a process of deciding on what the categories should be, settling on:
After this we decided on the levels and did a number of rounds of iterations – moving items, adding examples, iterating on wording to make it consistent, and moving towards consensus on what appropriate levels of expectation are. We worked to a few principles:
Finally, we added some high level descriptions of what each level 'means'; what the expectations are, and how long you're likely to spend at each one.
We’re planning to keep making improvements as we change and grow as a business, but for now you can take a peek at what we’re using.
We’ve now moved on to focusing on an Engineering Management framework, and tying that in. Historically in the engineering space the only way for developers to progress was through stopping coding and moving into management. We believe these are fundamentally different sets of skills, and we want to make sure all our engineers have the opportunity to progress without changing career. That said, for many folks, moving into management and creating systems to help engineers do their best is where they find their future lies, so we’re planning to support a switch of framework once engineers reach a certain level. We’re also planning to support folks who want to “swing on the engineer/manager pendulum”, and switch back to engineering after a couple of years.
We’re hiring engineers (and later Engineering Managers again) throughout 2021, so if you’ve had a look at our progression framework and are interested in working at Farewill please get in touch with our hiring team ([email protected]). Alternatively, if you have any thoughts or questions on our framework please also let us know - we’d love to hear from you.
Our Engineering Progression Framework gives us shared expectations across Farewill around what we expect of software engineers at different levels.