Git Product home page Git Product logo

engineeringladders's Introduction

Introduction

This framework allows software engineering managers to have meaningful conversations with their direct reports around the expectations of each position and how to plan for the next level in their career ladder.

Although the framework uses roles and levels that are somewhat standard in the US tech industry, every company is different. Please use the information provided as a baseline and feel free adjust it to your needs.

The framework relies heavily on radar charts to visually represent the different perspectives and expectations of a given position:

Template Chart

Career Ladders

The framework has 4 different ladders:

  • Developer: role requires a deep level of technical expertise
  • Product Designer: role is responsible for the User Experience for the Product
  • Product Manager: role responsible for what should be built. Is the Voice of the User
  • Engineering Manager: role is responsible for the consistent delivery, career growth and level of happiness of the team
Level Senior Developer Product Designer Product Manager Engineering Manager
1 No D1 PD1
2 No D2 PD2
3 No D3 PD3 PM3
4 Yes D4 PD4 PM4 EM4
5 Yes D5 PD5 PM5 EM5
6 Yes D6 PD6 PM6 EM6

(click on position name for more details)

Axes

The chart shown above has the following 5 axes:

  • Expertise: knowledge of the role's craft
  • System: level of ownership of the system(s)
  • People: relationship with the team(s)
  • Process: level of engagement with the role's processes
  • 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 different levels of performance. It is important to highlight that every level includes the previous one(s). For example, someone that evangelizes technology, specializes and adopts it as well.

Keep reading to better understand each level.

Levels

Expertise

  1. Learns: 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. Innovates: pioneers new concepts, methodologies, or approaches that have a significant impact on others

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

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

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

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

FAQs

What if some of the people don't meet all the points?

That is very normal, people are usually stronger in some areas and weaker in others. The framework should not be used as a checklist to promote people but instead as guidance to have meaningful career conversations.

What if my organization's career ladder is different?

Since the framework is open source, you have the opportunity to adapt it to your organization. Feel free to use the chart template to define your own levels.

When is a person ready to move to the next level?

Companies usually expect a person to be performing at the next level consistently for several months before formalizing a promotion.

How do I collect evidence to support the discussion with my direct reports?

Different teams collect evidence in different ways. A recommended approach is to use a combination of:

  • 1:1 conversations
  • Feedback from peers and other teams
  • Self-evaluation

Could the framework provide more specific examples of behavior to support each level?

Specific examples of behavior require knowledge about the way that the team works, the system architecture and its technology stack. It is recommended to allow each team to define their own examples.

Why does the framework stop at level 7?

Levels 8 and above vary drastically from company to company. Organizations of different sizes tend to assign a diverse level of scope to positions so high in their structure.

Do you have any additional resources about the topic?

  • The Manager's Path: Camille Fournier does an excellent job at describing the expectations and challenges of many engineering positions. Also, she provides good advice about writing a career ladder in chapter 9.

  • How to Be Good at Performance Appraisals: Dick Grote explains in simple terms how to define job responsibilities and how to evaluate performance (results and behaviors).

Other Pages

engineeringladders's People

Contributors

anishkny avatar bartelink avatar ciarant avatar federicomoretti avatar florianbruniaux avatar jorgef avatar nikordaris avatar parkerl avatar rogerluan avatar setagana avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.