Trainee BE maintainer (GitLab) - Sean Arnold
Basic setup
-
Read the code review page in the handbook and the code review guidelines. -
Understand how to become a maintainer -
Add yourself as a trainee maintainer on the team page. -
Ask your manager to set up a check in on this issue every six weeks or so.
Working towards becoming a maintainer
There is no checklist here, only guidelines. There is no specific timeline on this, but historically most backend trainee maintainers have become maintainers five to seven months after starting their training.
You are free to discuss your progress with your manager or any maintainer at any time. As in the list above, your manager should review this issue with you roughly every six weeks; this is useful to track your progress, and see if there are any changes you need to make to move forward.
It is up to you to ensure that you are getting enough MRs to review, and of varied types. All engineers are reviewers, so you should already be receiving regular reviews from Reviewer Roulette. You could also seek out more reviews from your team, or #backend Slack channels.
Your reviews should aim to cover maintainer responsibilities as well as reviewer responsibilities. Your approval means you think it is ready to merge.
After each MR is merged or closed, add a discussion to this issue using this template:
### (Merge request title): (Merge request URL)
During review:
- (List anything of note, or a quick summary. "I suggested/identified/noted...")
Post-review:
- (List anything of note, or a quick summary. "I missed..." or "Merged as-is")
(Maintainer who reviewed this merge request) Please add feedback, and compare
this review to the average maintainer review.
Note: Do not include reviews of security MRs because review feedback might reveal security issue details.
When you're ready to make it official
When reviews have accumulated, you can confidently address the majority of the MR's assigned to you, and recent reviews consistently fulfill maintainer responsibilities, then you can propose yourself as a new maintainer for the relevant application.
Remember that even when you are a maintainer, you can still request help from other maintainers if you come across an MR that you feel is too complex or requires a second opinion.
-
Create a merge request for team page proposing yourself as a maintainer for the relevant application, assigned to your manager. -
Ask a maintainer to add you to the relevant maintainers list in gitlab-org/maintainers/ (e.g. gitlab-org/maintainers/rails-backend for GitLab backend). -
Keep reviewing, start merging 🤘
Potential reviews to point out in MR:
- Persist a Generic Alert information in the DB
- Add GraphQL mutation to create an alert issue
- Add Spam check endpoint
- Allow to pass
ended_at
to update Alert status GraphQL mutation - Provide PagerDuty integration data to frontend
- Extract
Incidents::CreateService
from create incident issue services - Support getting a todo for an alert in graphql api
- Add incident label for manually created incident issues (deep dive on code)
- Ensure syntax highlighting limits are configurable
- Enable new Rails connection handling (leave context for reviewers)
- Disallow demoted users from approving MRs (tested code manually)
- Introduce a new
GET /projects/:id/repository/changelog
API endpoint (ask Q to confirm prev behaviour, and suggest follow up)