A Development Story: Engineering Career Paths at Dashlane
In the early days of a startup, everybody is doing a bit of everything. There are no clear scopes, titles, or boundaries between the early members.
As the startup grows, so do its people—and the time comes for the technical leader to add a bit more structure. That way, you can provide team members with guidelines on their development and also clarify expectations when you hire new engineers to the team.
One tool to do so is to create an Engineering Career Path (sometimes called a career ladder or career progression framework). This tool identifies the competencies and levels of each stage in one’s career, giving more clarity about what needs to be done to evolve in a certain direction. An Engineering Career Path may also identify the potential roles or levels an organization has available.
Finding the right time to introduce an Engineering Career Path is an important task, and you may not always get it right the first time. We started our first one at Dashlane when we had around 30 engineers, but looking back we probably could have introduced one when the team was around 10-20 engineers. Often, the need for a career path will arise naturally, and the most important thing you can do is listen to what your team is asking for.
A career path is key for retention as well. More often than not, engineers leave an organization because they don't have a clear career path. Being explicit and defining a career path helps ensure that every engineer has clarity into what might come next for them and how they can work in that direction. Additionally, a career path helps calibrate every level for fairness.
How to write your own Engineering Career Path
Technical leaders today can find a lot of inspiration online about various Engineering Career Paths, such as this example on GitHub. I encourage you to start with the simplest version possible then iterate.
In my experience, it’s best to co-create the career path with your team. Work with those interested in the topic who volunteer to contribute. This will ensure strong buy-in from the whole team.
Version one could be as simple as: Junior Software Engineer → Intermediate Software Engineer → Senior Software Engineer. It is an interesting starting exercise to share the vision for what is expected from each seniority level. You don't have to reinvent the wheel: Don't hesitate to take inspiration from existing career paths and adapt it to your own context and company culture.
You should include some roles that are beyond your current needs, so that the team is aware of those future opportunities. For instance, we had a Principal Engineer role in our Dashlane Engineering Career Path before we had one on the team.
If your company has defined values, you can also reference them in your Career Path to reinforce the connection to the company culture.
It’s also important to iterate from time to time as your organization grows and evolves.
Tracks and levels at Dashlane
The Dashlane Engineering Career Path is built along the following principles:
- There are many possible paths in a career, and each step is only a part of that journey.
- Members of the Engineering team can make vertical or horizontal moves both within the team and across the company, depending on open opportunities.
- This is not an up-or-out career ladder: People can choose to remain in their current roles and still grow as individuals and professionals.
- We have two leadership tracks: a management track and a technical track. We value and need leaders in both tracks to be a successful organization.
Progress is based on how you deliver achievements as much as what you deliver. It’s also about how wide-reaching your influence is at the company.
After the Senior Software Engineer level, there is a crossroad where the Career Path offers two alternate paths:
- You can keep growing your technical expertise and technical leadership as a Staff Engineer, Senior Staff Engineer, and eventually Principal Engineer.
- Or you can start the management track, where you will develop your people management skills and manage a team.
Both tracks are valued similarly and corresponding levels have similar expectations and compensations ranges. For example, Staff Software Engineers and Engineering Managers are the same level though they are on different tracks.
Eventually, those two tracks merge back together when you get to an Executive level and are looking at becoming a VP of Engineering or Chief Technical Officer (CTO).
The different levels depend on how your impact and influence grows. As a Software Engineer, it is mostly about your individual impact as an individual contributor. As you grow in seniority, we expect that area of impact to broaden or deepen, such that your contribution will influence at a team level, across multiple teams, across the whole organization, and eventually beyond.
The technical track
At a high level, people evolving in the technical leadership track should demonstrate influence and leadership along three pillars:
We expect Staff Engineers and our technical leaders to be multiplying factors on teams. This may take different forms, such as:
- Having a track record of successful technical team leadership
- Having a deep expertise in technology
- Being a recognized Thought leader / Evangelist
You can view archetypes of Staff Engineers here.
The management track
At a high level, people evolving in the management track impact the organization along four pillars:
Managers are expected to contribute across all four pillars.
Proportion will vary if you are a hands-on or hands-off manager. An example breakdown could look like the below:
- Hands-on: 30% People / 15% Operations / 15% Process / 40% Technical
- Hands-off: 50% People / 20% Operations / 20% Process / 10% Technical
Managers have a different role than individual contributors, and it is not always obvious how those differences manifest. That's why at Dashlane we have created an Experimental Management program. We want to give the opportunity for Dashlane engineers to try and experiment growing into the management track, while recognizing that it might not be a fit for everyone. Usually, an engineer will start managing a limited number of reports, usually two to three, and for the next six months will be exposed to management activities. These include: hiring, onboarding, 1:1s, management feedback, growth and compensation decisions, and other people situations. The engineer will receive coaching and training from our People team. At the end of the experimental phase, they can decide to opt out if they realize this is not for them and join the technical track. Or, they can confirm their interest in continuing to grow as a manager. Additionally, it’s possible for an engineer to switch back into the technical track after a period of time managing if they want to increase their technical contributions.
The Engineering Career Path gives the team clear expectations and guidelines so everyone knows how to grow from one level to the other. Each Dashlaner will work with their manager to identify areas of development, learning opportunities, and how to advance to the next level.
Our internal philosophy is that managers should consider a Dashlaner for promotion when they are performing at a minimum of 70% of the next level’s skills and responsibilities for a consistent period of time. We review promotions twice a year.
Life after Dashlane
Eventually, people leave Dashlane to pursue other challenges and live other adventures. It is also our role to help them grow and prepare for their entire careers, not just their careers at Dashlane. We encourage team members to share their career goals with their managers, so they can work toward them together.
The Dashlane Engineering Career Path
If you want to know more about our Engineering Career Path, you can access it here.