ABCDEFGHIJKLMNOPQR
1
All pathsCategorySoftware Engineer 1Software Engineer 2Software Engineer 3Senior Software Engineer 1Senior Software Engineer 2Technical pathStaff Engineer 1Staff Engineer 2Principal Software Engineer 1Principal Software Engineer 2Leadership pathEngineering Manager 1Engineering Manager 2Senior Engineering Manager 1Senior Engineering Manager 2
2
Guideline Minimum Years0-21-43-75-8+7-12+9+12+7+ & 1-3 leadership10+ & 3+ leadership
3
AKAGrad / associate / juniorJunior / MidMidSeniorSeniorTech Lead / architectTech Lead / architectChief ArchitectChief ArchitectDevelopment LeadDevelopment LeadDirector of EngineeringDirector of Engineering
4
Mastery levelEntryDevelopingDeveloping / experiencedExperiencedExperienced / expertExpertExpert / masterMasterMasterDeveloping LeaderExperienced LeaderExpert LeaderExpert Leader
5
Competency levelLearningLearning + contributingContributingContributing + mentoringMentoringArchitectingArchitectingDeveloping LeaderExperienced leaderLeading multiple teams
6
Who to pair with to produce quality codeSeniorSeniorSE 3
7
SummaryA new engineer with basic software development skills (from uni or other) focused on growing as an engineer, learning the team’s tools and current processes, and developing productivity skills, as well as learning about the best-practices of software engineering such as testing, source control, and agile planning.

The main focus of this engineers time is on learning about software engineering on a real-world product
At this level, engineers should now understand the basics of the tools and technologies they need to do their day-to-day job, and should now begin to contribute to their team (whereas below this, their sole focus was learning).

Engineers at this level will continue to make mistakes, but should be improving the speed at which they learn from these mistakes. They will start to participate more in the technical design process, often with guidance from senior engineers.
At this level, the engineer is a reliable contributor to the product, and can do so without much guidance at all. They can be relied upon to deliver results or debug issues independently. They are capable of mentoring juniors in some areas of software development. They will know at least one area of development deeply, and have some knowledge in the end-to-end software development, all the way from front-end to backend to DevOps. The senior engineer 1 should be seen as a rock-solid engineer. The senior engineer 1 is capable of owning technical design for projects of moderate complexity, and understands the tradeoffs in creating good software in their area. They hold a depth of knowledge in systems that enables them to debug those systems effectively without flailing. In addition to writing consistently high-quality code they are aware of industry best practices and trends.

