Backend Trainee to Maintainer transition
In order to increase the number of DB Maintainers, there was a suggestion made where trainees that are far along in the process could be given maintainer rights, but if they feel that any MR is too complex for them, they can defer it to another maintainer.
I was wondering if a similar approach could work to increase the pool of Backend Maintainers?
The reason I think this is worth discussion is because the ratio of engineers to maintainers is steadily increasing. The number of trainees is increasing too, but we seem to be struggling to convert trainees into maintainers as seen in #5382 (closed).
What would this look like?
When a trainee is progressing well after a period of time, and they can confidently address ~75% of MR's assigned to them for maintainer review, then they are given maintainer rights.
When they have maintainer rights, if they are assigned an MR that they feel is non-trivial or too complex in comparison to their previous reviews, they perform an initial review and pass to another maintainer for confirmation.
What are the benefits?
We increase the pool of maintainers that can address the majority of issues. I don't have data to confirm this statement, but with our iterative approach to MR's, I would think that at least 50% of MR's are relatively 'straightforward' to review.
With the possible dilution of reviews, we don't have to wait for complex MR's to arise to verify trainees can progress to maintainer status.
New maintainers are still given support to process complex MR's. (I also assume that any maintainer, when given a complex MR, would still ping another maintainer if they had questions about an implementation.)
What are the disadvantages?
Giving people maintainer rights too early : One could argue that we already have this challenge. Part of spending time as a trainee is to build trust to hold maintainer rights. This may mean granting trust sooner, but trainees also have an understanding of what that trust means. I'm not proposing to make everyone a maintainer and lose all trust, just to trust that the engineers in this program are already aware of the responsibility that comes with maintainer status.