openedx / wg-coordination

4 stars 1 forks source link

Community-maintained onboarding courses #11

Open arbrandes opened 3 years ago

arbrandes commented 3 years ago

Multiple community members (edX, OpenCraft, eduNext, etc.) have their own version of an onboarding course to Open edX. Some of it is internal and specific to each organization, but some of it could be pulled together in a shared onboarding course.

Under discussion in this thread and on #dev-onboarding.

Updates and discussions are posted in this forum thread: https://discuss.openedx.org/t/open-edx-engineering-onboarding-courses/4096

(Original issue)

antoviaque commented 3 years ago

@arbrandes Maybe a task to assign to @OmarIthawi ?

OmarIthawi commented 3 years ago

Thanks @arbrandes and @antoviaque. Yes, please assign this issue to me. I'm currently leading this effort. We're still a bit behind in terms of making better visibility of the work but that's our next step as soon as we publish the first few sections of the course: https://github.com/openedx/onboarding-course-introduction

antoviaque commented 3 years ago

I have also added a link to the forum thread where the projects descriptions and recent updates have been posted: https://discuss.openedx.org/t/open-edx-engineering-onboarding-courses/4096

antoviaque commented 2 years ago

@OmarIthawi Given the pause on your current onboarding course discussed with @nedbat the other day, are you keeping the ownership of this task?

CC @sarina as you had mentioned having points to discuss about the onboarding courses during the last contributors meetup.

sarina commented 2 years ago

Yes! @antoviaque I wanted to sync with you about possibly having my new hire (starts 15 Nov) work with some of your newer hires to write/review/revamp (as needed) any documentation about starting up as a new developer. I think it'd be good to think about this a bit and scope it to a couple areas; I haven't been involved with the onboarding course at all so I don't know what the vision or progress is. That said if I could get help with the scope of this potential new hire project (I would err on the smaller side, not sweeping changes), I would be happy to coordinate once Carlos starts.

antoviaque commented 2 years ago

@sarina Sure to sync up! I have to admit that I don't know much about the work @OmarIthawi has done though, besides what he posted. The main places to look at are https://discuss.openedx.org/t/open-edx-engineering-onboarding-courses/4096 and https://docs.google.com/document/d/1_AC3dfKzlV30CfCq9tZxAJ3UuUMQq78_q6gytZKpgP4/edit .

On my side and OpenCraft, we focused on one specific onboarding course, the one teaching how to approach upstreaming code -- and since this is a need a lot of open source projects have in common, we tried to work with other communities to build something together (ie apply the principle of upstreaming to ourselves -- ie try to work with others rather than alone :) ). You can see details and updates about that in the forum thread I linked to above.

For your new hire, which of the courses are you thinking to have him work on?

sarina commented 2 years ago

@antoviaque -- from https://discuss.openedx.org/t/open-edx-engineering-onboarding-courses/4096, I could see some work on the Introduction to Open edX or Backend Engineer Onboarding being both a good learning experience for Carlos (the new hire) and a way to get some very fresh eyes on the content. One reason I mention collaborating with 1+ of your engineer(s) is to give Carlos an opportunity to jump into a project with the community. Depending on where @OmarIthawi is in writing these, this could be either review of existing content or creation of some new content (I wouldn't expect a new hire to write a whole course from scratch). I'm very open to other ideas from you or Omar.

antoviaque commented 2 years ago

@sarina I think @OmarIthawi wanted to get some feedback and review on the work he has done so far, on the intro to Open edX course, so that might be a good match. See https://github.com/openedx/onboarding-course-introduction/pull/7

On our side we try to remain focused on the upstreaming course, to not end up starting too many things at once -- but to help providing materials for this (vs starting from scratch, which is indeed tricky for someone unfamilar with the project), we could contribute the content from our current internal onboarding course, if that's helpful: https://courses.opencraft.com/courses/course-v1:OpenCraft+onboarding+course/about | https://gitlab.com/opencraft/documentation/onboarding-course . It would require separating the Open edX-specific parts from the OpenCraft-specific ones, but that has been battle-tested and refined over many years to onboard new developers to Open edX, so there would likely be useful parts.

Also if you would consider getting him to work on the upstreaming course, I'm happy to go through the course with him myself, as well as figure out contributions that would be a good fit for him.

OmarIthawi commented 2 years ago

Xavier and Sarina, thanks for the pings. I'm still discussing with my team internally on how to move forward. We're also hiring at the moment so it's a bit slow feedback cycle.

sarina commented 2 years ago

@antoviaque thank you! I think your ideas are good ones. I would love to see the upstreaming course to get a feel for the content that's in there before I commit to it. I'll noodle on the onboarding course - I think from the one you linked probably just the Devstack & Documentation sections would be good for the community? And I'm not sure how much editing or verifying we need on those sections; we could likely just start using them within the onboarding course(s).

