In many companies, Senior Engineers who do not pursue Engineering Management, end up in a dead end in terms of their career progression. At Zalando, we have had a career path for individual contributors since 2016. Senior Software Engineers can choose one of the three possible career paths:
- Engineering Management
- Principal Engineering
- Technical Program Management
In this post, we detail out how we leverage our senior individual contributors (Principal Engineers) throughout the company. In the last two years, we have observed an increased amount of companies emphasizing the value of career development for individual contributors. At this level, the roles are highly varying across companies, hence the importance of exchange about different approaches to structuring this role.
Beyond the Senior Software Engineer level, Engineers have increasingly varying profiles depending on their career journey and unique expertise. Depth-focused Principal Engineers are experts in their unique field (or more than one) whereas breadth-focused Principal Engineers have an expert view across many domains and aspects of the software development life cycle with an ability to leverage unique expertise of others or when needed dive deep themselves.
Up until 2021, there was no literature we would know about, speaking in detail about individual contributors above the senior level in tech companies. While traditionally Software Companies defined the role of an (Enterprise) Architect, the industry moved away from centralized architecture teams with hands-off individuals, as these were detached from the software development process and the necessary feedback loops to continuously adjust their approaches. More often than not, delivery teams are empowered with technical decision making and conduct architectural design adhering to guardrails set by the department and the company (in our case, the Tech Radar). Principal Engineers support the team in the architectural design and help to maintain architectural integrity in the scope of the department and beyond.
In March 2021, the book Staff Engineer: Leadership beyond the management track was published and added some common vocabulary about technical leadership and strategies for leading without formal authority. In addition, four archetypes are listed and provide classification for the types of tasks Principal Engineers are most commonly working on. It is important to note that individuals may transition between these archetypes throughout their career depending on their strengths or the organizational needs:
- Tech Lead: leads critical technical initiatives across the department and beyond. Partners with more than one team to support teams and individuals with delivery and coaching. Usually, Principal Engineers transitioning from a Senior Engineer role in a single team to a Principal Engineer acting across teams will go through this path. Initially, delivery includes high focus on coding alongside the team for high-impact and critical projects.
- Architect: manages technical direction, quality, and approach within an area or project. Navigates different levels of leadership to address mid to long-term challenges.
- Solver: digs deep into an area or problem, captures findings, aligns a set of recommendations. May apply both to short-term and long-term engagements and include driving the implementation of the recommended solutions.
- Right Hand: extends an executive's attention and borrows their scope and authority to address certain problem areas.
Principal Engineers at Zalando
Principal Engineers1 at Zalando are senior individual contributors and role models for our Engineers. While they have no people management responsibilities, they are part of the leadership team. Principal Engineers report to a Manager of Managers (e.g. Head of Engineering) and assume the scope of the person they report to. Typically, this means they have 2-5 engineering teams that they support. Overall, Principal Engineers constitute around 4% of our total Engineering population.
At Zalando, Principal Engineers are responsible for the architecture of the systems built within the department they're part of. They enable others and facilitate the design process across teams. They are proactively initiating and executing process and technical improvements (e.g. scaling, technical debt reduction) across the department and beyond. Principal Engineers play a leading role in the full product development lifecycle. They're consulting Product and Engineering Management on projects early on, ensuring that technical considerations are factored into the project's scoping and planning processes.
Our (usually breadth-focused) Principal Engineers are leading the technical design for mid to large scale projects that their department is part of. This involves trade-off discussion, scope definition and negotiation with Product Designers and Product Managers as well as advice on structuring the projects into iterations optimized for reducing delivery risk, dependencies on teams, or ensuring quick time to market. Principal Engineers facilitate design discussions with the involved teams, delegate design or experimentation of well-defined parts of the design to other Engineers. They outline key design decisions and trade-offs and seek feedback through peer-reviews. To understand how their designs perform in production, they guide teams throughout the execution time of the project and support launch readiness through production readiness reviews and project launch coordination.
At Zalando, we peer-review technical designs on different organizational levels, depending on their scope and complexity. During peer-reviews for Zalando group-wide projects requiring contributions from multiple business units, Principal Engineers support the project teams in finding the best solution for realizing the project's goals. Additionally, they provide teams with a different perspective on the suggested solutions and discuss trade-offs related to dependencies, relation to other pending or ongoing projects, and risks and challenges anticipated during project delivery. In this way, we ensure consistency of technical solutions, promote standardized solutions and practices, connect teams who solved similar problems with one another, and seek to incorporate learnings from other projects into future designs.
Focus on operational excellence is key to delivering high-value customer experiences. Principal Engineers play a crucial role in scaling knowledge and raising the bar. They coach teams on resilience patterns, observability and facilitate weekly operational meetings where the operational performance of the system and past incidents are reviewed. They peer-review post-mortem documents and runbooks that the teams prepare as part of the incident response. Finally, they collaborate on alignment and implementation of cross-team action items.
Depth-focused Principal Engineers are most frequently part of platform or infrastructure teams. When compared with their peers, these individuals are also spending the highest share of their time writing code. They are thought-leaders influencing the long-term product roadmap. Through their network and collaborations with other Engineers across the company (e.g. via language guilds), they look for opportunities to scale the adoption of existing infrastructure solutions or initiate new ones, with the focus on making our teams or systems more efficient (e.g. shared libraries, application templates, operational guidance or patterns). Lastly, they contribute to setting Engineering Standards and support others in technology selection, evaluation, and adoption as part of our Tech Radar process.
Principal Engineers have also important contributions that go beyond core engineering tasks. They are bar raisers during the interview process, mentor other Engineers, and play a key role in our engineering communities. This way, they have opportunities to coach other engineers, role model our culture, and help identify and develop promising talent.
Principal Engineering Community
Principal Engineers form a company-wide community of experts, who support one another in their challenges and journey at Zalando. They self-organize both company-wide and per business unit in order to discuss and drive technical topics that they or their leadership consider as important to meet the business growth and operational excellence of Zalando's technical systems. The Community provides expertise around know-how, patterns, solutions, and the approach to rollout of these in teams. Further, Principal Engineers support one another in order to continuously upskill themselves and others, through mentorship, coaching, or pairing up on tasks.
Engineering-wide initiatives driven by the community are documented in a task list, which in addition to providing transparency on the community efforts, serves as an opportunity to (i) highlight tasks that any Engineer at Zalando can contribute to, or (ii) for anyone to request support on an engineering topic. Similar task lists exist in a smaller scope and provide ways to involve the Engineering talent from these organizations.
Helping Principal Engineers with their new role
The majority of our Principal Engineers have been promoted from within Zalando. Some of our senior individual contributors have switched career tracks from Engineering Management back to individual contributors. As the principal engineering role is tailored to our specific needs and organizational structure, it was important for us to set up newcomers to the role for success.
A few Principal Engineers teamed up and compiled a guide to beginning the journey of a Principal Engineer and how to structure the first 100 days in this role. This guide has proven to be helpful for our Principal Engineers, their Managers, and for colleagues who are planning their own career development towards the individual contributor track. In addition to the guide, our more seasoned Principal Engineers provide mentorship to other Principal Engineers.
We also realize that the role of a Principal Engineer may not be a fitting career opportunity for every Senior Engineer. Principal Engineering is not just a label for the best Senior Engineers. In the end, it's a technical leadership role with strong emphasis on cross-team coordination, communication skills, and requiring the ability to lead without authority. The initiatives that an individual is driving tend to have a much longer time horizon for the impact to become visible and are often realized through the hands of others. This delayed gratification can negatively affect motivation, especially for individuals who as problem-solvers with deep expertise value and source their energy from solving large-scale problems with fast iteration cycles (e.g. as part of incident response). At Zalando, we leverage stretch assignments as development opportunities to allow our colleagues to try out aspects of the Principal Engineer role and verify whether it's a good fit for them while allowing them to easily step back to their prior activities otherwise.
Managing Principal Engineers
Some of our Engineering Managers have not worked with nor managed Principal Engineers before. This can lead to situations where the potential of the individuals is under-leveraged. Individual contributors on this level require a degree of flexibility and share of their time to explore the potential of addressing the problem areas they have identified. They also need the necessary sponsorship and support in change management for solutions that are introduced within the department and beyond.
To address this challenge at scale, we compiled guidance for our managers on how to support and effectively work with Principal Engineers. This guide includes a short checklist allowing organizational leaders to easily verify whether they have structured the ways of working and expectations towards the Principal Engineers in the right way. This includes ensuring that the Principal Engineer is part of leadership rounds providing the right context about the department's priorities and upcoming projects, creating the necessary connections between key stakeholders and Heads of Product, and also includes examples of initiatives that Principal Engineers have driven at Zalando.
In this post we have provided insights into the key aspects of the role of a Principal Engineer at Zalando. While this is not an extensive description of the challenges and intricacies of the role, we hope that the information shared in this post will shed some light on the opportunities that the individual contributor path provides. Likewise, we will be happy if it serves as an inspiration for you to consider putting stronger focus on the individual contributor career path in your company.
If you found the post relevant to your career ambitions, we'd be happy to get to know you! Join us at Zalando as a Principal Engineer and help us shape the role.
There is no consistency in the industry for naming Senior+ roles. Some companies use (i) Senior, Staff, Senior Staff, Principal (e.g. Spotify), whereas others go for (ii) Senior, Principal, Senior Principal, ..., Distinguished Engineer (e.g. Amazon). We chose a naming scheme based on the second model. ↩