Trainee BE maintainer (GitLab) - Bojan Marjanovic
Basic setup
- Read the code review page in the handbook and the code review guidelines.
- Understand how to become a maintainer
- Create a merge request updating your team member entry adding yourself as a trainee maintainer
- Ask your manager to set up a check in on this issue every six weeks or so.
-
Join the
#trainee_maintainers
Slack channel. - Optional: Consider finding a mentor to help you become a maintainer.
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.
As part of your journey towards becoming a maintainer, you may find it useful to:
- Shadow a maintainer while they review an MR. This will allow you to get insight into the thought processes involved.
- Have a maintainer shadow you while you review an MR as if you were a maintainer . Ideally, this would be with a different maintainer to the above, so you can get different insights.
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.
Tip: There are tools available to assist with this task.
FAQ
-
Should I ask for feedback for reviews on very small or trivial MRs that got merged without any additional feedback from maintainer?
- Every trainee maintainer is encouraged to list all reviews, but may opt to not ask for maintainer feedback in trivial merge requests. This is also in sync with being respectful of other's time
Code Review Pairing
Much like pair programming, pairing on code review is a great way to knowledge share and collaborate on merge request. This is a great activity for trainee maintainers to participate with maintainers for learning their process of code review.
A private code review session (unrecorded) involves one primary reviewer, and a shadow. If more than one shadow wishes to observe a private session, please consider obtaining consent from the merge request author.
A public code review session involves a primary reviewer and one or more shadows in a recorded session that is released publicly, for example to GitLab Unfiltered.
- If the merge request author is a GitLab team member, please consider obtaining consent from them.
- If the merge request author is a community contributor, you must obtain consent from them.
- Do not release reviews of security merge requests publicly.
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 updating your team member entry using the template proposing yourself as a maintainer for the relevant application, assigned to your manager.
-
Keep reviewing, start merging