Dev Career Framework: Senior Backend Engineer

Dev Senior Backend Engineer (BE)


Intermediate Backend | Senior Backend | Staff Backend | Dev Framework | Development Framework | Engineering Framework


Dev Senior Backend Engineers at GitLab are expected to exhibit the following competencies:


Senior Leadership Competencies

Engineering
  • Communicates clearly and effectively, both written and verbally, when advising, setting expectations, or suggesting improvements. This applies whether interacting with team members, customers, or the wider community.
  • Able to deliver work, even when given unclear requirements, within the context of their team.
  • Demonstrates knowledge about how their group and stage fit into the larger business.
  • Able to suggest alternative solutions to customer problems based on what they know about other areas of GitLab.
  • Looks for opportunities for process improvements within their team and works with others to implement process changes.

<%# ##### Development %> <%# No differences between engineering and Development senior leadership competencies %>

  • Leads technical architecture discussions and help drive technical decisions
  • Performs Code Reviews across multiple stages on a regular cadence
  • Participates on Working Groups as the need arises

Senior Technical Competencies

Engineering
  • Contributes to the team’s understanding of quality and how it impacts the team’s domain with respect to their role.
  • Able to take on large issues with vague requirements.
  • Able to resolve complex challenges.
  • Acts as a Coach and Mentor to others.
Development
  • Improves the state of our test framework and any other dependencies.
  • Coaches others on improving their tests.
  • Always looks to improve our test coverage with every MR coded or reviewed.
  • Ensures security best practices are followed across many domains and escalate security risks
  • Able to take on large issues with vague requirements and design an implementation.
  • Implements the GitLab Iteration value when faced with an issue that grows in size or complexity by converting the issue into an Epic or breaking it down into smaller issues.
  • Helps to set and enforce coding standards.
  • Looks to maintain coding consistency across the code base.
  • Provides reviews across many domains and be mindful of how changes may impact other teams.
  • Improves the engineering projects at GitLab as a project maintainer. For more information regarding timelines and exceptions, see this page.
  • Able to resolve complex performance issues.
  • Mentors others on best practices.
  • Understands how code in their domain performs in production on GitLab.com.
  • Understands impact of the architecture and dependencies required for the self-managed product.
  • Act as coach for open source contributors.
  • Able to work with 3rd party services regardless of the quality of the documentation
  • Identifies slow and inefficient code produced by team members
  • Provides high level of expertise in server side programming languages and their frameworks
  • Understands the DB constraints, relational vs non-relational, and potential limitations
  • Able to debug production issues across services and multiple levels of the technical stack
  • Develops the architecture by extending existing features

Senior Values Alignment

GitLab
Development
  • Engages with the stable-counterparts for their team looking at how to improve the working relationships and processes.
  • Represents their team, and considers the impact to the team, when in conversations with others.
  • Provides feedback that focuses on the business impact of the behaviour.
  • Extensive user of GitLab (dogfooding) and regularly makes helpful suggestions for feature proposals in a variety of stages.
  • Demonstrates ownership of projects that require collaboration with other teams.
  • Leads conversations towards action and encourages bias for action to deliver results.
  • Helps others in their group to achieve their group’s goals.
  • Follows up on suggestions that they make and issues that they create.
  • Seeks out ways to be more effective in their role, while also starting to mentor others in ways to work efficiently.
  • Proactively takes on work that enables greater efficiency of others in the team.
  • Seeks out diverse opinions to improve the quality of the team’s work, for example through code review from outside the team.
  • Uses people’s talents to maximize the results of their group.
  • Independently balances short term gains and long term benefit.
  • Creates proposals for the team that have a wide scope but still contain an iterative proposal for delivering the outcome.
  • Identifies opportunities to improve the processes around iteration.
  • Holds their team to a high standard of transparency and encourages others to work in the open.
  • Directly or indirectly takes part in the hiring process to help ensure that we bring in a wide variety of experience into our teams.