Page MenuHomePhabricator

Improve the new contributor onboarding process
Closed, DeclinedPublic

Description

This hackathon task focuses on brainstorming on ways to improve the new-contributor onboarding process. To participate, please go through the ideas given below and the discussion in the comments, and share your thoughts. Please also feel free to propose new ideas. :)

Ideas -

Event Timeline

Pavithraes renamed this task from Improve landing page for new contributors to find tasks to work on to Improve the new contributor onboarding process.May 8 2020, 7:44 PM
Pavithraes updated the task description. (Show Details)

@Chaitanya Nice idea! It might be worth looking into the discussion on this task T136866: Improve the per-programming-language listings for our tools (especially for the per-programming-language listings) and T194556: Suggested improvements to annoying little bugs page (for expanding good first bugs page).
For building a programming list in an external tool, some organization in Phabricator around tags (and more) might be needed. I would be happy to provide feedback if you end up working on this :)

Thank you @srishakatux 😄

Just took a look at the tasks you mentioned, thank you for the pointers. It seems to me that this issue has been around for quite some time. From what I understand, the previous approach was to build a solution that was based on wikis. But I think if we can get a little creative and host something on https://wmflabs.org, then maybe this task can be resolved this time.

I think it will require nontrivial work in both front and back end and we could use the help. I am unaware of what phabricator was built on but we will need a way to route tasks from phabricator to the tool we are planning to build.

Also since labeling tasks with the languages associated with them is not trivial, we might have to find a workaround for that. Do you have anything in mind for that?

P.S. we need a name for this project! do you have any suggestions?

Related to this, @Halfak noted this nice flowchart for navigating Hackathons that may be useful as a template:

https://commons.wikimedia.org/wiki/File:Navigating_a_Wikimedia_Hackathon_Flowchart.png

@Salgo60 I am sorry, I do not understand how your comment relates to the task on hand? Can you please elaborate a little bit on your previous comment?

Sorry I am lost I delete it I thought it was for data providers...

Adding Outreach-Programs-Projects to the tags as the work is currently stalled on this task and it would be better suited as a GCI/GSoC/Outreachy project!

This feels like a reiteration of T91633 to me. :) We have some language tags in Phab such as JavaScript and CSS (see T136866) but I'm usually not convinced that the extra-tagging work is worth the gain. Also, there is a "Pick from the latest tasks" button at https://www.mediawiki.org/wiki/Good_first_bugs .

Adding Outreach-Programs-Projects to the tags as the work is currently stalled on this task and it would be better suited as a GCI/GSoC/Outreachy project!

@Chtnnh: I am not sure I understand "as the work is currently stalled on this task"? Could you elaborate please? Do you mean this is blocked on T136886, or something else maybe?

Personally I am not convinced that we should make this an Outreach program project and have an "external" tool on Toolforge/VPS until someone elaborates which problems the "Pick from the latest tasks" button at https://www.mediawiki.org/wiki/Good_first_bugs has, or how this idea is different from T91633.

(For the records, it looks like part of this task was/is also discussed in https://wikimedia.zulipchat.com/#narrow/stream/100747-general/topic/Improve.20new-contributor.20onboarding )

Ping - can someone reply? Is anybody driving this task? @Chtnnh maybe? :)

Also see T91633: Create a user friendly encouraging-to-contribute site, T149564: Better recommending of tasks suitable for new technical contributors, maybe also T183318: Wikimedia Developer Summit 2018 Topic: Growing the MediaWiki Technical Community and T164084: [FY 17-18] Program 12: Onboarding new developers .

  • We can develop a new page/tool for new contributors where good-first-tasks are classified by programming language, project and area of interest. Something like https://codetribute.mozilla.org/

This is blocked on T136866: Improve the per-programming-language listings for our tools and I don't see a good way how to programmatically get such info; plus I don't get the difference to the last bullet point?