Engineers at this level have started extending their team contribution beyond just development and pairing, but help the team to deliver outcomes together. They will begin to steer the team towards solving the right problems and delivering the highest priority work and will communicate clearly. They will also be able to mentor junior and mid-level developers to improvement. They are starting to think about and influence the "why" behind the work and therefore are able to assess if their work is actually delivering value, and influencing the success of the team towards it's short term goals.
Engineers at this level are now very comfortable with their role in team contribution. They measure their success by how they help the team deliver value, not by how much code they write. They are comfortable pairing with developers and can be across the work of multiple developers in the team to ensure that the team is moving towards its short-term goals. They understand the "why" behind the work they are doing and are comfortable working with the non-devs (PMs, design, etc) in their team ensuring that the work the team is doing is actually delivering value. Although they are experts in areas of the code-base, they are never the only one that knows a particular area of the code, as they always take other developers on the journey with them, or document and hand-over their work well.This role is not simply a promotion given to a SSE after a period of time, it is given when the engineer has actively chosen to take on more responsibility than a Senior Software engineer. This responsibility includes taking accountability for architectural and tooling direction, technical best practices, mentoring and upskilling of developers. At this level, their direct influence may still be focussed primarily on their current team, but there should now be some clear examples where this influence is beyond their team.The Staff Engineer 2 has refined the way the work and influence over the Staff Engineer 1 to have a multiplying effect to the business. They don't just produce architecture themselves, they drive it across the business. They don't just write code themselves, they drive it through other people. At this level, although they may not be fully accountable for multiple teams, they are clearly influencing the technical direction of teams outside their own. As such, they may have some explicit time allocated outside their team to allow this.The Principal Engineering drives technical improvement across multiple teams in the business. They will float across multiple teams, actively improving their technology practices and ways of working. They are highly effective change managers, who can drive change across the entire engineering department from architecture, tooling, tech debt, code quality to ways of working. This role is not automatically given to an engineer who meets all of the criteria, but also when there is a business need for the role.TBD. Reserved for future use.Engineers at this level have decided to take on a people leadership path, and as such, take a strong responsibility for the welfare and development of the people in their team, as well as accountability for the delivery of work for that team. They are still developing leaders and the may not be able to lead their teams will full efficacy, they are able to do enough that the team is productive. It also requires them to have enough technical depth to guide the team from a solution point of view as well as process.The Engineering Manager 2 is now an accomplished and independent manager. They are comfortable managing team members with different skill sets from their own. They take both people and technical accountability for their team and do so in a way that is productive and effective. They communicate expectations clearly to all team members, solicit and deliver individual feedback frequently (not just in the scope of review periods). In addition to strong management skills, the engineering lead acts as a leader for the technical roadmap for the team. They clearly communicate the timeline, scope and risks to their pillar partners, and lead the delivery of major initiatives on clear timelines. Additionally, they identify areas of strategic technical debt, do the cost/benefit analysis for resolving this debt and communicate suggested timelines for prioritizing this to the management team.The Senior Engineering Manager leads multiple teams. They have refined their technical and leadership practices enough that they are able to guide and influence teams by leading and influencing teams indirectly via the team leaders. They are responsible for affecting change and uplift across Ways of Working for their teams, and the wider engineering group. This role is not automatically given to an engineer who meets all of the criteria, but also when there is a business need for the role.TBD. Reserved for future use.
8
Capabilities1ContributionLittle to no contribution to the team. Their main focus should be learning.Seen as someone who is now primarily a contributor to the team (they are still learning, but that is no longer the majority of their time), but still needs guidance and direction from more senior engineers
Able to contribute reliably individually or as the more experienced role in a pair to deliver results or debug without much guidance at all.Can be relied on to deliver a major piece of work that contains architectural complexity. They are capable of owning technical design for projects of moderate complexity. They can take a complex user story, guide the team to break it down into sub-tasks, and complete their sub-tasks with relative ease. Very clear that this person is not just a developer but also works with non-dev people in the team (PMs, design, etc) to influence the problems being solved and the solutions. Clearly understands the "why" and has demonstrated some Product, Business Analysis and Quality Assurance understanding.Has clear examples where they have taken on responsibility in some of the areas of architectural and tooling direction, technical best practices, mentoring and upskilling of developers across the businessActively upskills significant numbers of engineers, and has made an obvious positive impact on the technical trajectory of multiple teams. The influence of people our teams outside their own may not be dramatic yet, but there should be some clear examples outside their own team.Actively upskills significant numbers of engineers across multiple teams in both technical areas and ways of working.Is clearly recognised as a leader in the team and has actively lead the team for some time. It should be already clear to the business that this person is a people leader and should be a surprise to nobody that this person was promoted.Is an experienced leader capable of leading their team with minimal or no leadership coaching.They are primarily concerned with ensuring smooth execution of complex deliverables. To that end, they focus on ensuring that we continually evaluate and refine our development/infrastructure standards and processes to create technology that will deliver sustained value to the business. They are responsible for creating high performance, high velocity organizations, measuring and iterating on processes as we grow and evolve as a business.
9
2Contributes beyond just individual contribution. Contributes to team performance, growth and learning by upskilling people around them and providing some guidance and direction during discussions.Always aware of the team's goals and actively steers the team towards those goals and away from lower priority workThe staff engineer has a track record of anticipating technical problems that will fall out of major products and designing solutions to overcome those problems. In addition, they have a record of influencing major improvements in large business-critical systems around stability, performance, and scalability. Primarily acts as a multiplier by collaboratively building systems, authoring tools, or introducing policies or patterns that raise the level of productivity of the entire orgThe Engineering Manager takes accountability for the team's delivery. They do this by working closely with the Product representatives to ensure that the team is working on the most valuable piece of work, and takes ownership of the team's ways of working and day to day activities to ensure they are working effectively.As part of keeping the team focused the engineering lead will partner closely with the product lead to manage scope and ensure the technical deliverables are met. At this level, they are confident enough with Product Management, Business Analysis and Quality Assurance practices that they can help step in to some parts of those roles as necessary. They use this knowledge to effectively help manage the expectations of stakeholders of the team.This engineer is responsible for a significant area of the technology team. They will typically lead engineers across multiple teams, or multiple technology functions.
10
3The senior engineer 1 shows initiative beyond knocking tasks off a list; they are able to identify and suggest areas of future work for themselves or their teams. They seek evidence to support their ideas and start to build cases for these ideas. Has a good understanding of agile and highly productive ways of working and actively suggests improvements to how the team worksA record of creating sweeping improvements in stability, performance, and scalability across major business-critical systemsIdentifies competency gaps across their teams and implements solutions to fill those gaps (e.g. through hiring, training, consulting, etc).
11
4Code qualityAble to follow best practices to some extent (clean code, idiomatic patterns) but may not reach full code standard without assistanceAble to produce code that meets quality standard with minimal rework requiredHas a strong enough understanding of code quality to both produce quality code themselves, but also to explain and mentor juniors about the what and why of code quality. In addition to writing consistently high-quality code they are aware of industry best practices and trends. They deliver work that they believe is well-baked and bug-free.In addition to meeting coding standards themselves and being able to explain code quality to others, they also proactively identify and clean up technical debt before it turns into a long-term problem, and create a culture in their team where others do the same.This ability to manage and simplify complexity is the hallmark of the staff engineer; working with this person should leave team members feeling like they are going to leave with something significantly better than they came into. The impact of their work is felt across the team in the quality of the engineering that we produce, the ways we write code, the core libraries that we use, and the underlying design of systems. At the level of staff engineer, this should generally be achieved through other people rather than directly by the person (ensuring a culture of code quality).Identifies systemic problems or opportunities in our technology (code, architecture, tech debt) and then works across the engineering group to ensure that these problems are resolved, and opportunities taken.As part of taking delivery accountability for the team, the Engineering Manager also takes accountability for the code quality of the team. This requires them to be close enough to the team to ensure that developers are still producing code to sufficient quality. This can be delegated to a Staff Engineer if needed.
12
5Technical depthHas some depth of understanding in one area of software development. Has clearly built the first vertical line in their quest to become an π shaped developer (one of frontend, backend or DevOps)Now has some depth of understanding in more than one area of development. The second area may not be as strong as the first, but they can clearly contribute by themselves in at least two areas of frontend, backend and DevOps.They are involved in setting the standards for the entire organization and providing technical advice and decision-making that affects not only their group but other teams or the company at large. They research and propose new technologies.The problems that the staff engineer is solving are very open-ended even to the leadership who presented the problem. Most engineers would not be able to own and solve the problems that this person is attacking.This engineer is a master of industry technology best practice, all the from facilitating the definition of patterns to apply to frameworks and languages (e.g. react unit testing patterns), to technological infrastructure (serverless, microservices, containerisation), to modern architecture patterns and practices (Domain Driven Design, CQRS architecture, etc). In addition to being a master and having this knowledge, they actively use this knowledge to propel the company's technical direction forward.Produces, owns and drives significant areas of the company's long-term technical strategy for complete and critical areas of the business that encompass multiple systems and teamsThey will spend less time writing code, but there is an expectation that they still engage in small technical deliverables such as bug fixes and small features, without blocking or slowing down the progress of their team. More than writing code, they hold responsibility for identifying bottlenecks in the process and roadblocks to success for their team and clearing these roadblocks.They own large responsibility for producing software that is scalable, HA, monitorable, and maintainable over time.
13
6ArchitectureSome level end-to-end understanding of the components the team works with from frontend to backend and infrastructure / DevOpsHas a deep end-to-end understanding of the architecture of their team and the tradeoffs involved in that architecture. Depending on the team, this could be at the component level or at the service or system level.They have the capability to have a broad understanding of the entire architecture, as well as very detailed understanding of their area. Focusing on more than just technical concerns, these engineers also have solid understandings of the industry and domain, and this is evident in their ability to represent that domain in their architecture and code (e.g. driving DDD, etc)This person is not only capable of making and then implementing architecture at the individual team level, but they also help architect the wider systems of the business, and are also help facilitate discussions around architecture. Listens and guides debates to help reach a consensus; once a decision is made, clearly communicates and backs that decision. In doing this, they play a key role in developing multi-year technology strategy for complete and critical areas of the business that encompass multiple systems and teamsThis person acts as the “chief architect” for a major area of our business. They have significant strategic vision and can take a high-level multi year plan for growth at a business level and translate that into a strategic technology roadmap. Also as part of taking delivery accountability for the team, the Engineering Manager also takes architectural accountability for the team. That requires them to have enough of an architectural understanding to do this, and also drive the architecture.They are not generally expected to write code on a day-to-day basis. However, they are responsible for their organization’s overall technical competence, guiding and growing that competence in the whole team as necessary via training and hiring. They should contribute to the architecture and design efforts primarily by serving as the technically-savvy voice that asks business and product questions of the engineers on their teams.
14
7MentoringThey are capable of mentoring juniors in some areas of software development, but may not yet do so with complete efficacyGuides and mentor junior developers via pairing, mobbing and other formats, working closely with them to improve their output and has the knowledge to do so productivelyIs now not only completely comfortable pairing, but is can also coach others how to pair effectivelyHas mastered the balance between team contribution and knowledge sharing. They work such that there is never any functionality that they work on that is not understood by somebody else in the team. At this level, they may not have yet mastered the ability to do this influence and work via other people, and may still default occasionally to doing the work themselves, but it is still handed over effectively.At this level, the Staff Engineer 2 is now a master of driving work through other people and not by their own contribution (e.g. through pairing, mobbing, reviewing, etc). Doing this ensures that they uplift the people around them and scale their influence.Principle Engineers are able to employ multiple different mentoring techniques to grow engineers. They can do this both at the individual developer level, team level and leader level (mentoring mentors)Engineers at this level have decided to take on a people leadership path, and as such, take a strong responsibility for the welfare and development of the people in their team via 1:1s, explicit development discussions, mentoring, coaching, pairing, and facilitating team discussions. May not do this to full efficacy, but still do it well enough to be productive.Takes a strong responsibility for the welfare and development of the people in their team and does this effectively, by coaching the people in their team towards team needs and also for their personal development towards their goals via 1:1s and other forms.Helps improves dev related process across the business, such as recruitment, ways of working, people leadership, etc. As they will not necessarily be doing this by leading teams directly, they will do this via leading their team leads.
15
8CommunicationAsks questions to make sure they understand tasks at hand, and communicates problems they are having in a clear manner.Able to communicate their technical ideas to a non-technical audienceWill never surprise the team with what they have been working on because they always communicate their progress, blockers and knowledge that the team cares aboutHas begun tailoring their communication style to the needs of others in their team (whatever communication method the recipient can best receive information through), but may not do so with full efficacy yet.Regularly and effectively tailors their communication style to the needs of others in their team instead of just based on their preference. For example, in code, pairing, mobbing, code walkthroughs, presentations, diagrams, discussions.Can clearly and concisely translate highly technical concepts into non-technical terms when interacting with non-technical stakeholders in their wider stream.In addition to being able to communicate (and sell) their technical ideas to developers in the teams they work with, they are also able to do this to advocate and affect technical change to high level stakeholders up to the exec level.Regularly and effectively tailors their communication style to the needs of others in their team instead of just based on their preference. For example, in code, pairing, mobbing, code walkthroughs, presentations, diagrams, discussions.Can clearly and concisely translate highly technical concepts into non-technical terms when interacting with non-technical stakeholders in their wider stream.As necessary, SEMs will manage vendor relationships and participate in the budgeting process. They will also be able to to advocate and affect technical change to high level stakeholders up to the exec level.
16
9Leadership (both technical / people)Starting to understand and even anticipate users needs, and to suggest product improvements or UX changes during discussions.Beginning to have an influence over the problems the team is solving, and the value being added by the team, in addition to the technical work. They are starting to think about and influence the "why" behind the work and therefore are able to assess if their work is actually delivering value, and influencing the success of the team towards it's short term goals. Have mastered the balance between team contribution and knowledge sharing. Although they are experts in areas of the code-base, they are never the only one that knows a particular area of the code, as they always take other developers on the journey with them, or document and hand-over their work well.Has made an obvious positive impact on the technical trajectory beyond just their team. An engineer at this level has shown strategic impact over some combination of a large team, a very large technical problem, and/or a long time horizon.Sets short to medium-term strategic technical direction, able to look ahead 6-12 months and identify the areas of greatest need and create plans to improve themIn addition to working directly with developers, the Principal Engineer also works with senior development leadership to ensure improvement across the entire engineering department (or at least the multiple teams they are accountable for). They do this by guiding Staff Engineers and EMs to coach and mentor developers, helping with how to influence and scale contribution through others.Actively seeks to improve their leadership, Most likely, has switched their learning focus from technical to leadership.Has a solid understanding of agile and highly productive ways of working and actively coaches the team to improvement. They ensure that they are tracking the team’s efficiency and quality of deliverables at SDLC and regularly adjusting processes and timelines to ensure high quality is delivered. Demonstrable ability to lead leaders and coach them effectively.
17
10The senior engineer 1 is known outside of their core team as a technology leader. They mentor others via code reviews and pairing, as well as frequently uplifting people outside their team (for example, presenting at Lunch and Learns and team meetings, or pairing with people outside their team, etc)The senior engineer 2 exhibits leadership and influence well beyond themselves. This leadership comes in the form of team leadership (acting as a tech lead for a small group), exceptionally strong team contribution, or something between. They may have already taken over some leadership activities for the team or at least would be capable to lead the team for a short period of time (e.g. 1 sprint) in the absence of the Engineering Manager. The way in which they begin to demonstrate their leadership here should be consistent with their progression path (Technical or People Leadership)Although this role does not have any direct people leadership, there is still the expectation that they will be leading the team on multiple fronts. From ensuring that the team is working efficiently and focussing on the highest priority work, to helping each person in the team deliver the most value for that team. Where Engineering Managers will achieve this through direct people leadership and mentoring, the Staff Engineer will likely do this closer to the tools (for example, by pairing, mobbing, reviewing, architecture and other discussions)In addition to driving technical practices, they also have solid understanding of agile and highly productive ways of working and actively coaches the team to improvement.An effective Principal Engineer is a master of influence and change management. They employ different techniques to affect change and as a result, are able to drive significant technical change and uplift across multiple teams. At this level they have already demonstrated leadership capability and actively led a team at times, but their leadership experience and skills may still be developing (and hence may require guidance from other leaders for how to lead effectively). For example, they will do all of the following activities in a productive way, but may not have full efficacy at these activities: coaching individuals in 1:1s, feasibility and scope work with product, coaching and mentoring the team in high performing ways of working and agile practices, getting the team to swarm on work, etcThey are capable of identifying headcount needs for the team and planning and recruiting to fill these needs. Actively manages the recruitment for their teamSimilar to Principal Engineers, a Senior Engineering Manager is a master of influence and change management. They employ different techniques to affect change and as a result, are able to drive significant technical change and uplift across multiple teams.
18
11StrengtheningHas at least one significant demonstrable contribution to the Strengthening category (e.g. recruitment, evangelism, mentorship or community)Has multiple significant demonstrable contribution to at least two Strengthening categories (e.g. recruitment, evangelism, mentorship or community)Has multiple significant demonstrable contribution to at least three Strengthening categories (e.g. recruitment, evangelism, mentorship or community)Has at least one significant demonstrable contribution to the Strengthening category (e.g. recruitment, evangelism, mentorship or community)Has multiple significant demonstrable contribution to at least two Strengthening categories (e.g. recruitment, evangelism, mentorship or community)Has multiple significant demonstrable contribution to at least three Strengthening categories (e.g. recruitment, evangelism, mentorship or community)
19
12Leadership ValuesAuthentic Ambition - Role model the Leader Behaviour of Authentic Ambition by delivering on our promises and rallying that we win fairly, together by delivering long term value.Authentic Ambition - Role model the Leader Behaviour of Authentic Ambition by delivering on our promises and rallying that we win fairly, together by delivering long term value.Authentic Ambition - Role model the Leader Behaviour of Authentic Ambition by delivering on our promises and rallying that we win fairly, together by delivering long term value.
20
Forthright & Frank - Role model the Leader Behaviour of Forthright & Frank by being proactively transparent, communicating with positive intent and providing an environment for continual feedback.Forthright & Frank - Role model the Leader Behaviour of Forthright & Frank by being proactively transparent, communicating with positive intent and providing an environment for continual feedback.Forthright & Frank - Role model the Leader Behaviour of Forthright & Frank by being proactively transparent, communicating with positive intent and providing an environment for continual feedback.
21
Cranes Before Code - Role model the Leader Behaviour of Cranes Before Code through deep understanding and empathy with a problem whilst advocating for fit for purpose or best practice outcomes over process.Cranes Before Code - Role model the Leader Behaviour of Cranes Before Code through deep understanding and empathy with a problem whilst advocating for fit for purpose or best practice outcomes over process.Cranes Before Code - Role model the Leader Behaviour of Cranes Before Code through deep understanding and empathy with a problem whilst advocating for fit for purpose or best practice outcomes over process.
22
Enabled Expertise - Role model the Leader Behaviour of Enabled Expertise by leveraging expertise towards shared goals, uplifting tools and working environments to enable team members to own their own roles.Enabled Expertise - Role model the Leader Behaviour of Enabled Expertise by leveraging expertise towards shared goals, uplifting tools and working environments to enable team members to own their own roles.Enabled Expertise - Role model the Leader Behaviour of Enabled Expertise by leveraging expertise towards shared goals, uplifting tools and working environments to enable team members to own their own roles.
23
13Leadership StandardsThink Critically - Proactively seek information to critically evaluate, apply knowledge and inform decision making to solve problems.
Think Critically - Proactively seek information to critically evaluate, apply knowledge and inform decision making to solve problems.
Think Critically - Proactively seek information to critically evaluate, apply knowledge and inform decision making to solve problems.
24
Lead Change - Leading and guiding team members through purposeful and successful change by aligning it with a clearly communicated vision and set of goals.Lead Change - Leading and guiding team members through purposeful and successful change by aligning it with a clearly communicated vision and set of goals.Lead Change - Leading and guiding team members through purposeful and successful change by aligning it with a clearly communicated vision and set of goals.
25
Communicate Clearly - Actively listening and sharing information to ensure that team members are aware of and aligned to the journey, whilst remaining open to other opinions.Communicate Clearly - Actively listening and sharing information to ensure that team members are aware of and aligned to the journey, whilst remaining open to other opinions.Communicate Clearly - Actively listening and sharing information to ensure that team members are aware of and aligned to the journey, whilst remaining open to other opinions.
26
Build Relationships - Establishing strong connections with other team members and teams built on trust, sharing of ideas and achievement of work.Build Relationships - Establishing strong connections with other team members and teams built on trust, sharing of ideas and achievement of work.Build Relationships - Establishing strong connections with other team members and teams built on trust, sharing of ideas and achievement of work.
27
Develop People - Developing others to become more effective in their roles and teams through strengths, coaching, communicating expectations and recognition.Develop People - Developing others to become more effective in their roles and teams through strengths, coaching, communicating expectations and recognition.Develop People - Developing others to become more effective in their roles and teams through strengths, coaching, communicating expectations and recognition.
28
Inspire Others - Bring others on a journey through positivity, vision, confidence and coaching.Inspire Others - Bring others on a journey through positivity, vision, confidence and coaching.Inspire Others - Bring others on a journey through positivity, vision, confidence and coaching.
29
Create Accountability - Identifying opportunities and holding yourself and team members responsible for the overall performance of these actions.Create Accountability - Identifying opportunities and holding yourself and team members responsible for the overall performance of these actions.Create Accountability - Identifying opportunities and holding yourself and team members responsible for the overall performance of these actions.
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100