New Developers/Quarterly/2018-04

This is the third edition of the New Developers Quarterly, a report covering activities, metrics, surveys and lessons learned in the Onboarding New Developers program. This report covers January to March 2018.

Your questions and feedback are welcome on the talk page.

Timeline
Newcomer-focused events, programs, and activities between January–March 2018:


 * February 1-2nd MediaWiki technical training session took place at the Center for Internet and Society, Bangalore, India
 * February 16th African Wikimedia Developers group conducted technical training sessions in Abidjan, Côte d'Ivoire, blogpost by Stéphane Kra
 * February-March Developer Relations showcased seventeen projects to potential Google Summer of Code 2018 and Outreachy Round 16 candidates
 * March 20th Pre-university students contribute to Wikimedia in Google Code-in 2017, blogpost by Andre Klapper
 * March 27th Outreachy Round 16 ended and concluded with a project showcase

Key findings

 * Unlike in the previous two quarters, most new contributors we attracted in our projects were students. This might have been a result of targeted outreach to them through Wikimedia's participation in Google Summer of Code.
 * Number of new volunteers retained slightly went up as compared to the metrics in the previous quarters. We will investigate the reasons behind this change, who are these developers, have we recognized their contributions yet and what made them stick around.
 * New developers encountered same challenges as in the previous quarters with Wikimedia’s code contribution process (understanding Gerrit, code conventions and code-review, setting up the development environment) and missing documentation.
 * A couple of new concerns raised by respondents that we would like to investigate further: a) make it explicit which projects are not the right place to start with (e.g., apps-android-Wikipedia) b) documentation on Wikitech is not clear on how to create an account and a new project on Tool Labs.
 * The low response rate from former developers who were last active a year ago indicated their lack of interest in the topic. However, one of the respondent's frustrations with slow code review process were signs of demotivating them to contribute further.

New developers metrics and trends
See also Technical Collaboration Metrics - Onboarding New Developers.

Volunteers contributing patches for review
162 volunteers contributed between January–March 2018. (Source)

QoQ : +15.7%. YoY : +15.7%.

New volunteers attracted
54 new volunteers contributed between January–March 2018. (Source)

QoQ : +10.2%. YoY : +14.9%.

New volunteers retained
Percentage of volunteers active one year (±3months) after their first contribution, out of all new volunteers attracted one year ago. (Source: Calculation on data)

QoQ : +133.0%. YoY : +166.8%.

Review of changesets by new volunteers
236 changesets were contributed by new volunteers. (Source: Calculation on data . Changeset status data as of 17 April 2018.)

Projects with most new volunteers
54 new volunteers contributed to 128 repositories. (Source: "Repos by New Authors")

Outreach events

 * Wikimedia Hackathon 2017 (May 2017):
 * Attracted 37 new volunteers.
 * Retained 1 new developer who was active three quarters after the event (January–March 2018). (Source)
 * Wikimania Hackathon 2017 (August 2017):
 * Attracted 47 new volunteers.
 * Retained 2 new volunteers who were active two quarter after the event (January–March 2018). (Source)

Outreach programs

 * Google Summer of Code 2017 (May–August 2017):
 * Out of 4 new developers who used Gerrit and who completed the internship (7 new developers in total), we retained 0 developers (Source)
 * Outreachy Round 15 (December 2017–March 2018):
 * Attracted 6 new developers

New developers survey analysis
Read through below for a quick summary:

We sent a survey to 51 new developers who submitted code for the first time between December 2017–February 2018 with a goal to understand more clearly demographics and background, motivations, challenges and needs of our new developers.

Out of the 51 new developers to whom we reached out, 17 (19.6%) completed the survey.

Demographics and background information

 * Respondents of the survey were from India (4), United States (3), Côte d’Ivoire (2), Germany (2), Canada, China, France, Hungary, Nepal, New Zealand
 * Almost near half (~47%) the respondents said they belong to the student category
 * ~82% identified themselves as male, ~6% as female and ~12% as non-binary

Motivations
Nearly half of the respondents said that they were encouraged to contribute code to Wikimedia projects by someone who they knew and while attending a Wikimedia workshop. Remaining half mentioned that working on their first contribution for Wikimedia was a result of self-discovery.

Challenges

 * Some generic challenges that new developers face around Wikimedia infrastructure are: understanding the codebase, Gerrit and the code review process, and running into errors while setting up the development environment. Other specific issues that were mentioned:
 * Trouble filtering issues in Phabricator to find something to work on because most issues appear to be missing lot of information.
 * Our codebase is in English, and it is a second language for some developers.
 * The documentation on Wikitech is not so clear about how to create an account and how to create a new project on Toolforge.
 * It isn't obvious to a developer that their patch set will be uploaded to Gerrit for code-review and not Github.
 * Learning resources and channels that new developers refer to when they get stuck: IRC, Google, Stack Overflow, MediaWiki pages, Phabricator, PHP manuals, API docs, asking an experienced developer, etc.

Experience contributing to Wikimedia
~60% (n=14) respondents said they are likely to recommend Wikimedia for code contribution to friends and colleagues. ~82% (n=14) respondents said they are satisfied with their experience contributing to Wikimedia.

Suggestions for improvement
Here are some suggestions made by new developers (responses below have been only slightly edited):
 * Mentor support
 * Better documentation
 * Code reviews take a long time
 * Better exchange between volunteer and staff developers
 * It is not clear with certain projects (e.g. apps-android-wikipedia) that it's not the venue to begin contributing code to Wikimedia projects
 * Complicated database structure is only accessible on Labs

Former developers survey analysis
We also sent a survey to 53 new developers who were last active in April-June 2017 with a goal to understand more clearly what made them stop contributing.

Out of the 53 new developers to whom we reached out, 3 (5.6%) completed the survey. Though from the low response rate, there isn't much to conclude, however one of the responses that we received from a developer who started contributing with a goal to fix problems for their local Wikipedia is eye-opening:

"I made patch to fix problem with FlaggedRevs' null-edits. It took like 6 moths to actually answer to my patch what I sent and when I finally got answer it was fully abandoned. The maintainer told that problem should be solved by changing rollback logic. After waiting that long time I didn't feel like I want to try to contribute anymore and keep working to find the solution. After few days when my patch got abonded the maintainer created phabricator task to change rollback logic. And still today no one has replied to that task"