A good candidate for a Junior Developer position is someone who is likely to quickly become an exceptional developer at GitLab once they learn the requisite skills. Specifically, this means that a good Junior candidate:
Junior Developers are an investment - they will require more support with time and energy during the early stage of their career at GitLab, so they 'cost' more productivity than a higher-level developer. Because of this 'cost' we should be very discerning about who we consider for a Junior position.
While we reserve the right to make exceptions in atypical situations, Juniors should be hired with the following staffing restrictions in mind:
It's important to provide Junior Developers with the right level of support so that they can improve their skillset efficiently. In order to accomplish this, we should encourage Juniors to tackle any work they think themselves capable of accomplishing, and be available to help them along the way. Assigning "safe" work to Juniors may minimize their risk, but it will also stunt their growth. To use an analogy, we want to make sure we are a good safety net, and not act as guard rails.
Every Junior Developer should collaborate with their Manager to produce a coaching plan. This plan should clearly identify skills that the Junior needs to acquire in order to qualify for an Intermediate level position, and describe how the Manager is going to work with them to help them acquire those skills efficiently. This help could come in several forms, including:
The coaching plan should be reviewed and updated on a regular cadence to make sure the Junior and their Manager share an understanding about how the Junior is working to progress in their career.
Promotion for Junior Developers should happen along the same lines as promotion for any other Developer. While the coaching plan should help facilitate this promotion, it should not be viewed as a "promotion checklist" - that is, there is no guarantee that completion of a coaching plan will result in a promotion, nor is full completion of a coaching plan a prerequisite for promotion (although it should obviously be a factor in making that decision).