Djangonaut Selection Process

Hi folks!

For our first two sessions we’ve only been able to select 10% of the applicants. With such a low selection rate, it’s likely that people are going to feel demoralized after a few rejections. We’d like to share what we use to evaluate prospects and how we make our selections. The goal here isn’t to make it easier to game the system, but to encourage people to keep applying.

Helpful attributes of contributors

When we designed our application, we started off with a series of attributes that we felt are beneficial to open source contributors.

Resiliency: Contributing to Open Source Software (OSS) requires some ability to weather a storm, whether it be a bad interaction, waiting for a review or knowing how to have a difficult conversation. Contributors who show a higher level of resiliency are more likely to continue to contribute.

Personality: We should be striving to have a range of personalities in the program to avoid falling into ruts or narrow minded approaches.

Availability: Time, emotional and energy are the biggest costs for contributors. We need to make sure that the person has given full consideration to what this would mean and that they can be available for the duration of the program.

Knowledge: A contributor doesn't need to be an expert, but they shouldn't be new to programming.

Motivation: A person with a strong intrinsic motivator to be a part of the community is more likely to stick around. However, being externally motivated to help others can drive people well.

Underrepresented: This program exists to help elevate those who have been underrepresented in the past. In order to do that we need to seek them out.

Evaluation format

The next step is determining how to identify prospects that are most likely to be positive and contributing community members. For this, we opted to create an application that asks several questions with short-ish answers. We made this choice for a variety of reasons:

✨ Requires nearly 1 existing community member for each Djangonaut, the program is likely to only support a small number of Djangonauts

✨ We want the selections to occur quickly to convert the excitement of applying, being accepted into motivation during the program

✨ Applications must be evaluated equally, if you review one application, you must review all

From a technical perspective we require that prospects have knowledge of Python, Django and Git. They don’t need to be an expert, but they should be familiar with them at a minimum. Evaluating this is incredibly difficult though. We’ve settled on asking people to go through the Django contributor’s tutorial. This tutorial covers the areas of Git that a person needs to know to be a successful Djangonaut.

How applications are evaluated

Generally, applications are reviewed by organizers. Great efforts are made to ensure that applications are reviewed in the same mental state. If an organizer is having a bad day, they know not to evaluate applications as that will reflect in their scoring. Each evaluator will score every application where the scorable questions will be given a 1, 0 or -1. The questions that are not scorable are those that are helpful contextual information for their Navigator and Captain such as availability, how they like to work and what areas of contributing interest them.

An application gets a total score based on each evaluators’ scoring. From there a cut-off is formed, typically an average of 3 points or more. The applications are reviewed amongst their representative groups to form the top responses. Each of these are evaluated again to confirm that the scores are deserved and reasonable.

As the selections move towards lower scores, other facets are introduced to make decisions. Most frequently timezone, availability and team alignments will factor in to round out the selections.

Once the teams are identified, the organizers will review the selections once more to ensure things look reasonable. After that, application result notifications are emailed out and the teams are finalized.

How to have a standout application

The selected Djangonauts for past sessions had standout applications that impressed us in various ways.

If you’d like a standout application, consider the following.

Complete the applications: We only considered complete applications. Be sure to complete the tutorial and answer all required questions. This includes pushing your branch to GitHub, a step that’s frequently missed

Community Connections: We favored people who have connections to the Django community over those that had none or few. An example could be join and participate on the Discord server or the forum, or join a user group.

Resilience Over Time: We favored people displaying resilience over a period of time. Think weeks rather than a single day because open source contributing is a marathon not a sprint.

Django Experience: We favored folks who have some experience with Django over those with none. We are not a place to learn Python or Django; we assume folks coming in already have this knowledge and experience, but are trying to experience with open source contributing. This also means if you have made substantial contributions to Django, maybe you should not be applying to participate in the program but instead join as a mentor!

Authenticity: We favored answers that felt authentic rather than generated to match our ideals. We all have various experiences and unique perspectives, and we want to hear yours!

Provide a reason to be selected: We had 172 and 144 applicants for our first two sessions. Unfortunately, we can only select ~10% of them. We want to know why you should be a Djangonaut!

We hope this helps you understand more about how Djangonaut Space handles the application, evaluation and selection process for Djangonauts. If you’re on the fence about applying, please do! We’ll always do our best to make Django a welcoming place for everyone.