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
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)