Development Department Career Framework: Staff

Development Department Competencies: Staff


Dev Framework | Development Framework | Engineering Framework


Staff at GitLab are expected to exhibit the following competencies:


Staff 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.

Staff 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.

Staff 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.