> For the complete documentation index, see [llms.txt](https://handbook.redivis.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://handbook.redivis.com/careers/engineering.md).

# Engineering

Engineering roles are grouped into two [tracks](/careers/engineering.md#tracks-with-titles): one for **developers**, who focus on individual contributions (IC), and for **engineering managers**, who focus on managing people.&#x20;

According to their role's progression level, engineers can evaluate their effectiveness and scope of responsibility based on [competencies](/careers/engineering.md#competencies) across [axes](/careers/engineering.md#axes) including technological expertise, ownership of system architecture, interaction with teammates, involvement with engineering processes, and influence in each of the above.

An overview of roles on frontend and backend [teams](/careers/engineering.md#teams) link to specific position titles, which describe the expertise, skillsets and experience needs for each role.

## Tracks

The framework has 2 different tracks, in line with our [company-wide system](/careers/growth-and-progression.md#tracks):

* **Developer (IC)**: has a deep level of technical expertise, executes on product deliverables, and (at higher levels) owns system, architecture & production support of features and products, trains other engineers.
* **Engineering Manager:** manages other engineers; is responsible for the consistent output, career growth and level of happiness of team members, and (at higher levels) owns team resource allocation (who's working on what).

| Developer (IC) |   Engineering Manager   |
| :------------: | :---------------------: |
|   Entry-level  |            -            |
|  Intermediate  |            -            |
|    Advanced    |            -            |
|     Senior     |         Manager         |
|      Staff     |      Senior Manager     |
|    Principal   | Director of Engineering |
|  Distinguished |    VP of Engineering    |

## Axes

We provide an axes framework, inspired by existing [resources](/careers/engineering.md#resources), which empowers employees to evaluate their career progression and have meaningful conversations with their managers about the expectations of each position and how to plan for the next level in their career.&#x20;

![](/files/-ME4usaywKp66QtXtXEN)

The chart above defines 5 axes:

* **Technology**: knowledge of the technology and tools
* **System**: level of ownership of the system(s)
* **People**: relationship with the team(s), leadership role, meeting facilitation
* **Process**: level of engagement with the department process
* **Influence**: scope of influence of the position

The **influence** axis can be seen as a *different dimension* since it is orthogonal and applies to all the other axes.

Each axis has 5 levels of **competency**. Note that each competency level includes the previous one(s). For example, someone that *evangelizes* technology, *specializes* and *adopts* it as well.

{% tabs %}
{% tab title="Technology" %}

1. **Adopts**: actively learns and adopts the technology and tools defined by the team
2. **Specializes**: is the go-to person for one or more technologies and takes initiative to learn new ones
3. **Evangelizes**: researches, creates proofs of concept and introduces new technologies to the team
4. **Masters**: has very deep knowledge about the whole technology stack of the system
5. **Creates**: designs and creates new technologies that are widely used either by internal or external teams
   {% endtab %}

{% tab title="System" %}

1. **Enhances**: successfully pushes new features and bug fixes to improve and extend the system
2. **Designs**: designs and implements medium to large size features while reducing the system's tech debt
3. **Owns**: owns the production operation and monitoring of the system and is aware of its SLAs
4. **Evolves**: evolves the architecture to support future requirements and defines its SLAs
5. **Leads**: leads the technical excellence of the system and creates plans to mitigate outages
   {% endtab %}

{% tab title="People" %}

1. **Learns**: quickly learns from others and consistently steps up when it is required
2. **Supports**: proactively supports other team members and helps them to be successful
3. **Mentors**: mentors others to accelerate their career-growth and encourages them to participate
4. **Coordinates**: coordinates team members providing effective feedback and moderating discussions
5. **Manages**: manages the team members' career, expectations, performance and level of happiness
   {% endtab %}

{% tab title="Process" %}

1. **Follows**: follows the team processes, delivering a consistent flow of features to production
2. **Enforces**: enforces the team processes, making sure everybody understands the benefits and tradeoffs
3. **Challenges**: challenges the team processes, looking for ways to improve them
4. **Adjusts**: adjusts the team processes, listening to feedback and guiding the team through the changes
5. **Defines**: defines the right processes for the team's maturity level, balancing agility and discipline
   {% endtab %}

{% tab title="Influence" %}

1. **Subsystem**: makes an impact on one or more subsystems
2. **Team**: makes an impact on the whole team, not just on specific parts of it
3. **Multiple Teams**: makes an impact not only his/her team but also on other teams
4. **Company**: makes an impact on the whole tech organization
5. **Community**: makes an impact on the tech community
   {% endtab %}
   {% endtabs %}

## Competencies

Engineering uses the above progression framework to expect certain competencies from developers and engineering managers at each progression level.

For additional specific skillsets and responsibilities, see our [frontend](/careers/engineering/frontend-engineer.md) and [backend](broken://pages/-ME4qL078ipUfgqgp554) roles.

### Developer

| Progression level |    Technology   |    System    |    People    | Process        | Influence      |
| ----------------- | :-------------: | :----------: | :----------: | -------------- | -------------- |
| 1 (Entry-level)   |    Adopts (1)   | Enhances (1) |  Learns (1)  | Follows (1)    | Subsystem (1)  |
| 2 (Intermediate)  |    Adopts (1)   |  Designs (2) | Supports (2) | Enforces (2)   | Subsystem (1)  |
| 3 (Advanced)      | Specializes (2) |  Designs (2) | Supports (2) | Challenges (3) | Team (2)       |
| 4 (Senior)        | Evangelizes (3) |   Owns (3)   |  Mentors (3) | Challenges (3) | Team (2)       |
| 5 (Staff)         |   Masters (4)   |  Evolves (4) |  Mentors (3) | Adjusts (4)    | Multi team (3) |
| 6 (Principal)     |   Creates (5)   |   Leads (5)  |  Mentors (3) | Adjusts (4)    | Company (4)    |
| 7 (Distinguished) |   Creates (5)   |   Leads (5)  |  Mentors (3) | Adjusts (4)    | Community (5)  |

### Engineering Manager

| Progression level  |    Technology   |    System   |    People   | Process        | Influence      |
| ------------------ | :-------------: | :---------: | :---------: | -------------- | -------------- |
| 4 (Manager)        | Evangelizes (3) |   Owns (3)  | Manages (5) | Challenges (3) | Team (2)       |
| 5 (Senior Manager) | Evangelizes (3) |   Owns (3)  | Manages (5) | Adjusts (4)    | Team (2)       |
| 6 (Director)       | Evangelizes (3) | Evolves (4) | Manages (5) | Defines (5)    | Team (2)       |
| 7 (VP)             | Evangelizes (3) | Evolves (4) | Manages (5) | Defines (5)    | Multi team (3) |

## Teams

{% tabs %}
{% tab title="Frontend" %}
Below is the progression for [frontend developers](/careers/engineering/frontend-engineer.md) in the IC and manager tracks. Click on a position title for more details.

|                                        Developer (IC)                                       |   Engineering Manager   |
| :-----------------------------------------------------------------------------------------: | :---------------------: |
|   [Entry-level](/careers/engineering/frontend-engineer.md#entry-level-frontend-developer)   |            -            |
|  [Intermediate](/careers/engineering/frontend-engineer.md#intermediate-frontend-developer)  |            -            |
|      [Advanced](/careers/engineering/frontend-engineer.md#advanced-frontend-developer)      |            -            |
|        [Senior](/careers/engineering/frontend-engineer.md#senior-frontend-developer)        |         Manager         |
|         [Staff](/careers/engineering/frontend-engineer.md#staff-frontend-developer)         |      Senior Manager     |
|     [Principal](/careers/engineering/frontend-engineer.md#principal-frontend-developer)     | Director of Engineering |
| [Distinguished](/careers/engineering/frontend-engineer.md#distinguished-frontend-developer) |    VP of Engineering    |
|                                         {% endtab %}                                        |                         |

{% tab title="Backend" %}
Below is the progression for [backend developers](broken://pages/-ME4qL078ipUfgqgp554) in the IC and manager tracks. Click on a position title for more details.

| Progression level | Developer (IC) |   Engineering Manager   |
| :---------------: | :------------: | :---------------------: |
|         1         |   Entry-level  |            -            |
|         2         |  Intermediate  |            -            |
|         3         |    Advanced    |            -            |
|         4         |     Senior     |         Manager         |
|         5         |      Staff     |      Senior Manager     |
|         6         |    Principal   | Director of Engineering |
|         7         |  Distinguished |    VP of Engineering    |
|    {% endtab %}   |                |                         |
|   {% endtabs %}   |                |                         |

## Resources

* [**jorgef/engineeringladders**](https://github.com/jorgef/engineeringladders)
* Buffer [progression](https://buffer.com/resources/career-framework/), [management](https://buffer.com/resources/survive-first-30-days-manager/) and [salaries](https://docs.google.com/spreadsheets/d/11s9VSyf4yaYUsqBKLaVH78NL8wdl8gXoj5BGAzjIFuc/edit#gid=890104456)
* Gitlab [career framework](https://about.gitlab.com/handbook/engineering/career-development/career-matrix.html)
* Brendan Reid's [director -> VP progression](https://www.brendanreid.com/blog-1/2018/1/2/4-keys-to-move-from-director-to-vp-level)
* Zendesk [product design progression](https://design.zendesk.com/downloads/product-design-career-path_ic.pdf)
* Charlie [job titles](https://cdn2.hubspot.net/hubfs/4289024/CharlieHR%20-%20Job%20Titles.pdf?utm_medium=email&_hsmi=80746552&_hsenc=p2ANqtz-8NFZmiiPOt4F-Lqtfw8-sYmDFs7TTB6AHEZ5l31HGLqiWP46Qj4sZjWAelk7bpsSqFrTrxBz82w_KtZHMuUbJJB-bTzQ\&utm_content=80746552\&utm_source=hs_automation)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://handbook.redivis.com/careers/engineering.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