I'd like to have some sort of plan of action by 10 Nov (a bit over 2 weeks), so we have time for more back and forth here.

antoviaque commented 2 years ago

@sarina

I would love to see the upstreaming course to get a feel for the content that's in there before I commit to it.

Sure! For the content of the upstreaming course, you can see the current structure and the draft content from the brainstorms in the folders at https://gitlab.com/mooc-floss/mooc-floss. Look for the brainstorm.md in each folder (eg https://gitlab.com/mooc-floss/mooc-floss/-/blob/master/M1-WhatIsFoss/brainstorm.md for module 1) -- or, for those who don't have that already yet, the raw transcript of the brainstorms are in the transcripts subfolders (eg https://gitlab.com/mooc-floss/mooc-floss/-/tree/master/M2-WhereAreFoss/transcripts ). I've also started moving some content to an actual Open edX course - so far only the draft from module 1: https://courses.opencraft.com/courses/course-v1:MOOC-FLOSS+101+2021_1/course/

I'll noodle on the onboarding course - I think from the one you linked probably just the Devstack & Documentation sections would be good for the community? And I'm not sure how much editing or verifying we need on those sections; we could likely just start using them within the onboarding course(s).

That sounds like a good place to start yes! Probably trying to get your new hire to follow them himself would be a good test?

sarina commented 2 years ago

That sounds like a good place to start yes! Probably trying to get your new hire to follow them himself would be a good test?

Yep, I spoke with Feanil yesterday, who's been doing a lot with docs. Our thought is to take what you have and what edX internally has, and reconcile them (adding non-internal edX info as makes sense). We'll have to decide on where it makes the most sense to have some set of "official" Open edX onboarding info (if that's what we want!)

antoviaque commented 2 years ago

@sarina :+1:

And yes to figuring out a place to put the official Open edX onboarding info. I agree that it would be good to have that. Imho, to attract new contributors, the more visibility the better -- ie the best would be a dedicated section on edx.org, which could attract learners from there, who might not have known or thought of contributing to Open edX in the first place, otherwise.

OmarIthawi commented 2 years ago

@sarina @antoviaque Thank you for keeping this discussion alive and for keeping me honest. I wanted to share an update with you on the course. I've had recently an change in my role which meant I have much less time for upstream contribution including the course. I've also had to reduce capacity to semi part time for personal reasons.

I don't think I'll be ale to do any progress on the course in the foreseeable future (during the next 6 months). I think it makes sense to hand over the course to anyone who has better capacity.

Excuse me for the late feedback, it was a difficult decision to make but I think it's better than having me blocking progress on the project.

Project overview (all six courses)

The "Introduction to Open edX" course

Other documents that are now outdated/unused - Project Planning - Dev Onboarding Courses 2021: https://docs.google.com/document/d/1408e0ohwg_BfvBe_eDQnwWfnNTtG3RIx7egDNHnk_J8/edit#heading=h.v9svxrq12lx - old discussion doc: https://docs.google.com/document/d/1_AC3dfKzlV30CfCq9tZxAJ3UuUMQq78_q6gytZKpgP4/edit - Github project: https://github.com/orgs/edx/projects/2

cc: @nedbat @michellephilbrick @shadinaif

sarina commented 2 years ago

@antoviaque

And yes to figuring out a place to put the official Open edX onboarding info. I agree that it would be good to have that. Imho, to attract new contributors, the more visibility the better -- ie the best would be a dedicated section on edx.org, which could attract learners from there, who might not have known or thought of contributing to Open edX in the first place, otherwise.

I am not super confident in my ability to get that type of content on edx.org, but maybe in the long term. In the nearer term, I would like to see the non-profit stand up a public instance that could host courses: a demo course, these onboarding courses, and the compliance courses for core contributors. We can wait a bit to see how that shakes out, but I am reasonably confident in my ability to make that happen.

@OmarIthawi thank you for the detailed post, and all the effort you've put in thus far. I would like to brainstorm with @antoviaque , @nedbat , and any other interested parties to figure out best next steps. Maybe it is worthwhile for different groups to focus on different courses - OpenCraft on the upstreaming course, myself & Carlos on the backend engineer onboarding course. I'm also potentially willing to get the "Introduction to Open edX" course completed, it feels like it has much of the content the forum post mentions (I need access to the Learning Objectives google doc). Thoughts?

sarina commented 2 years ago

@mariajgrimaldi can I assign this to you? (if yes just comment with "assign me" 😄 ) (note I am also already assigned!)

mariajgrimaldi commented 2 years ago

assign me

antoviaque commented 1 year ago

Btw, note that the upstreaming course, which is part of this effort, has just reached "beta" status, with the base course content being done. The next step will be to find testers -- we already have some from other communities participating to the project, but it could make sense to get some testers from the Open edX side, besides me. I'll likely do a post on the forum about this.

Current course content: https://courses.opencraft.com/courses/course-v1:MOOC-FLOSS+101+dev/course/