2019-10 & 2019-11 Outreachy Progress

I had to skip a progress update last month, as I had health issues.

Summary:

  • Outreachy accepted 49 interns in the December 2019 round
  • The experiment of separating the initial application period and the contribution period was a success!
  • Wrapped up the first Outreachy longitudinal study to collect statistics on Outreachy alums
  • Wrote a blog post categorizing Outreachy projects by topic
  • Updated internship documentation
  • Updated organizer documentation
  • Improvements to the Outreachy Django administrative back-end and view the organizers use to track interns

December 2019 round

The application period for the December 2019 is closed. We announced we accepted 50 interns this round. One intern was later found to be ineligible for Outreachy. Still, 49 interns is our biggest round yet!

In the December 2019 round:

  • 1,774 applicants filled out an initial application
  • 590 initial applications did not align with Outreachy’s goal of supporting diversity in free software
  • 532 applicants were ineligible for Outreachy due to full-time commitments during the internship
  • 91 applicants were ineligible for Outreachy due to not being able to be paid by a U.S. non-profit
  • 607 applications were accepted into the contribution period
  • 236 applicants recorded starting a contribution
  • 206 applicants created a final application

That number of people who recorded a contribution this round went up! Most rounds, we have around 200 people who record a contribution and about 175 who complete a final application.

That means that applicants who completed an initial application and then had to wait to start the contribution period didn’t lose interest. That means that separating out the eligibility checking and contribution period was a success.

One Outreachy community was caught off guard with the new application process. They didn’t know they needed to get their project description in early and promote their project before the initial application deadline. That community ended up not accepting any interns this round. The data could be coincidence, because there have been multiple rounds in the past where that community didn’t accept an intern.

There were a few communities who normally participate that didn’t this round. That was more than made up for by the new communities who joined. We typically have around 65 projects each round, and this round we had 83 projects listed.

All in all, a success and a growth in the number of accepted interns over last round.

Longitudinal Study

In October, we launched our first longitudinal survey. The goal was to find out statistics about how successful Outreachy was at encouraging our past interns to contribute to free software and stay in the technology industry. 230 out of 589 alums responded to the survey.

To incentivize Outreachy alums to fill out the survey, we offered a reward of an Outreachy sticker if they completed it. 169 of the alums wanted to receive an Outreachy sticker for filling out the survey. The rest of the respondents didn’t fill out the address field and didn’t want a sticker.

Part of the reason for running the longitudinal survey was to understand how much time and effort was required to send a small reward (an Outreachy sticker). This would let us know where the pain points were for a future Outreachy fundraiser with physical rewards.

Stuffing envelopes was a breeze. It took four volunteers about 1.5 hours to stuff 169 envelopes. (We had a wet sponge on hand to seal envelopes to save volunteers’ tongues.)

The stuffing was fast because we chose to not hand-write the thank-you cards. We printed the thank you message on 2″ x 3″ stickers through Moo.com, and put them on the inside of 4″ x 6″ thank you cards. The 1″ x 5″ Outreachy stickers (also printed through Moo.com) fit fine inside the thank-you envelope. Printing stickers to put on the inside of thank you cards was more cost effective than printing messages on thank you cards through other printing services.

The real time sync comes in addressing and mailing the envelopes. The (untested) method I settled on was printing pre-paid stamps through stamps.com. It requires a monthly subscription, and some of the features like taking addresses from a spreadsheet may only be possible with the use of Windows software. We’ll see how it goes.

The time-consuming part comes in normalizing the addresses from the longitudinal survey into standard international format for each country. I quickly skimmed and recorded each address’ country, then sorted the spreadsheet by country. Normalizing 56 international addresses took about 2 hours.

Finding a resource for standard country address formats was hard, but this one seems good. It’s untested whether it’s correct.

Outreachy Progress 2019-09

Summary of organizer work this month:

  • Reviewed 1,085 initial applications
  • Herded mentors and coordinators through submitting 81 projects
  • Wrote a blog post introducing projects by topic and programming language
  • Promoted Outreachy at the Tapia conference