This is blocked on T136866: Improve the per-programming-language listings for our tools and I don't see a good way how to programmatically get such info... changes to mw:Good_first_bugs would only make sense if we can somehow query by language (which we can in some cases like JavaScript or CSS, see also T148911: Develop a JavaScript-centric approach to onboarding new developers)

This already exists, see https://whatcanidoforwikimediacommons.org/ or https://whatcanidoforwikimedia.org/ from T91633: Create a user friendly encouraging-to-contribute site

Hey @Aklapper ! Sorry for the late reply, was stuck with some work on other tasks.

Would love to drive this task forward as I believe this task holds great promise in helping improve new contributor experience :D

To answer your questions:

I am not sure I understand "as the work is currently stalled on this task"? Could you elaborate please?

This task is currently looking for active contributors to take responsibility and help further plan and execute this task. I am not sure if it is blocked on other tasks as we are yet to decide the scope of this project.

Personally I am not convinced that we should make this an Outreach program project and have an "external" tool on Toolforge/VPS until someone elaborates which problems the "Pick from the latest tasks" button at https://www.mediawiki.org/wiki/Good_first_bugs has, or how this idea is different from T91633.

So the problem with the "Pick from the latest tasks" button is that it throws the new contributor straight into phabricator, which they have no prior experience with. Also the tasks span various projects and technologies and may not be the best place to guide a new contributor to directly.
The problem with T91633 is that although the task set out to do what is the basic premise for this task, the site at https://whatcanidoforwikimedia.org does not meet those requirements and is open to much improvement.

This is blocked on T136866: Improve the per-programming-language listings for our tools and I don't see a good way how to programmatically get such info;

I believe then I can divert my resources to helping accelerate T136866 to help ensure timely completion of this task.

plus I don't get the difference to the last bullet point?

I am sorry, I don't follow. Can you please explain this question?

This already exists, see https://whatcanidoforwikimediacommons.org/ or https://whatcanidoforwikimedia.org/ from T91633: Create a user friendly encouraging-to-contribute site

The 'whatcanidoforwikimediacommons.org' site is fairly well designed and serves its purpose. But as explained earlier, the 'whatcanidoforwikimedia.org' site has much room for improvement.

@Aklapper Lets continue our discussion on this task, it could be something of relevance to GCI this year and I think we should try wrapping the discussion up before then. What say?

it could be something of relevance to GCI this year

GCI does not exist anymore.

I see, that is unfortunate. Nevertheless we can continue and maybe you can tell me if my answers have helped move the task along a little further?

Personally I am not convinced that we should make this an Outreach program project and have an "external" tool on Toolforge/VPS until someone elaborates which problems the "Pick from the latest tasks" button at https://www.mediawiki.org/wiki/Good_first_bugs has, or how this idea is different from T91633.

So the problem with the "Pick from the latest tasks" button is that it throws the new contributor straight into phabricator, which they have no prior experience with.

Right, but I'm not sure if that's a good argument to add extra layers, as I could also argue that new contributors have no prior experience with wiki pages? :P

Also the tasks span various projects and technologies and may not be the best place to guide a new contributor to directly.

That's what https://www.mediawiki.org/wiki/New_Developers might be for, to provide clearer information on technologies and programming languages for projects which offer some level of mentorship. But of course that is a very tiny fraction of available projects. :-/

The problem with T91633 is that although the task set out to do what is the basic premise for this task, the site at https://whatcanidoforwikimedia.org does not meet those requirements and is open to much improvement.

Indeed; that website is quite strange these days so I sent a heads-up to the WMF Legal team about trademark usage. Thanks for making me look at it!

https://codetribute.mozilla.org/ looks quite good to me. Anyone is welcome to create a similar website for Wikimedia (with public code) and host it on e.g. Toolforge. The bigger issue I see is keeping it up to date and maintainership for years to come (that's a general concern I always have)...

Right, but I'm not sure if that's a good argument to add extra layers, as I could also argue that new contributors have no prior experience with wiki pages? :P

