Engineering growth: introduction
Helping engineers build a career at Medium
As we continue to learn, we are now on our third iteration of this process. Please see here for the latest update.
Until recently, the process around progression and promotion as a Medium engineer was relatively opaque. We did have the concept of levels, and senior leadership were reasonably well calibrated on what being at a certain level entailed. However, engineers did not know what their level was, or the kinds of work they specifically needed to do to progress in their career. Instead, we relied upon the trust relationship between an engineer and their group lead, and in senior engineering leadership to do “the right thing”.
Although we in the leadership team were thoughtful about these areas, and did our best to be fair, the lack of transparency was frustrating for some, and led others to express reasonable doubts about the process. This was at odds with one of our company values, Build Trust. To remedy this, in late August we rolled out our Growth Framework, a set of documents and tools that described what we value at Medium, how to progress, and how we measure and reward that progress.
In doing so, we attempted to build a thoughtful process that was equitable, incentivised the right kind of work, and which encouraged the growth of a robust, flexible, and inclusive team. Although development and delivery of the framework was led by Jamie Talbot and Madeline Bermes, it is the result of input and collaboration from the whole engineering team at Medium over many months.
Today, we are excited to make our Growth Framework public for everyone to see.
We’re releasing all this material under a Creative Commons Attribution-ShareAlike license. You are welcome to take this work, build on it, and make suggestions for improvements. Medium strongly believes that our industry would benefit greatly if we shared and built upon each other’s organisational processes the same way we share and build upon each other’s open source code.
In addition to this introductory piece, there are five living documents which describe the specifics of the framework, and three tools that we use to plan, assess, and memorialise growth. (Thanks to Alex Wolfe for art direction of the written documentation!) We will modify and improve all of these over time. As with our hiring documentation, these public documents and tools are the actual ones that we use at Medium. There are no separate internal versions of these guides.
Part 1: Framework overview
The framework overview describes the major characteristics of the framework, the problems we are trying to solve, and related areas like salary and titles.
Part 2: Tracks
Medium engineers add value to the engineering organisation in many ways, and we attempt to capture this by recognising progress in 16 areas. The tracks document explains the rationale for each track.
Part 3: Assessing progress
Assessing progress explains how we determine whether an engineer has reached a given milestone in a track, as well as the cadence at which we check in on progress and make formal assessments. It also discusses the tension between subjectivity, objectivity, and bias, and acknowledges the role that opportunity plays in advancement.
Part 4: Appeals process
Given that the framework is somewhat subjective, we accept that even reasonable people acting in good faith can make mistakes or fail to appropriately value work. The appeals process outlines the way in which engineers can challenge a decision they consider to be inaccurate.
Part 5: Frequently asked questions
Even with exhaustive documentation, people still have questions. Frequently asked questions attempts to answer them.
The rubric is the source of truth that defines the progression of engineers at Medium. It provides descriptions for each milestone along with example tasks and behaviours that, taken together, illustrate our expectations of engineers as they advance in their careers, without being overly prescriptive.
Snowflake is a simple web tool that we use to have growth conversations with engineers. It lets us show them how progress along certain tracks will affect their overall level, and helps them make decisions about how they want to grow. You can find and fork the code on GitHub. Props to Emma Zhou for building this in her spare time, while simultaneously delivering Claps, and Jonathan Fuchs for later iterations!
Tool: Medium Story template
We like telling stories at Medium, and we like to think of our engineers’ progress at Medium as a continuously unfolding story, which includes things like formal reviews and peer feedback. The Medium Story template is a Google Doc template that lets us celebrate and memorialise an engineer’s growth over time, and provides a historical record that we can use to frame growth conversations.
We spent a lot of time thinking through this process and plan to publish more about the high level philosophy, the challenges we faced, the process we used to arrive at this framework, and some of the things we learned along the way.
However, there are three elements that are worth noting in more detail here.
We really struggled to make much headway on the system, until Madeline Bermes made the insightful comment that this framework should be about growth, not leveling. Traditional methods of assessing people, and even the language that is used to describe them — ladders, slots, boxes, etc. — are primarily concerned with giving someone a level or categorising them in some way. We think this is artificially constraining, and frames professional development as a competition rather than a personal journey.
Rather than follow this model, we instead tried to craft a framework that centers around the growth of an individual, and supports them in the kind of career that they want to have. While we do have overall levels — which is important for ensuring fairness in compensation — they are explicitly a by-product of an engineer’s growth. Studies have shown that the positive feelings associated with getting a raise are only temporary, and that long term satisfaction is much more closely tied to personal development. The kinds of people we like to hire are collaborative, curious, and have a growth mindset. It is important that our framework supports and encourages that.
As a result, you will notice that we consistently refer to the framework as a Growth Framework, and that we only discuss overall levels as the result of that growth. The terms we use to describe the system help communicate that the primary intent is to support personal improvement.
Typical professional development frameworks assess people at fixed intervals once, or maybe twice a year. This creates a low number of high stakes moments, which induce stress and frustration as people try to prove their worth in order to gain a promotion.
Although formal assessments at Medium are made every 6 months, we aim to turn professional development into an ongoing conversation that helps increase accountability on both sides. This begins with a personalised growth plan for every engineer, in the form of OKRs and milestone goals for the next 6 months. An engineer and their group lead review these in mandated sessions every 6 weeks, which creates space for an honest conversation about progress, and any challenges or blockers. The regular check-ins are designed to ensure that no-one is surprised with the outcome of the formal assessment at the end of the cycle. We also encourage engineers to record evidence of their achievements over time to combat recency bias.
A key measure of success for this system was whether it treated engineers equitably, and rewarded their work appropriately, regardless of race, gender, age, or any other unimportant factor. With rare exception (typically due to external factors), everyone at the same overall level receives the same level-based compensation.
Looking at the distribution of level changes after our first assessment, we believe the new rubric helps us better acknowledge valuable contributions that were not previously recognised.
We plan to publish more comprehensive statistics in the future.
Having a formal system means we can better support the growth of our engineers. We’re able to have more honest, open conversations about progress, promotions, and opportunity. While the framework is still relatively new, it is showing early promise at incentivising the kinds of behaviours we want to see in the team, and recognising the different kinds of value that people add.
We already have ideas on how to improve the framework further, and plan to continue iterating on it over time. We are releasing it publicly now, in the hope that it can help other companies that are thinking about how to grow and support their employees.