December 2019 application status

Statistics for the December 2019 application period:

  • 1,774 applicants applied
  • 611 applicants were accepted to participate in the contribution period
  • 23 communities are participating in this round
  • 81 projects are listed, with communities having funding for 53 interns

Changes to Application Process

Moving the initial application submission to before the contribution period has been good from an Outreachy organizer perspective. We are able to follow up with applicants in an orderly fashion, and there’s less panicked emails from applicants who haven’t been approved.

From a mentor perspective, some mentors have been concerned about the increased communication from applicants. Many projects have 10-15 applicants who are all trying to talk with mentors at once. Mentors want applicants to apply some problem-solving skills to answer questions using supplied resources.

However, the Outreachy organizers have encouraged applicants to communicate more this round. We want to ensure that people with impostor syndrome are encouraged to reach out when they’re stuck.

It will be an on-going balance between mentor needs and encouraging applicants. Every small change we make to our welcome emails and applicant guide encourages different behavior.

Tapia Conference

Sage Sharp attended the Tapia conference to promote Outreachy to Computer Science students. Outreachy supports Tapia because the conference’s focus is on racial diversity and supporting students with disabilities.

Two Outreachy alums, Branden Bonaby and Joannah Nanjekye were sponsored by Outreachy to attend Tapia. They both helped Sage promote Outreachy in the booth.

Branden had recently completed his Outreachy internship, and he found a lot of companies at Tapia were interested in interviewing him because of his experience with the Linux kernel community.

Sage conducted video interviews with Branden and Joannah. The videos were posted on Twitter before the initial application closed to encourage more applicants to submit their application.

Outreachy booth at Tapia 2019
Outreachy booth at Tapia. CC-BY 4.0 Sage Sharp

The Outreachy booth was a success! We had 124 people sign up for the Outreachy mailing list. Sage spoke at the open source BoF panel, and then raffled off two copies of “Forge Your Future with Open Source”.

Book raffle winners
Winners of the “Forge Your Future with Open Source” book raffle. CC-BY 4.0 Sage Sharp

Outreachy Progress 2019-08

The majority of this month was spent herding coordinators to get communities signed up to participate in this Outreachy round. We now have 19 communities signed up to participate in the December 2019 to March 2020 round. Depending on community funding that’s still TBD, we could have somewhere between 31 and 44 interns this round. That’s on par with last round.

Organizer tasks this month:

  • Ping 25 communities who have participated in the past. 13 past communities have signed up this round.
  • Review 6 new communities who have never participated in Outreachy before
  • Meet with new potential sponsors
  • Provide on-boarding as time allows for new coordinators
  • Run two chats with Outreachy May 2019 interns
  • Review final feedback for Outreachy May 2019 interns
  • Review initial applications
  • Answer questions from applicants on Twitter and via email
  • Prep work for the Outreachy booth at the Tapia conference

Outreachy Progress 2019-07

The main focus of this month was gearing up for the application period for the December 2019 round. We’ve made some changes to the application process, which required both changes to the website and communication to stakeholders (applicants, coordinators, and mentors).

We aren’t forgetting the May 2019 interns though! Their internships are still active until August 20. We hosted two internship chats this month, and found a contractor to provide resume review for the interns.

Organizer work:

  • Coordinated with a new contractor to add Outreachy career advice services, including career chats and resume review
  • Reviewed mid-point feedback and facilitated conversations with mentors and interns
  • Coordinated with volunteers for the Outreachy Tapia booth about travel
  • Ordered Outreachy promotional materials for Tapia
  • Provided guidance to new communities thinking about participating in the December 2019 round

Documentation work:

  • Wrote a blog post explaining the process changes for applicants and mentors in the December 2019 application round
  • Updated Outreachy promotional materials with the new deadline changes
  • Wrote an Outreachy Applicant Guide
  • Started writing an Outreachy Internship Guide
  • Updated our mentor FAQ to mirror the process changes
  • Wrote an email to interns explaining how informational interviews work, and giving resume guidelines

