Team selection
Relevant CorrelAid actors
project coordinator
project team lead (if already found)
selection committee
Goals
find a diverse, capable team
Team selection criteria
tl;dr: qualitative considerations that ensure a balanced team + score generated by qualitative coding of answers in application form.
Score
We try to rank applicants on the following dimensions using a score that we generate using qualitative coding of open ended and closed ended answers. See below for details.
interest in topic / motivation for the project
can the person learn something on the project?
is the sole motivation the technical challenge or learning new technologies? Ideally, project members should also be intrinsically motivated to help the NPO
technical and non-technical skills and fit to project requirements
whether they had already the chance to participate in a CorrelAid project or not
people who have unsuccessfully applied to a project in the past should be preferably considered whenever possible
people who apply for the first time should be preferably considered compared to people who have already participated in a project
Additional guidelines
The score is not the definite selection criterium though. It is a helper to support team selection committee members to make decisions that follow the following additional guidelines:
Overall, at least 50% of team seats are filled with applicants with genders currently underrepresented in tech (currently everyone who's not a cisgender man; cisgender = people whose gender identity matches their sex assigned at birth)
applicants belonging to groups currently underrepresented in tech should be given priority, especially when the project affects is relevant to their community/ies (e.g. in the motivation text it becomes apparent that a Black person is applying for a project working on anti-discrimination)
All team role seats ("lead", "member", "trainee" ) are filled. Typically, one spot in the team is reserved for a beginner ("trainee" role).
unofficial roles: When making a selection, the selection committee should aim to select people who have different areas of expertise so that they can help out each other. Here are some unofficial team "roles" that can be useful to think about when selecting team members beyond the "lead", "member", "trainee" distinction:
methods specialist: this is someone who has a high (theoretical) expertise in statistical and machine learning methods that are relevant to the project. They can give input when deciding on which model to use for specific use case.
programmer: they are quite experienced in the programming language used for the project and know different tooling and best practices that will help with code quality (e.g. how to setup a Python project). Ideally, this person is also quite good at git and can help other team members with merge conflicts and other git problems.
domain specialist: this person already knows a lot about the domain of the project (e.g. they've worked a lot with environmental data). They can give valuable input about the intricacies of the problem at hand.
project manager: this person has experience managing (data) project. They can help the team be as productive as possible. Ideally, this coincides with the team lead but also team members or even team trainees can be good "project managers"
data wrangler: this person is quite good at and enjoys cleaning and wrangling all sorts of data. They can speed up the process in the beginning of the project to get to a state where analysis / modelling / visualization can be done.
Process
Find a selection committee
After the call for applications is sent out to the network, you can start looking for a team selection committee. Usually a team selection committee consists of 2-3 members:
the project coordinator(s)
optional: 1-2 people from the CorrelAid core or crew (e.g. board or ethics committee or other teams)
if available: the future team lead
The selection committee should be comprised so that gender parity is respected. In addition, it makes sense to include people with differing levels of experience. At least 1-2 of the members should be able to judge applications with regards to technical skills. People who have applied to the project cannot be part of the team selection committee.
You can find members for your committee by posting on Slack in #crew-directory or #project-coordination. Best include some information about the project. For example:
Do you want to be part of the team selection committee for [PROJECT NAME]? The project will be about training a model to do XX. It will be in Python.
Create Slack channel
Create a Slack Channel on the CorrelAid slack for the project. Give it a meaningful name that team members can remember.
The visibility of the channel should be private by default to give team members a sense of team-internal privacy. If the project is an open source project, you can also discuss with the team later whether they want to create a public channel.
Why is it important that project teams communicate on Slack?
Access to the community. Having the team communication on Slack gives team members instant and direct access to the community, e.g. the #help channel. It is also easier to get in contact with their project coordinator(s) because they are part of the channel, get infrastructure support (#infrastructure) and to feel part of the larger CorrelAid community.
Better project coordination. While the main work of the project coordinator is in the earlier phases of a project, they are also responsible for making sure that the project works as expected. If the project coordinator is part of the main communication channel, they can get a better feeling for how the project is going and offer their help directly.
Archive. Communication is centralized and stored on Slack. This means it is easier to go back and find old conversations if necessary.
Prepare team selection
Set up Google Sheet
We have a google sheet template that - together with the HTML report (see below) facilitates the team selection process. This google sheet contains only pseudo-anonymized data (numeric ID, gender, role the person applied for, whether the person participated in a project before) of the applicants to keep the selection process as anonymized as possible.
Go to your project subfolder in the project coordination drive
Click New -> Google Sheets -> From template, then select the template
team_selection_template_projectcycle
A new file will open. Give it a meaningful title, e.g "Team selection project cycle Q4 2023"
For each project that you want to do team selection for:
Duplicate the tab/sheet "Template"
important: name each project sheet with the project id, e.g
2022-04-LAU
important: in each project sheet, fill in the project id into cell B1 (will be highlighted in yellow), e.g
2022-04-LAU
The main work will happen in the project specific sheets, "Main table" is just for overview and later for exporting the results of the team selection.
Generate HTML report(s)
The HTML report gives the team selection committee a nicely structured, well navigable and readable format to go through the applications that we received for the project.
For each project that you want to do team selection for, follow the instructions here to create the HTML report and associated datasets.
You can send the HTML files to the respective team selection committee members via a Slack DM or in a small private channel.
Copy data to sheet
The script that has generated the HTML report(s) should also have generated several csv files (as described here). For each project that you want to do team selection for:
Open the
google_sheets_main_table.csv
in a text editor of your choice (e.g. VSCode). Copy all lines except the header row.Append it to the
Main Table
sheet of the Google Sheet by pasting it into column A .
Once finished for all projects, go to Data -> Split text to columns. This should spread the text data into the columns A to E. F + G will be filled once we work on the individual tabs.
Reading applications and filling the Google Sheet
Members of the team selection committee should then read the applications asynchronously. How to approach this depends on the number of applications. If there are many, it helps to do a first filter based on the answers provided to the open questions regarding skills and motivation.
In the process, team members should take first notes and score applicants in the project-specific tab of the Google Sheet. This helps to maker decisions quicker in the call.
Columns of the project tab for ranking
Column Name | Content | Prefilled | How it affects selection |
---|---|---|---|
| id of applicant from Kobo | Yes | / |
| Gender of applicant | Yes | via gender quota |
| the role the applicant applied for for this project | Yes | via team roles / team size |
| Whether the applicant has already successfully applied, not applied or unsuccessfully applied | Yes | via Score
|
| Qualitative assessment of the "what motivates you to participate" question | No | via Score
|
| Qualitative assessment of the "what skills do you bring to the project" question | No | via Score
|
| Mean of relevant self-assessed technologies, topics and techniques. | No | via Score Calculated manually. Values to use for calculation of mean:
Round to next integer. |
|
| Calculated automatically once columns are filled in | the score is one criterium for team selection (see above) |
| written comments by team selection committee members | No | / |
| The role you deem correct for the applicant. For example, a lot of women often apply for "lower" positions that they'd be suitable for. | No | / |
| The role the applicant is selected for. Only fill in for selected team members. | No | / |
Team selection call
Once you have found 2-4 people and have shared the tools (report and google sheet) with them, arrange with them for a video call. Depending on the number of applications
Notes for the process:
unless in specific circumstances, interviews with applicants are not conducted
the selection committee tries to come to a consensus decision. If a consensus cannot be reached, the majority decides. If there is no majority, the project coordinator decides.
Roles can be adapted, i.e. when you feel a person is "overqualified" for their role, you can "upgrade" their role
If you feel like two applications are really equally good, you can also increase the team size ad-hoc.
Confirming team members
Before you send out rejection emails to all those applicants who were not selected for the team you should make sure that everyone is still interested in participating in the project. After all, 1-3 weeks might have passed since they applied and they could've changed their minds. You can use the acceptance email templates to get the confirmation. You can use BCC to send the emails to all accepted applicants at once.
After everyone has confirmed their interest, you can send out the emails to the applicants who could not be considered. You can use the rejection email template to do this. If you want to send out multiple rejections at once, please make sure to use blind copy (BCC). You can find the templates here.
Confirming team lead
Promoting a team member/team trainee
Sometimes, no team lead applied. Then you can ask a qualified applicant to fill this role. You can find an email template here: https://docs.google.com/document/d/13CBLKgnwY60fQ8qDCgRYESbsn6sm5KB94eSEiOXUup4/edit#heading=h.pzeh5l53r93l
Last updated