Dev Career Framework: Staff Backend Engineer
Dev Staff Backend Engineer
Intermediate Backend | Senior Backend | Staff Backend | Dev Framework | Development Framework | Engineering Framework
Dev Staff Backend Engineers at GitLab are expected to exhibit the following competencies:
Leadership Competencies
Engineering
A staff engineer generally operates at a team level scope, serving as the technical leader for one or more of their team’s domains of responsibility.
- Helps others across the organization understand their team’s domain and technology.
- Communicates clearly and effectively with team members and stable counterparts.
- Makes responsible decisions and evaluates tradeoffs impacting their team’s domain.
- Exhibits a deep understanding of their team’s features, how customers use them, and how they fit into the larger business.
- Improves team processes.
- Recognizes good solutions and clearly explains their merits to relevant stakeholders.
- Unblocks and enables team members and counterparts.
- Participates in processes which address complex technical challenges, such as the Architecture Design Process, as a DRI.
Development
- Able to deliver results despite starting from unclear requirements.
- Able to do a deep-dive in the GitLab codebase on any given API endpoint to understand it’s functionality and explain it to others
- Works frequently with other teams to coordinate major changes leading to efficient solutions
- Performs Code Reviews across the GitLab Codebase on a regular cadence
Technical Competencies
Engineering
- Has a broad skill-set with in-depth expertise in their team’s technical domain.
- Blends technical, product and design strategy, helping the team to be more productive.
- Represents their team as a domain expert when interfacing with other teams.
- Reaches beyond immediate needs, independently considering the longer-term, and is always looking beyond for ways to have a broad impact.
- Addresses challenges related to customers, quality, and security.
- Able to take on complex requirements and decompose them into a proposal of small deliverables.
- Engages in processes, such as the Architecture Design Process, to contribute to their team’s most challenging technical initiatives.
Development
- Advocates for quality and makes sure it is everyone’s responsibility.
- Mentors others on how to maintain and continue to raise the level of quality in everything we produce.
- Holds MRs to the high standards of our definition of done and collaborate with others to improve their implementation, tests and prevent any future regressions.
- Takes on initiatives that address performance issues and work with the Quality Department on any initiatives that would simplify life for our developers and contributors.
- Advocates for tech debt, customer issues, and high severity bugs.
- Advocates for security.
- Works closely with our internal security team.
- Provides guidance to others regarding how to properly address security issues and vulnerabilities.
- Expert at using the security features of our product and mentor to others to ensure we adopt our own tools.
- Provides feedback to the Secure team and act as a customer for this stage of the product.
- Able to take on complex requirements and decompose them into a proposal of small deliverables.
- Able to quickly pivot a solution based on feedback or complexity.
- Acts as a gate keeper for quality as a Maintainer of your team’s primary project (usually GitLab CE & EE).
- Able to guide and discuss performance issues from customers and quickly provide solutions that align with product direction.
- A champion of technical initiatives in this area and works closely with product to help prioritize the work.
- Understands how code for their group performs in production on GitLab.com and the impact of the architecture and dependencies required for the self-managed product.
- Actively participates in open source.
- Contributes bug fixes and features to upstream dependencies where appropriate.
- Identifies slow and inefficient code across multiple products
- Vast knowledge of server side programming languages and their frameworks
- Improves engineering standards, tooling, and processes
Values Alignment
GitLab
- Adhere to the Collaboration Competencies for this job grade.
- Adhere to the Results Competencies for this job grade.
- Adhere to the Efficiency Competencies for this job grade.
- Adhere to the Diversity, Inclusion & Belonging Competencies for this job grade.
- Adhere to the Iteration Competencies for this job grade.
- Adhere to the Transparency Competencies for this job grade.
Development
- Regularly engages with teams other than their own.
- Identifies situations where collaboration between teams will yield good results.
- Iteratively works towards results on cross-team projects without over-analysis.
- Works with the Engineering Manager to assign work to the team.
- Is able to take a long term goal and turn this into small actionable steps that can be implemented in an iterative way.
- Identifies and prevents decisions that are not “two-way door decisions”.
- Champions a no-blame culture and encourages learning from mistakes.
Last modified June 27, 2024: Fix various vale errors (
46417d02
)