Development work:

  • Deployed code to separate out the Outreachy initial application period and the contribution period
  • Deployed code to hide Outreachy internship project details until the contribution period opens
  • Deployed code to hide pending/approved status until the contribution period opens
  • Wrote 46 new tests for the deployed code, increasing the total number of tests to 77.

Outreachy progress 2019-06

Outreachy organizer admin tasks:

  • Run Outreachy biweekly internship chats
  • Read and follow up on initial feedback for Outreachy interns
  • Handle issues with intern time commitments
  • Remind Outreachy interns if they haven’t created a blog
  • Communicate with potential community and sponsors for the December 2019 round
  • Put out a call for Outreachy booth volunteers for the Tapia conference
  • Coordinate with potential contractors who can offer career advice and interviewing workshops to Outreachy interns.

Development tasks:

  • Work is progressing on the Outreachy website changes to separate out the initial application period and the contribution period.
  • Most of the template and view changes have been made.
  • Thorough tests need to be written next month to reveal any bugs.

Outreachy Progress 2019-05

Outreachy organizer admin tasks:

  • Announce the accepted Outreachy interns
  • Handle situations where interns were unable to accept the internship
  • Update the intern contract dates (we need to automate this in the website code!)
  • Send signed intern contracts to Conservancy
  • Send an invoice request to Conservancy for Outreachy sponsors
  • Follow all interns on Twitter, retweet their first blog posts if @outreachy is tagged
  • Run the first intern Q&A session

Development tasks:

  • Add website code to allow mentors to invite co-mentors and have co-mentors sign the mentorship agreement for any selected interns
  • Create page for organizers to see contact info for mentors who selected an intern (so we can easily subscribe them to the mentor mailing list)

Documentation

Outreachy at PyCon U.S. Sprints

We successfully tested the Outreachy website developer’s documentation at the PyCon U.S. sprints. This is the first step towards limiting the “bus factor” and ensuring that many people can work on the Outreachy website.

13 people participated in the sprints. Most were running Linux, but there was one Windows user who successfully followed our installation guide and successfully made their first contribution.

Half of the participants were unfamiliar with the Django web development framework that the Outreachy website uses. There were several people who had never made a contribution to free software before. We’re proud that they could make their first impact on the free software world with Outreachy!

Overall, 8 pull requests were merged, with 7 more pull requests waiting for review. The pull requests included improvements like clarifying our documentation, clarifying application questions, ensuring links on our opportunities page were valid, and improving the layout of our pages for past rounds.

Blog Post Prompts

During the Outreachy internship, interns are required to blog every two weeks. The Outreachy organizers found that interns often didn’t know what to blog about, so we started creating a series of blog post prompts. The prompts are highly relevant to the intern experience as the internship progresses.

Our first blog post prompts normalize the fact that all interns struggle during the first few weeks. The mid-point blog post prompt asks interns to reflect on their original project timeline, and how unexpected complexity means projects often have to be scaled back. We wanted to do a full series of blog post prompts last round, but we ran out of time before the next application period kicked off.

This round, we’re finishing out the last two blog post prompts for weeks 9 and 11 of the internship. They will focus on the next steps after the Outreachy internship, namely how interns can start a career in tech or free software.

The week 9 blog post prompt is for interns to write about what direction they would like to take their career. Some Outreachy interns are still in school, so we ask them to provide what time frame they want to take their next steps in.

The week 11 email will prompt the interns to work on their resumes, and then post them on their blog.

Career Development

Outreachy organizers are also in discussions with some contractors who may be able to provide some career advice to Outreachy interns. We’ve long wanted to provide more career services to interns, but haven’t been able to allocate organizer time to this. We’re still in negotiations, but we hope this round we can finally offer this.

Outreachy progress 2019-04