Agreed! xD
But for the sake of discussion, I am helping a friend of mine navigate through tasks right now because Phabricator and the current New Developer resources that he found were unclear. To elaborate, he was looking for good first tasks that he could resolve using python. The only way I could think of helping him out was to tell him to search for the ORES tag and the PyWikiBot tag as those were the only projects that came to mind.

That's what https://www.mediawiki.org/wiki/New_Developers might be for, to provide clearer information on technologies and programming languages for projects which offer some level of mentorship. But of course that is a very tiny fraction of available projects. :-/

Exactly! What I believe this task could accomplish is to include all projects that the foundation has undertaken and sort them by technologies used.

https://codetribute.mozilla.org/ looks quite good to me. Anyone is welcome to create a similar website for Wikimedia (with public code) and host it on e.g. Toolforge. The bigger issue I see is keeping it up to date and maintainership for years to come (that's a general concern I always have)...

I totally see your point. I too would love to have something similar to codetribute for Wikimedia. As far as keeping it up to date and maintaining it is concerned, I could volunteer to do so for the mid/long term (maybe the next couple years) as I see myself working with the foundation for this period. Do let me know if this helps! Maybe @srishakatux could help us find someone to help me out with this.

Glad we are having this discussion. I think this task makes a lot of sense and will greatly simplify the flow for new developers to enter the foundation.

@Chtnnh: I'm also glad for this discussion (and your patience). It's much clearer now (and makes sense) to me what you're after. Thanks for caring! :)

Thank you so much Andre! Just excited to be of help to the foundation.

So to recap:

  1. There are some concerns with https://www.whatcanidoforwikimedia.org
  2. The page at https://www.mediawiki.org/wiki/New_Developers does not include all the projects run by the foundation
  3. We would like to have something like https://codetribute.mozilla.org for Wikimedia

I think it would be a good idea to set our expectations from the new page, lets call it https://contribute.wikimedia.org for now. I think phase 1 should focus on technical contributions. The code for https://codetribute.mozilla.org is publicly available (I just raised an issue in their repository as they did not have a LICENSE file) and could help us out.

I am thinking, https://contribute.wikimedia.org can have a structure similar to that of https://codetribute.mozilla.org in the sense that, a user can search based on project and language/technology. We will need to get help in aggregating the tasks from Phabricator/GitHub and setting up the Javascript for the site. There will also be the need to update the wikis to include links to https://contribute.wikimedia.org to point new developers in the right direction from the get go.

Anything you want to add? Do let us know.

@Chtnnh Thanks for staying on top of this! +1 for creating something similar to Mozilla's codetribute page for Wikimedia :) I see helpful discussion on the issue you filed, so adding a link here for reference: https://github.com/mozilla-frontend-infra/codetribute/issues/400

I'm also wondering if this could be a potential GSoC project for next year? :/ I'm not sure how much time (and effort) this task would tentatively take. As mentioned by the folks at Mozilla, splitting their codetribute project into a generic portion would be incredibly helpful, and is probably a good starting point for us.

Definitely considering making it a GSoC project for next year, but I would love to get started with the planning and groundwork now to make sure we are on top of things.

As mentioned by the folks at Mozilla, splitting their codetribute project into a generic portion would be incredibly helpful, and is probably a good starting point for us.

I love open source! Mozilla is most likely going to help us out with it, which will be great.

Thanks for staying on top of this!

The pleasure is mine :D

Just saw your comment on the discussion @Aklapper, I realize now that I was speaking on behalf of the foundation. Thank you for correcting me.

It's now unclear to me what exactly this task is proposing, or how to drive it. :-/
Setting up something similar to codetribute.mozilla.org (which feels quite overwhelming to me with its many many options)?
Plus if that was the case, who/how to maintain the content of such a project in the long run...

bd808 subscribed.

Per comments on lack of clarity on what is being proposed and lack of continued interest from @Chtnnh. Feel free to reopen when and if a more concrete plan can be described.