Engineering Ladders
Last updated
Last updated
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.
The framework relies heavily in radar charts to show visually the different perspectives and expectations of a given position:
The framework has 3 different ladders:
Level
Seniority
1
Junior
2
Junior
3
Junior
4
Senior
5
Senior
6
Senior
7
Senior
The chart shown above has the following 5 axes:
Technology: knowledge of the tech stack and tools
System: level of ownership of the system(s)
People: relationship with the team(s)
Process: level of engagement with the development 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 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.
Adopts: actively learns and adopts the technology and tools defined by the team
Specializes: is the go-to person for one or more technologies and takes initiative to learn new ones
Evangelizes: researches, creates proofs of concept and introduces new technologies to the team
Masters: has very deep knowledge about the whole technology stack of the system
Creates: designs and creates new technologies that are widely used either by internal or external teams
Enhances: successfully pushes new features and bug fixes to improve and extend the system
Designs: designs and implements medium to large size features while reducing the system’s tech debt
Owns: owns the production operation and monitoring of the system and is aware of its SLAs
Evolves: evolves the architecture to support future requirements and defines its SLAs
Leads: leads the technical excellence of the system and creates plans to mitigate outages
Learns: quickly learns from others and consistently steps up when it is required
Supports: proactively supports other team members and helps them to be successful
Mentors: mentors others to accelerate their career-growth and encourages them to participate
Coordinates: coordinates team members providing effective feedback and moderating discussions
Manages: manages the team members’ career, expectations, performance and level of happiness
Follows: follows the team processes, delivering a consistent flow of features to production
Enforces: enforces the team processes, making sure everybody understands the benefits and tradeoffs
Challenges: challenges the team processes, looking for ways to improve them
Adjusts: adjusts the team processes, listening to feedback and guiding the team through the changes
Defines: defines the right processes for the team’s maturity level, balancing agility and discipline
Subsystem: makes an impact on one or more subsystems
Team: makes an impact on the whole team, not just on specific parts of it
Multiple Teams: makes an impact not only his/her team but also on other teams
Company: makes an impact on the whole tech organization
Community: makes an impact on the tech community
: role also known as programmer or software engineer, requires a deep level of technical expertise
: role also known as dev lead, is the owner of the system and requires a unique balance between hands-on development, architecture knowledge and production support
: role also known as dev manager, is responsible for the consistent delivery, career growth and level of happiness of the team