Outreachy organizer admin tasks:

  • Reviewed final feedback for all December 2018 Outreachy interns
  • Issued all December 2018 final stipend payment request emails
  • Reviewed all mentor intern selections for May 2019 to ensure only strong applicants were selected
  • Double checked some applicant time commitments via email
  • Resolved any intern selection conflicts between two Outreachy projects
  • Communicated with Google Summer of Code organization administrators when an applicant applied to both Outreachy and GSoC
  • Double checked that mentors who had selected multiple interns had a co-mentor to help them
  • Communicated with potential sponsors
  • Gathered billing information for all new sponsors
  • Prepped sponsor invoice drafts, thank you tweets, and ensured sponsor logo prominence
  • Discussed potential changes to the application period dates with Outreachy mentors

Development:

  • Triaged the Outreachy website GitHub issue tracker
  • Added a GitHub new project with newcomer-friendly issues in preparation for participating in the PyCon U.S. sprints
  • Added a new file with Python factories code to set up a local test database during specific periods in the internship round
  • Updated the Let’s Encrypt SSL certificate for the Outreachy Zulip Chat server
  • Fixed a number of bugs that mentors ran into during the intern selection process, or documented them for the PyCon U.S. sprints

Documentation:

  • Added 371 lines to the Outreachy website README.md and 5 new database graphics to help new developers working on the website
  • Started writing a manual documenting the steps I take as an Outreachy organizer each round.

Outreachy progress 2019-03

Summary of work:

  • Approved 1,013 initial applications total
  • Investigated an issue with KiwiIRC being banned on some IRC servers
  • Fixed some IRC link issues in the Outreachy website
  • Promoted new projects on Twitter and the Outreachy announce list
  • Sent semi-automated emails to remind applicants of the final application deadlines
  • Answered applicant’s questions, as time allowed
  • Communicated with potential Outreachy sponsors
  • Chased down some outstanding invoices from the December 2018 round
  • Communicated with December 2018 interns who had internship extensions

Outreachy progress: 2019-02

Summary of work this month:

  • Created final feedback form for interns and mentors
  • Contacted potential communities for the May to August 2019 round
  • Updated questions on the initial application form
  • Updated the website to the latest stable version of Django 1.11
  • Wrote a blog post announcing changes in eligibility criteria
  • Promotion on Twitter, emailing diversity in tech groups, job boards postings
  • Reviewed 874 initial application essays

The Outreachy internship program opened applications for the May to August round. Most of the time this month has been reviewing the 1,235 initial applications that have been submitted. ?

We’re definitely getting more applications this round. After the six week application period for the December to March round, we processed 1,817 initial applications. Less than two weeks into this round, we’ve had 1,235 initial applications submitted.

That sounds like a huge number, but that’s where the magic of Django comes in. Django allows us to collect time commitment information from all the applicants. We create a calendar of their time commitments and then see if they have 49 consecutive days free from full-time commitments from during the internship period.

So far, about 181 initial applications have been rejected because applicants had full-time commitments. (The number is usually higher in the December round because students in the northern hemisphere have a shorter break.)

We also check whether people are eligible to work in the countries they’re living in, whether people have participated in Outreachy or Google Summer of Code before, etc. There are 72 applications that were automatically denied because of those kinds of issues.

That leaves 982 applicants who were eligible for Outreachy so far. ? And we have to manually review every single applicant essay to see whether supporting this person would align with Outreachy’s program goal to support marginalized people in tech.

We ask specific essay questions to determine whether the applicant is underrepresented. We ask two more essay questions to determine whether they face discrimination or systemic bias in their learning environment or when looking for employment opportunities. Applicants have to demonstrate both characteristics. They have to be underrepresented *and* face discrimination.

It’s quite frankly difficult to spend 5-9 hours a day reading about the discrimination people face. We ask for personal stories, and people open up with some real horror stories. It’s probably re-traumatizing for them. It certainly impacts my mental health. Other people share less specific experiences with discrimination, which is also fine.

