Engineering growth: introduction
By: Medium Engineering
Tags: Medium, Engineering, Professional Development, Values

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!

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.