Opinions & Insights
Engineering Career Development at Netlify
At Netlify, career development and continuous learning is something we take seriously. As such, the Netlify engineering organization has 2 clear and distinct tracks: you can advance into management, or you can advance as an individual contributor. Individuals can move between those 2 tracks as opportunities and interests align. It’s been great to see individual contributors try out the management track and vice versa. We have individuals who moved to the individual contributor track from a manager role.
It’s a strength to the organization and to individuals to have these varying experiences and responsibilities. The distinction in these tracks is intentional as it allows us to set clear success criteria for everyone in the role they are in. At a high level, individual contributors are accountable to building the product (or the work owned by the team), whereas managers are accountable to the people. There should be no ambiguity that for managers people responsibilities come first.
Here’s a visual of Netlify’s career advancement tracks at this time.
The early years of an engineer’s path is focused on deepening their technical experience. Once an individual contributor achieves the senior level and is a strong performer, they can choose to try out the management track or remain on the technical path.
Moving beyond the senior role is a choice and is based on the opportunities available on the team. From this point on individuals will need to focus on their leadership skills, be it technical or in management, alongside the core responsibilities of the role. An individual contributor can choose to stay at the senior level and remain a strong contributor for as long as they would like. This is not always the case in every company but for us we see this as a strength. We celebrate and recognize our senior contributors who are passionate about their work and have a high impact on the success of the team.
Management is not always the right path for everyone nor should it be required for individuals to advance and take on leadership opportunities. The management role is a craft and individuals in this role are accountable to the success of the people on their team. Making individuals empowered, engaged and productive is a manager’s responsibility. Managers also hold a big part of the responsibility of driving a solid partnership with our product organization and helping the team solve for what the business needs to succeed.
For the technical track of our career development, the following framework provides a common guideline for everyone in Engineering and allows both the individual and manager to set clear expectations.
Here’s a high level view of our career framework. You can think of it as a 3x3 matrix. or something like this:
This matrix has 3 core competencies:
- Values or guiding principles that we believe help us as individuals and team succeed
- Technical skills which are necessary for the role
- Leadership skills
Every individual in our organization is expected to demonstrate these skills from our most junior level to our VPE and CTO.
As individuals grow in the role and progress across the levels, there are themes across the matrix (left to right if you will). Work item Complexity increases with experience. A junior engineer will need work to be well defined and broken down into smaller tasks. With experience the work and the definition become more complex and less defined.
Another distinction is what we refer to as the Sphere of Influence. This defines how well and who individuals work with regularly. A junior engineer will likely work mostly within their team. As individuals grow with experience they start to broaden their work and interact across the org and company. We’re fortunate to have an amazing team, so this is an area where we excel. Most individuals are not siloed to only working on small initiatives within their team. Most get the opportunity to work on broad initiatives where they interact with different team members from across the entire company. This allows everyone to have more impact within the development org, engineering, product and the entire company.
The last element of our matrix is what we call the Multiplier Effect. We define this as how many people an individual can make more successful or multiply their impact. That also increases with experience from immediate team members to the wider development org, engineering, product and the entire company.
The multiplier effect is a key differentiator for us here on the engineering team. We expect individuals in Staff and above roles to level up the team working alongside them. They amplify others' contributions. By making the multiplier effect a core element of our development matrix, we strengthen the collaboration and the expectation that we work as a team and our output is much stronger than that of any individual strong contributions alone.
To make this more concrete, let’s look at two key roles that we hire for on the technical track:
Senior Software Engineer
- Senior Engineers on the team are strong contributors. They work closely with their peers on the development team as well as other members of the pod. Pods are full stack teams with contributors from all specialties such as backend, frontend, design, support, docs, product and SRE.
Staff Software Engineer
- In addition to the responsibilities outlined for Senior Engineers. Staff engineers are expected to have a broader impact, a deeper product company experience and an interest in advancing the team and company from a technical direction. They are mentors to others and enjoy opportunities to level up the team. As strong contributors they are able to provide guidance on complex technical initiatives and collaborate with individuals outside of the engineering organization.
All these different elements of our career development framework help managers and team members objectively identify areas of strength and areas for improvement. This allows for growth to be the shared responsibility of both individuals and encourages everyone to continue to develop their skills. It’s a win-win strategy for Netlify and for members of our team.
Everyone at Netlify has an allocated yearly education stipend (in 2021, it’s $2000). This is offered to help everyone get the resources they need to support their growth and the way they prefer to learn throughout the year. We are also looking to provide coaching and educational resources so that learning opportunities are provided as part of work and not something we expect team members to do during their personal time.
Our engineering team is extremely fortunate to have doubled in numbers in 2020 and we are looking to grow again this year. We are constantly iterating on ways we can grow as an org, from onboarding issues with resources that allow every new team member to get what they need to a let’s learn Rust together series with our amazing Sr. Engineer, Divya Tagtachian. We are remote and distributed across the US and EMEA so we need to balance between synchronous and asynchronous communication and collaboration tools. We iterate on everything including our process. We aim to ship small, ship fast, learn and iterate.
It’s really exciting to see what is ahead of us this year and all the great work this team has been able to accomplish. If you’re interested in joining us, don’t forget: we’re hiring!