Sometimes reading essays introduces me to types of discrimination that are unfamiliar to me. For example, I’ve been reading more about the caste system in India and ethnic/tribal discrimination in Africa. Reading the essays can be a learning experience for me, and I’m glad we have multiple application reviewers from around the world.

One of the hardest things to do is to say no to an initial application.

Sometimes it’s clear from an essay that someone is from a group underrepresented in the technology industry of their country, but their learning environment is supportive and diverse, and they don’t think they’ll face discrimination in the workplace. Outreachy has to prioritize supporting marginalized people in tech, even if that means turning down underrepresented people who have the privilege to not face discrimination.

It’s also difficult because a lot of applicants who aren’t from groups underrepresented in tech equate hardship with discrimination. For example, a man being turned down for a job because they don’t have enough technical experience could be considered hardship. Interviewers assuming a woman doesn’t have technical experience because they’re a woman is discrimination. The end result is the same (you don’t get the job because the interviewer thinks you don’t have technical experience), but the cause (sexisim) is different.

Sometimes systemic issues are at play. For example, not having access to your college’s library because you have a mobility device and there’s no elevator is both discrimination and a systemic issue. Some communities face gender violence against women. The violence means parents don’t allow women to travel away to college, and some universities to restrict women to their dorms in the evenings. Imagine not being able to study after class, or not having internet in your dorms to do research. The reaction to these systemic issues incorrectly punish the people who are most likely to face harassment.

It’s frustrating to read about discrimination, but I hope that working with Outreachy mentors gives people an opportunity they wouldn’t otherwise have.

Outreachy Progress: 2019-01

Summary

  • Finished cleaning up the technical debt that kept us from having two Outreachy rounds active at once
  • Added code for gathering internship midpoint feedback
  • Migrated the travel stipend page off the old wiki for Outreachy to the Django website
  • Added a required field for mentors to provide the minimum computer system requirements to contribute to the project
  • Created intern blog post prompts for weeks 5 & 7
  • Followed up on all December 2018 sponsorship invoices

Minimum System Requirements

New for this Outreachy round is asking mentors to provide the minimum system requirements for their project. Many Outreachy applicants have second-hand, 10 year old systems. They may not have the memory to be able to run a virtualized development environment. In the past, we’ve had applicants who tried to follow installation instructions to complete their required contribution, only to have their systems hang.

By requiring mentors to provide minimum system requirements for their projects, we hope to help applicants who can’t afford a newer computer. We also hope that it will help communities think about how they can lower their technology barriers for applicants who face socioeconomic hardship

Simplifying Language

This month I migrated the travel stipend instructions page from our old wiki to the new travel page. During that migration, I noticed the language in the page was filled with complex vocabulary and longer sentences. That’s how I tend to write, but it’s harder for people who speak English as a second language to read.

I used the Hemmingway editor to cut down on complex sentences. I would recommend that people look at similar tools to simplify their language on their website

Debt, debt, and more technical debt

I had hoped that January would be spent contacting Outreachy communities to notify them of the round. Unfortunately, Outreachy website work took priority, as it wasn’t ready for us to accept community sign-ups.

Most of the work was done on cleaning up the technical debt I talked about in my last blog post. The website has to handle having two internship rounds active at once. For example, in January, mentors were submitting feedback for the December 2018 internships, while other mentors were submitting projects for the upcoming May 2019 internships.

A lot of the process was deciding how long to display information on the website. For example, when should mentors be able to choose an applicant as an intern for their project?

Mentors could find a potential candidate very early in the application period, so the very soonest they could choose an intern would be when the application period starts.

Most people might assume that interns can’t be selected after we announce the internships. However, in the past, interns have decided not to participate, so mentors have needed to select another applicant after the interns are announced. The very latest they could select an intern would be five weeks after the internships start, since we can’t extend an internship for more than five weeks.

It’s a complex process to decide these dates. It requires a lot of tribal knowledge of how the Outreachy internship processes work. I’m happy to finally document some of those assumptions into the Outreachy website code.