Seeks assistance in clearly managing expectations around the delivery of their work.
Delivers work given clear requirements within the context of their team.
Makes responsible decisions in alignment with GitLab's CREDIT values by ideating options, identifying the consequences of each option, evaluating trade-offs and seeking advice from others when necessary.
Thinks critically by understanding why something needs to be done, determining the root cause of the problem, identifying objectives and examining previous efforts.
Works effectively within established processes, and keeps themselves current as processes change.
Seeks to understand how their work integrates with processes across the company.
Performs Code Reviews within their domain on a regular cadence
Intentionally develops the skills necessary to become an expert on a specific subject
Shares knowledge with team members after becoming a domain expert
Considers quality, security, and performance of assigned tasks.
Independently plans, estimates and, delivers small and moderate solutions.
Seeks guidance when blocked and iterates to a solution.
Performs thorough reviews within their domain and provides helpful feedback to team members.
Encourages participation and engages with contributions from those in the community.
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.
Is aware of company established development processes that are aimed at reducing security related issues.
Adopts a security minded software development approach by following Secure Coding Guidelines early in the development process.
Able to take on security related issues, come up with an effective approach and deliver a working solution.
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 the issue into smaller issues.
Proactively looks for opportunities to eliminate technical debt by creating technical debt issues, resolving technical debt issues and writing quality code that reduces additional technical debt.
Performs thorough reviews within their domain and submits helpful comments.
Knows which tools are available to them to debug performance problems and understands how to use them.
Understands how their code would be used in a production instance and how they can access monitoring information (if available for their group).
Encourages participation from those in the community.
When working in an existing code area, leaves it in a better state than before.
Proficient or fluent with one or more database languages to design, create and manage databases
Proficient or fluent with one or more server side programming languages and their frameworks
Able to design and build APIs
Able to work with 3rd party services when good documentation is available
Avoids slow and inefficient operations
Ensures appropriate security mechanisms are implemented using Authentication and Authorization
Able to monitor the health of API and Database using Monitoring Tools
Able to debug issues that occur in the Production Environment
Develops documentation and instructions explaining how to work with GitLab Products
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.
Executes tasks in team projects, demonstrating ownership of them from conception to completion.
Requires supervision to deliver projects in time, growing bias for action.
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.
Analyzes team processes and proposes areas where efficiency improvements can be made.
Requests expert help from others recognizing that diverse opinions/experience improve the quality of their solution.
Collaborates and consults with stable counterparts including understanding their roles and responsibilities and focusing on fostering productive working relationships.
Shows that they are aware of differing priorities between groups.
Prioritizes work by following GitLab Priority and Severity label guidelines, focusing on high-value activities, completing tasks with the earliest deadlines, and when in doubt, seek clarification regarding the priorities.
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.
Incorporates Iteration in every aspect of your job (examples: development, issue creation, planning, process improvements)
Provides context and background on projects and issues so that those with no prior knowledge are able to contribute to the discussion.