From bd4e81310e8d0230c5962ee6d4d749f612633470 Mon Sep 17 00:00:00 2001 From: Lara Croft <96354369+mlarasusan@users.noreply.github.com> Date: Fri, 28 Jul 2023 12:51:36 -0300 Subject: [PATCH] Update partner handbook application process This is the new process for partner applications. --- 1. Application.md | 351 +++++++--------------------------------------- 1 file changed, 47 insertions(+), 304 deletions(-) diff --git a/1. Application.md b/1. Application.md index 4cb0f54..f830eee 100644 --- a/1. Application.md +++ b/1. Application.md @@ -1,346 +1,89 @@ -# 📕 GitHub Octernship Partner Handbook +## 📕 GitHub Octernships Partner Handbook -## 🧭 Application Guide +### Overview 🔄 -#### Table of Contents +Welcome to the [GitHub Octernships Program](https://education.github.com/students/octernships), and congratulations on joining an exciting initiative! This handbook contains all the necessary information to ensure a great experience in the program. - - [Overview](#overview-️) - - [Octernship project creation with GitHub Classroom](#octernship-project-creation-with-github-classroom-) - - [Creating a template repository](#creating-a-template-repository-) - - [Partner Informational and Assignment README Template](#partner-informational-and-assignment-readme-template-) - - [Partner Informational and Assignment README DEMO](https://github.com/education/Octernship-Demo-Project) - - [Setting up GitHub Classroom](#setting-up-github-classroom) - - [Creating your first assignment](#creating-your-first-assignment-aka-project-) - - [Distributing a project](#distributing-a-project-) - - [Additional Resources](#resources) - - [Submitting the Octernship to GitHub Education](#submitting-the-octernship-project-to-github-) - - [Application Form](#application-form-) - - [Reviewing student submissions](#reviewing-student-submissions-) - - [Selecting candidates for your Octernship](#selecting-candidates-for-your-octernship-) - - [Pairing with a student](#pairing-with-a-student-) - - [Application FAQs](#application-faqs-) - - [Handbook References](#handbook-references-) +As a partner, you play an integral role in shaping the future of open-source development and fostering the growth of the next generation of developers. You are expected to actively participate by providing mentorship, guidance, and support to students assigned to your projects. Octernships offer students and industry professionals a unique opportunity to work on open source projects, contribute to the community, and gain real-world experience in a collaborative environment. ---- +We have designed a structured process for each Octernships project. Familiarize yourself with this flow and follow the guidelines to ensure a positive experience. We look forward to working together to empower students, foster collaboration, and drive innovation in the world of open source development. Thank you for your dedication and support! +### Quick and easy step-by-step guide 📋 -### Overview ❇️ + 🚀 **Introduction Call:** If you are reading this handbook, it's probably because you have already applied to the program, signed the MoU, and done the introductory call with our team. Congrats! -If you're going through this Partner Handbook, by now you're already accepted in to the program. Congratulations 🎉 In the next few steps, as an organisation you will: + 📝 **Submit an Octernships project interest:** Using GitHub issues, you will submit your project idea for our team to review, approve and set it all up for you. This helps clearly describe the project, its goals, and the skills required. Be sure to include any specific guidelines or requirements for the students. -* Create a problem statement/project for students to complete for evaluation -* Post the Octernship project on GitHub Global Campus for students to view and apply -* Review and shortlist students for the Octernship, who will eventually work with your organisation + 🖇️ **Create an assignment for students:** Our team will create a repository for your Octernships assignment that you will use to shortlist students. These templates are designed to provide a structured framework for your project, including necessary files, documentation, and milestones. Customize the template to align with your specific project needs. -This guide includes additional information regarding GitHub Global Campus and GitHub Classroom, which are critical to the Octernship experience. All partners are expected to complete the designed flow for each Octernship Project + 📊 **Review and select students:** Once ready, your project will be published for students to apply and solve the assignment. After the deadline, you will start reviewing their submissions. Carefully review their profiles, resumes, and any sample work they provide. Evaluate their skills, experience, and alignment with the project requirements. Select the most suitable candidates for your Octernships project. -Prerequisites ✅ -- [x] You have already signed the Non-commercial MoU with GitHub. -- [x] You are in the onboarding process of GitHub Octernships Program +🚌 **Onboard students at your company:** After sharing the final list of selected students with our team, you can move forward and onboard the students at your company, following your hiring process. Introduce them to the project's codebase, tools, and resources. Provide them with the necessary access and permissions. Set clear expectations, establish communication channels, and define project milestones. -![](https://i.imgur.com/RwwHEHQ.png) +All the items will be discussed in more detail in this handbook! -_Note: Once a student has been paired with a partner, the expectation is that the partner will onboard the student into their organization and officially begin the Octernship._ +### 1. Introduction Call 🚀 -
+During our introductory call, you may have noticed that our team has already set up a dedicated GitHub repository for your organization and granted all the required members access. If there are any additional individuals you would like to add to the repository, please inform us so that we can provide the appropriate permissions. -### Octernship project creation with GitHub Classroom 👨🏼‍🏫 +We recommend including all relevant members from your company who will be involved in the project, as communication between our teams will primarily occur through GitHub issues following the introductory call. -‼️ **Do no share any GitHub Classroom URLs directly with students.** +### 2. Submit an Octernships project interest 📝 -*GitHub Classroom is only for partners to manage submissions, students do not interact with GitHub Classroom and all activity occurs in GitHub for them.* +In the [GitHub-Octernships](https://github.com/GitHub-Octernships) organization, go to [repositories](https://github.com/orgs/GitHub-Octernships/repositories) and click on your organization name. There, go to issues and start a new one with a template named [“Submit new Octernships Assignment”](https://github.com/GitHub-Octernships/Partner-onboarding-template/issues/new/choose). Fill in all the information requested and click “Submit new issue”. -GitHub Classroom is used to manage Octernships, the integrated tools makes it easy and seamless for you to review, support, and manage multiple projects during the Octern selection period. As next step you need to create a Classroom assignment for the Octernship project you want to submit. The following section will help with your first Classroom Assignment. +When you're ready to start your first project, open an issue in the repository we've set up for your organization. Here's how: -![](https://i.imgur.com/cHRy3kU.png) + 1. Go to [repositories](https://github.com/orgs/GitHub-Octernships/repositories) in the [GitHub-Octernships](https://github.com/GitHub-Octernships) organization and find your organization's name. + 2. Click on the Issues tab and start a New issue using the "Submit-new-Octernships-Assignment" template. + 3. Fill in all the requested information in the template and hit Submit new issue. +This issue is mainly to show your interest in submitting a project and provide all the essential details about it. Our team will review and approve. -Octernship Project created by partners will be distributed by GitHub Classroom, GitHub Education’s assignment management tool, where partners can easily distribute and manage their created projects using a simple dashboard interface. GitHub Classroom will generate repositories for each student who wants to complete the project. Once the repository has been created, it will appear on a dashboard interface for partner management. +From then on, all our communication will happen in the issue through comments. This helps us keep track of all the processes throughout your project. Everyone assigned to the issue will get an email notification whenever someone adds a comment. +Once your project's interest is approved, the Octernships team will create a second repository specifically for your assignment. We'll provide more details about this in step 3 below. -![](https://i.imgur.com/TasNR7e.png) +### 3. Create an assignment for students 🖇️ +After our team has approved your project interest and created a second repository specifically for your assignment, your team will receive an email invitation to join that repository. -Know more about[ GitHub Classroom](https://docs.github.com/en/education/manage-coursework-with-github-classroom). +Please update the README template with all the relevant information for your project assignment. Remember, the assignment is the task students must solve and submit to apply to your Octernships project. It acts as a way to test and shortlist qualified students for the position. The difficulty level and type of tasks will be determined by your team. +Once you have prepared your assignment, simply notify our team by commenting on the project issue. We will review it and request any necessary changes. Once the assignment is approved, our team will make it public and share it with the students on the designated date you have set for the project to go live. -## Creating a template repository 🔗 +### 4. Review and select students 📊 -All opportunities use a GitHub repository to disseminate information to students. We request that partners use our [template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository) to generate an appropriate README for the Octernship program. This template repository will help you to: +Reviewing student submissions is straightforward: our team will handle the manual work and grant access to limited student repositories based on their code commits within the deadline. -* Share information about your organisation -* Detail the Octernship role and qualifications -* Share the project(s) required to qualify for this role -* Evaluation instructions and submission +This approach ensures that you only review legit applications. To begin the review process, visit their repositories and assess the quality of their submissions. Take the time to check their profiles, contributions, and anything else you deem necessary, such as conducting an interview. To facilitate this, communicate with the student via the pull request to connect directly with them and schedule further evaluations. -Use the `Partner Informational and Assignment README Template` available below. +Once you have completed the review and finalized your selection of students, please collect their GitHub usernames and share them with us by commenting on the project issue. It's important to provide your preferences, including a waitlist of students. For example, if you are looking to hire two students for the project, let us know the names of the two preferred candidates and provide two additional students for the waitlist in case one or both of the preferred students decline the offer. +### 5. Onboard students at your company 🚌 -### Partner Informational and Assignment README Template 🔗 +Congratulations! You now have Octerns and can embark on an exciting Octernships journey. -This template allows a Partner Organization to create a GitHub repository, which primarily displays basic information about the organization, problem statement, and resources that a student can refer to while applying to an organization. +If you've reached this point, it means you have successfully identified a qualified student (or multiple students) who has accepted your offer to work on your project. All that's left to do is initiate your company's onboarding process. GitHub does not play a role in this process; it will be conducted directly between you and the Octern, following your standard procedures for hiring interns or employees, including payment arrangements. -``` -# Information +*Remember, effective communication, regular check-ins, and providing guidance and support throughout the process are crucial to a successful Octernships experience.* -## COMPANY-NAME +### Submitting multiple Octernships projects 📚 -![Company Logo](IMAGE-URL) +A new issue and repository must be created for every new project you have. Let's review that: -### Company information +If you're submitting multiple projects simultaneously, you must create a new issue in the same organization repository our team has created for you. But for each new issue/project, a new assignment repository must also be created. Don't worry, our team will also handle the new repositories. -<!--- Use this section to share information about your company such as founding information, mission statement, product description, product success, etc.---> +This approach recognizes the uniqueness of each submission and allows for a focused assessment of individual openings. Creating separate issues makes it easier to organize, track, and review the applications, ensuring that each opportunity receives the attention it requires from potential applicants and the Octernships team. -### Why participate in an Octernship with COMPANY-NAME +After creating a new issue, the program flow is the same and follows the same steps mentioned in this handbook. -<!--- Use this section to appeal to students. Consider sharing information about recent projects, the technology stack, the type of mentorship students can expect, listing future employment opportunities, etc. ---> +## Communicating in the program 💬 -### Octernship role description +[GitHub Discussions](https://github.com/education/Octernships/blob/main/1.%20Application.md#heading=h.v7525k4g1v0d) are a great way to make public discussions and announcements during the selection phase of the Octernships. Community members can ask and answer questions, share updates, and have open-ended conversations. Discussions enable fluid, open conversation in a public forum. Discussions give space for more collaborative conversations by connecting and giving a more centralized area to connect and find information. -<!--- Use this section to describe the role in as much detail as necessary. Please include the GitHub Classroom assignment submission date, length of the Octernship, and the monthly stipend ---> +#### Promoting healthy conversations 👥 +People with write permissions for the repository, or for the source repository for organization discussions, can help surface important conversations by pinning discussions, deleting discussions that are no longer useful or are damaging to the community, and transferring discussions to more relevant repositories owned by the organization. For more information, see [Managing discussions](https://docs.github.com/en/discussions/managing-discussions-for-your-community/managing-discussions). -### Recommended qualifications - -<!--- Use this section to describe what skills a student might need to complete the problem statement on GitHub Classroom ---> - -### Eligibility - -To participate, you must be: - -* A [verified student](https://education.github.com/discount_requests/pack_application) on Global Campus - -* 18 years or older - -* Active contributor on GitHub (monthly) - -# Assignment - -## TASK-TITLE - -### Task instructions - -<!--- Use this section to describe the project that students are required to complete. We ask that you also include instructions on running and preparing the students' local environment if necessary. ---> - -### Task Expectations - -<!--- Please add expectations that students need to follow to be considered. Some examples include: completing the project on their own, not using code from external resources without comprehending the logic, etc. ---> - -### Task submission - -Students are expected to use the [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow) when working on their project. - -1. Creating a new branch -2. Making changes on the new branch -3. Creating a Pull Request to merge changes into main branch on or before the assignment deadline. -3. Using GitHub Discussions to ask any relevant questions regarding the project - -### Resources - -<!--- Use this section to add resources for students to refer to. For example Documentation, Tutorials, Guides, and more. ---> -``` - -### 🐙 SAMPLE: Partner Information and Assignment Repository 💖 - -Here is a [Sample Repository](https://github.com/education/Octernship-Demo-Project) of an ideal Octernships Project. - -## Setting up GitHub Classroom - -*As a partner organisation, you should have a [GitHub account](https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F&source=header-home) to setup your GitHub Classroom. To begin, navigate to the [GitHub Classroom](https://classroom.github.com/) and click the sign-in to get started* - -![](https://i.imgur.com/11FTKYP.png) - - -Once you have signed in, expect an blank GitHub Classroom Dashboard. You can now create a classroom by selecting “New classroom” -![](https://i.imgur.com/bowc2bZ.png). - - - -You will notice that you’ve been redirected to a page requesting that you select an organization for your new classroom. _Note: GitHub Classroom uses organizations to manage classroom assignments._ Therefore, every student who applies to your organisation by accepting to the project, will open a new repository within your organization. We recommend creating a new organization(free/based on your existing billing plan) for every Octernship Project you list. You can create a new organization by clicking `create an organization`. -![](https://i.imgur.com/Z20AAnW.png) - - -Once your organization has been created, select your new organization for your new GitHub Classroom. You will be immediately prompted to name it to create your Classroom. We recommend using the company or project name as the Classroom name. - -![](https://i.imgur.com/lnhdCev.png) - - -Now that you have created a Classroom you will be presented with options to add collaborators to your organization. If you plan on reviewing candidate projects with a colleague, we highly recommend following the steps to `Invite TAs and admins` otherwise you can skip this step. - -![](https://i.imgur.com/NlNDezR.png) - - The last option will ask if you want to add a roster to your classroom. You can skip this step by clicking `Continue`. _Congratulations! You have setup your first GitHub Classroom!_ - -### Creating your first assignment (a.k.a project) ✨ - -Now that you have your first classroom you can now create an assignment, which will serve as your project for students. You can now select “Create an assignment.” - - -![](https://i.imgur.com/BTtFlUp.png) - - - -### Creating a GitHub Classroom 👀 [DEMO] - -![](https://i.imgur.com/Ejeifjr.gif) - - -Once selected, you are presented with basic assignment options. We request that projects have the following options: - - -![](https://i.imgur.com/ySaatPW.png) - - - - -* _Assignment title_ - We recommend following a naming scheme for your assignments as it will show up in GitHub Classroom for students: **OrgName_ProjectName_AssignmentName** - * For example: GitHub_npmCLI_Dashboard -* _Deadline_ - We require that all projects have a deadline to ensure students know when the project is due. -* _Individual or group assignment_ - Set this option to “[Individual](https://classroom.github.com/help/creating-an-individual-assignment).” -* _Repository visibility_ - The repository visibility must be private to mitigate plagiarism. -* _Student admin access_ - Do not select student admin access - - -The next set of options is “Starter code and environment”. We request the following: - -![](https://i.imgur.com/My5JvwQ.png) - - - - -* _Add a template repository to give students starter code_ - You can create an assignment from a [template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository) to provide starter code, documentation, project details, and other resources to your students. -* _Add a supported editor_ - There is no need to select an editor so students can utilize their preferred editor. - ->> Note: If your repository is not a template, you will get a warning like this 👇 - -![not a template repo](https://user-images.githubusercontent.com/53075480/213744926-00da55b0-8f25-441f-a4cb-0ef025163e88.gif) - - -The final options allow you to add auto-grading and feedback PR to your project. You are welcome to add a testing suite to simplify your evaluation process. - - -![](https://i.imgur.com/zx9QAtc.png) - - -![](https://i.imgur.com/o98YerN.png) - - -Once you have selected your options, you can click “Create assignment.” - - -### Distributing a project 👥 - -> 🔴 Note: Do not share the GitHub Classroom Assignment Invite URL directly with the students on the repository/external channels. - -Once your project is setup up in GitHub Classroom as an assignment you can move to the next step for getting it reviewed by the GitHub Staff. Students can view and apply to your project via [GitHub Global Campus](https://education.github.com/students/octernships) - - -![](https://i.imgur.com/dY195Ch.png) - - - -![](https://i.imgur.com/c89GAZo.png) - - -### Creating your first assginment 👀 [DEMO] - -https://user-images.githubusercontent.com/53075480/218653379-a468589a-c456-4b0d-b631-95edef2e798c.mov - - -### Resources - -To learn more about GitHub Classroom and its features, check out the video guides and documentation available on [GitHub Docs](https://docs.github.com/en/education/manage-coursework-with-github-classroom) - - ---- - - -### Submitting the Octernship Project to GitHub ✨ - -*Once you have successfully created a Classroom assignment for your Octernship Project you can submit that project for review to the GitHub team. The following section will help you completing the Octernship Project Application form.* - - -![](https://i.imgur.com/vh89sJm.png) - - -We require that all opportunities use a GitHub repository to disseminate information to students. We request that partners use our [template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository) to generate an appropriate README for the Octernship program. You can find the template [here](#partner-informational-and-assignment-readme-template). - -Once you have filled out the template, you can submit your project to GitHub Education using the Project Application form. - - - -## Application Form 🔗 - -An Airtable form will be sent to all accepeted Partner organizations point of contact via email. It is required to submit your project related information to GitHub Education to proceed with the next steps. The form will capture information like: Organisation Name, Point of Contact, Bio, Logo, Favicon, Stipend, Project Repository URL, GitHub Classroom Assignment URL, Category and more. - -### Submitting Application Form 👀 [DEMO] - - - - -https://user-images.githubusercontent.com/53075480/213738833-001693e7-962d-4089-912d-eae7f4cf5806.mp4 - - -📺 GitHub Octernship Stream is a 30 min LIVE session for all Octernship Partners to deliver technical education content on their product/service and expectations from the Classroom Assignment. This will be broadcasted on GitHub Education YouTube. - - - -#### Submitting multiple Octernship projects ✳️ -Each submission to GitHub Octernship is unique, We ask you to submit a new application for each new opening you may have. This also means the new project will have a unique GitHub Classroom Assignment and Stipend. - -Example: If you have two available openings for GitHub Octernship you should submit two Octernship Project Applications containing respective classroom assignments and stipend information. - -After the information for your project has been collected, we will review the repository (typically 7 days). After the repository is reviewed and approved, we will send you an email and post the project to our student platform, [GitHub Global Campus](https://education.github.com/students/octernships). The accepted projects will go live on the GitHub Octernships page on the _assignment start date _and will stop accepting submissions after the provided _assignment end date _provided in your application_. _During this time, you can make use of [GitHub Discussions](#heading=h.v7525k4g1v0d)_ _to allow questions and provide support to students working on your project. - - -#### Reviewing student submissions ✅ - - -![](https://i.imgur.com/RGC4a2t.png) - - -When you are ready to review student submissions, you can visit student repositories by visiting your GitHub Classroom dashboard. Visit [https://classroom.github.com/classrooms](https://classroom.github.com/classrooms), select the classroom you created, select the assignment, and see a student roster with students who have accepted your project. To view the student repositories, use the “repository” hyperlink. - - -![](https://i.imgur.com/Vi5aiat.png) - - -Once in the repository, you can review the student commits and their pull request, and communicate with the student via the pull request/issues to schedule a further evaluation and connect with them. You can also use GitHub search capabilities to find code, keywords etc across student repositories. - -You can also use [GitHub search](https://docs.github.com/en/search-github) capabilities to find code, keywords etc across student repositories. - - -#### Selecting candidates for your Octernship ✅ - -Once you have reviewed your student submissions, please notify GitHub Staff of your selections using the `Octern Selection Form` which will be sent to you via email once the assignment deadline has passed. You can select the number of students based on your requirement for the particular project. - -The Octern selection must be given in preference order, this is done to prevent duplicate selection in case selected Octern(s) decide to skip or are unavailable for the project - -- Format: `GitHubUsername1`;`GitHubUsername2`;`GitHubUsername3` - - -### Submitting selected students to GitHub🚀[DEMO] - -https://user-images.githubusercontent.com/53075480/213744375-86ed7500-c3c4-47ba-9a17-4110d58413c8.mp4 - - - -#### Pairing with a student 🤝 - -![](https://i.imgur.com/bNkKnOx.png) - - -Once a shortlisted/selected student by a partner organisation, accepts the offer on GitHub Global Campus both partner and students will be notified via email. There after organizations can proceed with their independent organisation level onboarding steps. - - -#### Application FAQs ❔ - -* We have been asked to make changes to my application - * If the GitHub team needs more information or requires a change in part of your application, you must re-submit the entire Airtable form with updated information -* Octernship Start or End dates are tentative/variable for our organization - * Please reach out to [partners-octernships@github.com](mailto:partners-octernships@github.com) immediately and inform your change -* We don’t mind an upper limit to my Octernship Assignment - * We highly recommend setting a maximum value due to the high volume of applications. A large number of applications can lead to delays in evaluation and push deadlines back - -### Handbook References ❇️ -- Step 2: [Communication in the Program](/2.%20Communication.md#20-communication-in-the-program) -- Step 3: [GitHub Octernship Stream](/3.%20Stream.md) +#### Staff Communication (GitHub) 📧 +All communication with GitHub Staff can be done directly on GitHub, in the comments of your project’s issue by tagging @GitHub-Octernships/program-manager . You can also email *partners-octernships@github.com*.