- name: Intermediate
  "Values Alignment":
    Collaboration:
    - Independently brings in expertise from other contributors to raise the standard of their work.
    - Gives positive feedback in public and negative feedback privately with care.
    Results:
    - Executes tasks in team projects, demonstrating ownership of them from conception to completion. 
    - Requires supervision to deliver projects in time, growing bias for action.
    Efficiency:
    - Recognises complexity of the team's product or the team's process, and proposes solutions accordingly.
    - Capable of implementing solutions based on the complexity, and asks for guidance when the complexity increases unexpectedly.
    - Proposes changes that improve the efficiency of the team.
    "Diversity & Inclusion":
    - Requests expert help from others recognising that  diverse opinions/experience improve the quality of their solution.
    - Shows that they are aware of differing priorities between groups.
    Iteration:
    - Balances short term gains and long term benefit with team's help. For example, advocating for technical debt resolution and understanding the opportunity cost in comparison to a quick customer win.
    - Creates proposals for their team that clearly defines the problem, offers alternatives, and proposes a solution. These proposals are small in scope, looking to address problems with a small surface area.
    - Identifies opportunities for the team to deliver results in a more iterative way.
    Transparency:
    - Provides context and background on projects and issues so that those with no prior knowledge are able to contribute to the discussion.
  "Technical Competencies":
    Quality:
    - Writes tests with every MR and works to uplift the quality of the code.
    - When working in an existing area of the code base, is able to recognise and propose an improvement.
    - Able to give an estimate and execute on proposals that do not affect deliverables.
    Security:
    - Is aware of company established development processes that are aimed at reducing security related issues.
    - Adheres to security best practices for their domain.
    - Able to take on security related issues, come up with an effective approach and deliver a working solution.
    Complexity:
    - Able to tackle all but large issues independently. Large issues with provided clear requirements and design implementation require little effort, issues that are not clearly defined require team assistance.
    - Asks for help when an issue is taking longer to implement, works with the team to split issue into further issues.
    "Technical Stewardship":
    - Aware of technical debt and tries, as far as reasonable, to not introduce more of it.
    - Performs thorough reviews within their domain and submits helpful comments.
    Performance:
    - Able to resolve moderately complex performance issues independently.
    - Able to monitor and debug performance issues of moderate complexity and resolve them.
    "Open Source":
    - Encourages participation from those in the community.
  "Leadership Competencies":
    "Growing others":
    - Still largely concentrates on growing themselves.
    - Continually looks for opportunities to grow their technical skills.
    - Often works with other team members to grow their own understanding of the team's domain through code reviews, pair programming or mentoring sessions.
    - Participates in code reviews and uses [best practices](https://docs.gitlab.com/ee/development/code_review.html#best-practices) when giving and receiving feedback.
    - Provides additional feedback whenever possible (i.e. 360s, Pulse, etc).
    "Communication":
    - Communicates clearly and effectively, especially in writing, when working with peers, stable counterparts or their manager on technical tasks or issues.
    - Follows the GitLab [communication guidelines](https://about.gitlab.com/handbook/communication/).
    - Seeks assistance in clearly managing expectations around the delivery of their work.
    "Ambiguity":
    - Delivers work given clear requirements within the context of their team.
    - Makes responsible decisions, and evaluates trade-offs.
    - Remains calm under pressure.
    "Business Acumen":
    - Demonstrates knowledge about how their group's product category and features fits into their stage.
    "Process":
    - Works effectively within established processes, and keeps themselves current as processes change.
    - Seeks to understand how their work integrates with processes across the company.

- name: Senior
  "Values Alignment":
    Collaboration:
    - 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.
    Results:
    - Demonstrates ownership of projects that require collaboration with other teams.
    - Creates a sense of urgency to deliver results and encourages bias for action in others.
    - Helps others in their group to achieve their group's goals.
    - Follows up on suggestions that they make and issues that they create.
    Efficiency:
    - 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.
    "Diversity & Inclusion":
    - 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.
    Iteration:
    - 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.
    Transparency:
    - Holds their team to a high standard of transparency and encourages others to work in the open.
  "Technical Competencies":
    Quality:
    - When working in an existing code area, leaves it in a better state than before.
    - Improves the state of our test framework and any other dependencies.
    - Guides others on improving their tests.
    - Always looks to improve our test coverage with every MR coded or reviewed.
    Security:
    - Contributes to the team's understanding of security and how they impact the team's domain.
    Complexity:
    - Able to take on large issues with vague requirements and design an implementation.
    - Recognizes when an issue becomes much larger than originally expected and able to create further issues and propose the next simplest implementation to follow.
    "Technical Stewardship":
    - Helps to set and enforce coding standards.
    - Looks to maintain coding consistency across the code base.
    - Provide helpful reviews across many domains and be mindful of how changes may impact other teams.
    - Be a Maintainer of at least one (smaller) project.
    Performance:
    - 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-hosted product.
    "Open Source":
    - Act as coach for open source contributors.
  "Leadership Competencies":
    "Growing others":
    - During reviews, takes time to explain *why* code could have been written or approached in a different way.
    Communication:
    - Communicates clearly and effectively, both written and verbally, when working with team-members, managers, customers and the wider community while advising others, setting expectations, or suggesting improvements.
    "Ambiguity":
    - Delivers work given unclear requirements within the context of their team.
    "Business Acumen":
    - 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.
    "Process":
    - Looks for opportunities for process improvements within their team and works with others to implement process changes.

- name: Staff
  "Values Alignment":
    Collaboration:
    - Regularly engages with other teams in their section.
    - Identifies situations where collaboration between teams will yield good results.
    Results:
    - Iteratively works towards results on cross-team projects without over-analysis.
    Efficiency:
    - Chooses work that is appropriate to their level and works with the Engineering Manager to assign work to other members of the team.
    "Diversity & Inclusion":
    - Directly or indirectly takes part in the hiring process to help ensure that we bring in a wide variety of experience into our teams.
    Iteration:
    - 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"](/handbook/values/#make-two-way-door-decisions).
    Transparency:
    - Champions a no-blame culture and encourages learning from mistakes.
  "Technical Competencies":
    Quality:
    - A champion for Quality and makes sure it is everyone's responsibility.
    - Mentor others on how to keep the quality bar high.
    - Hold MRs to our high standards of done and work with engineers to improve their tests and prevent future regressions.
    - Takes on initiatives that address performance issues and work with the quality team on any initiatives that would simplify life for the developers and contributors.
    - Champion for tech debt, customer issues, and high severity bugs.
    Security:
    - A champion for security.
    - Work closely with our internal security team, provide guidance to others on the team regarding how to properly address security issues and vulnerability.
    - Expert at using the security features of our product and mentor to others to ensure we adopt our own tools.
    - Provide feedback to the secure team and act as a customer for this stage of the product.
    Complexity:
    - 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.
    "Technical Stewardship":
    - Be a gate keeper for quality as a Maintainer of your team's primary project (usually GitLab CE & EE).
    Performance:
    - 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-hosted product.
    "Open Source":
    - Actively participates in open source.
    - Contribute bugs and features to upstream dependencies where appropriate.
  "Leadership Competencies":
    "Growing others":
    - Continually works with others in their section to help those individuals grow their understanding of the team's domain and technology.
    Communication:
      - Communicates clearly and effectively, both written and verbally, when working with managers, directors, customers and other sub-departments, while advising others, setting expectations, or acknowledging mistakes.
    Ambiguity:
    - Able to deliver results despite starting from unclear requirements.
    - Makes responsible decisions, and evaluates tradeoffs.
    "Business Acumen":
    - Exhibits a deep understanding of all of the products owned by their section, how customers use them, and how they fit in to the larger business.
    Process:
    - Looks for opportunities for process improvements for their section and works with others to implement process changes.
