L3 (Software Engineer)
An L3 is someone who can pick up smaller tasks independently, though still might need oversight for some larger tasks.
An L3 is able to make direct technical contributions to the project they have been assigned. They will often work in the context of a larger project, and are managed by engineers at a more senior level. An L3 is expected to quickly learn the tools they have at their disposal, effectively finishing tasks in the appropriate time with minimal supervision.
L3s are effective in reaching out for help and collaborating with their team. They are also able to understand how the product / feature they are working on will be used, and ensures tasks are kept simple. For more complex tasks, it is expected that engineers at L3 will discuss the proposed solution with a lead before implementation.
An L3 should move to the next level in 1 - 1.5 years.
L4 (Software Engineer)
L4s should be able to pick up larger tasks and work on them independently without supervision. They also participate in the design of the larger project and help others.
An L4 is able to make larger, more impactful technical contributions with minimum supervision. L4 are also expected to participate in larger design discussions for the project, and helping the team course correct when needed. It’s also expected that a L4 will help identify and prioritize tech debt, working on improving the efficiency of the entire team. L4 are expected to start mentoring those on their team by volunteering for helping to onboard new hires, participating in code reviews, giving feedback to their peers, and hosting tech sessions to help their peers develop.
It is expected that all L4 will be skilled in at least one area outside their core code-writing abilities (e.g., reliability monitoring and alerting, documentation, integration testing, production hygiene, support duties, marketing, or front end development).
An L4 is also expected to help to build Dgraph as a company - helping the community, interview new candidates, write blog posts, speak at meetups, and other things that would help Dgraph grow as an organization.
An L4 should move to the next level in 1.5 - 2 years.
L5 (Software Engineer)
L5s have influence well beyond an individual contributor. They exhibit a combination of proven team leader as well as outstanding individual contribution. L5s are also expected to provide excellent technical mentorship to the engineering team and conduct meaningful code reviews which can streamline the code base and catch bugs before shipping.
At L5, it is expected that engineers have influence far beyond their individual technical contributions. Often, this means that an L5 owns their immediate area of work and is generally helping to set technical direction and priorities for the team. An L5 takes full ownership of the project, even when this involves many activities beyond coding (e.g., planning and scoping, reliability monitoring and alerting, documentation, integration testing, production hygiene and support duties) and potentially making design judgment calls where there is no obvious “best” solution.
An L5 would own the RFC process for complex tasks in the roadmap - an L4 or more junior members in the team can help edit certain portions. But the L5 will take ultimate accountability of the process.
L5s should write blog posts and content with more technical depth and should demonstrate strong engagement with user community, speak at various events and host webinars.
L5 exhibit a strong combination of team leadership and individual contribution. They should be capable of leading implementation for technical problems, but may choose to delegate these responsibilities to the team in order to be a force multiplier for the team.
L5s should exhibit some combination of team leadership and outstanding individual contribution. Examples include:
- A proven team lead who is still writing code (though not as much as before).
- An exceptionally strong individual contributor with a history of deep technical contributions.
Most will typically lie somewhere in between these extremes. L5s do not require continual steering to keep them and their projects on track once started.
L6 (Tech Lead Manager)
L6 individual contributors (ICs) typically solve large, open-ended problems where the high-level nature of the solution was unclear to the leaders who presented the problem. They model strong teamwork and collaboration skills.
L6s are able to lead a large project team in all technical aspects. They are expected to own the technical design of the project, and work on the product roadmap. They should be able to anticipate problems/gaps in the roadmap based on their experience. They have the technical know-how and are expected to demonstrate that internally as well as externally, giving strategic direction to the technical product.
L6s thrive on ambiguity and actively reduce chaos from the system. They will provide technical leadership to a large project team. They would be go-to technical person for the entire company, beyond their team. They are expected to handle all technical aspects of the product that they own.
While some TLMs will be more effective in IC roles/engineering outcomes, others may play more of a people management role where they mentor team members in areas beyond technical skills development. These managers would then also guide team members on their career development, mentoring them in areas beyond just the immediate engineering project.
They should be able to understand user needs really well and lead the product. To do so they need to regularly engage with users across various forums and be able to give product demos when required. As they define the product roadmap - they will work with TPM team to breakdown product requirements into Epics and Epics into user stories.
They will work with internal stakeholders like marketing, sales, pre sales to demonstrate how the product is technically superior to competitors in the market. They also need to engage with external stakeholders apart from users, like industry experts, influencers - by speaking in depth on various technical challenges at conferences, writing insightful articles that demonstrate the depth of their expertise and thought leadership. Their engagement with the community should enable Dgraph to attract top talent.
L7 (Engineering Director)
Capable of leading multiple L6s and their teams across a wide variety of systems, business domains, and products. Allowing their leaders to execute, innovate, and deliver independently while staying engaged via efficient review, auditing, and reporting mechanisms. Capable of recognizing where there is a need for new teams or job functions across their organization and efficiently coordinate with leadership and other orgs to execute on filling the gaps.
Define mechanisms to proactively engage with customers, leadership, and stakeholders across their domain to close any potential gaps and surface risks early. Capable of setting the high-level multi year vision for their organization to address critical needs for the company. Effectively lead teams through changes in priorities, team structure and business environment
Responsible for identifying and grooming the next generation of leaders via strategic collaborative assignments across Dgraph. Able to create a high performance and all inclusive culture for their organization that impacts the company’s brand, attracts talent, fosters top performers and proactively identifies and promotes top talent. Play a key role in calibrating talent and ratings across the company.