You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CC plans to participate in [Google Summer of Code](https://summerofcode.withgoogle.com/) 2020 and the [Outreachy](https://www.outreachy.org/) May-August 2020 round.
8
+
9
+
Check back in early February for more information.
Copy file name to clipboardExpand all lines: content/internships/mentorship/contents.lr
+30-33
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,37 @@ _model: page
2
2
---
3
3
_template: page-with-toc.html
4
4
---
5
-
title: Open Source Program Mentorship Guide
5
+
title: Open Source Internships: Mentor Guide
6
6
---
7
7
body:
8
8
9
-
CC participates in open source mentorship programs such as Google Summer of Code and Outreachy. Both CC staff and community members are welcome to mentor projects. More details about specific programs and rounds will be announced separately; this page serves as a general mentorship guide.
9
+
CC participates in open source mentorship programs such as [Google Summer of Code](https://summerofcode.withgoogle.com/) and [Outreachy](https://www.outreachy.org/). Both CC staff and community members are welcome to mentor projects. Details about specific programs and rounds are listed in the [Overview page](/internships); this page serves as a general mentorship guide.
10
+
11
+
## Considering Mentorship?
12
+
13
+
Mentorship is a serious commitment but a very rewarding experience. If you're trying to decide whether to be a mentor, please read the following documents:
14
+
*[Google Summer of Code mentor guide](https://google.github.io/gsocguides/mentor/)
15
+
* Outreachy [mentor role description](https://www.outreachy.org/mentor/#mentor) and [mentor expectations](https://www.outreachy.org/docs/internship/#mentor-expectations)
If you'd like to be a mentor but don't have a specific project in mind, email the [CC Developers mailing list](/community) and let us know what your skillset and availability is. We'll see if we have a project you can help out with. If you'd like to propose a project, read on.
10
19
11
20
## Proposing a Project
12
21
13
-
Mentorship is a serious commitment but a very rewarding experience. If you'd like to mentor, you need to decide what project you'd like to mentor or join a project that someone else is mentoring.
22
+
If you'd like to propose a project for an intern to work on, please use the following template and send your idea to the [CC Developers mailing list](/community). Someone from CC staff will get back to you about whether it is a viable project and next steps for moving it forward.
23
+
24
+
_**[Project Title]**_
14
25
15
-
*More about this stage coming soon.*
26
+
**The Problem**: _Describe the problem that needs to be solved and why it is an important one for CC._
27
+
**Expected Outcome**: _Describe the outcome that you’d like to see for this internship._
28
+
**Internship Tasks**: _What will the intern be expected to do during the internship?_
29
+
**Application Tips**: _What are you looking for in the intern’s project plan in their application?_
30
+
**Resources**: _List of resources associated with this project idea. GitHub issues, specs, documentation. blog posts, etc._
31
+
**Mentors**: _Who will mentor this project? We require having two mentors for each project, but if you only have one, we can help find another._
32
+
**Technical Skills**: _What technical skills will this project need?_
33
+
**Difficulty**: _How technically difficult is this project? Options: High, Medium, Low_
34
+
35
+
Please note that project ideas should be related to an existing CC open source project or website and should be clearly scoped out. They should be doable in three months by an intern with very little prior experience.
16
36
17
37
## Application Period
18
38
@@ -25,83 +45,60 @@ Some tips:
25
45
- You will get a lot of low effort questions like "how do I get started" – ask for more details. You cannot spend 20 minutes helping every single person because there are far too many people, so help them help themselves.
26
46
- Prepare general documentation/frequently asked questions ahead of time.
27
47
28
-
### Application Period
48
+
### Draft Application
29
49
30
50
You should encourage applicants to share drafts of the application with you ahead of time. Using a Google Doc with comment permissions enabled is probably the easiest way to achieve collaboration. Focus on making sure that their understanding of the project, the project plan, timeline, and deliverables match what you had in mind and is feasible (keeping in mind that they may be new to all this and may not get things done as quickly).
31
51
32
52
## Internship Period
33
53
34
-
### Preparing for the Internship
54
+
### Preparing
35
55
56
+
Before the internship period begins:
36
57
* Talk to your co-mentors ahead of your time to create a plan for how to collaborate – will one of you be the primary mentor or will all of you be equally involved? How will checkins and notes work?
37
-
38
58
* If your project affects or involves anyone else at CC that's not a co-mentor, talk to them about how they would like to be involved and come up with a plan to collaborate.
39
59
40
-
### After Intern Announcement
60
+
### Post-Announcement
41
61
62
+
Once the selected interns have been announced:
42
63
* Reach out to your mentee ASAP after the internships are announced.
43
-
44
64
* Get the mentees’ T-shirt size and address ASAP and send it to the program coordinator (we will be sending each mentee some CC goodies).
45
-
46
65
* Review the proposal again and ensure that the implementation details and weekly deliverables are feasible and well thought-out. There are probably some things that could be clarified or changed – work with the mentee to fix these items before any work is actually started.
47
-
48
66
* Have an introductory call with the mentee and get to know each other. Ask them questions about themselves and talk about yourself too.
49
-
50
67
* Set up regular meetings: a weekly video call for the mentors to check-in with the mentee, and a monthly call with the CC program coordinator to check in with the mentee.
51
-
52
68
* Create a document to keep any project information and notes. This document should be shared with the program coordinators.
53
69
* the “final” implementation plan and weekly milestones (“final” because it is subject to change during the coding period based on progress)
54
70
* the mentee’s contact information and emergency contact
55
71
* all meeting notes
56
72
* any other project-relevant information.
57
-
58
-
59
73
* Decide with the mentee on the workflow the project will follow. e.g.
60
74
* Does the mentee understand regular git workflow (e.g. pull requests, branches, reviews)?
61
75
* How often should code be reviewed? Does all code need to be reviewed?
62
76
* How often should code be committed? Does all code need to use pull requests or can some be pushed directly to master?
63
77
* Will the mentee commit directly to the repository hosted on the CC GitHub or will they use a fork?
64
78
* What is the best way for the mentee to get your attention when they are stuck?
65
79
* Where will their project be deployed (if applicable) during development?
66
-
67
-
68
80
* Let the mentee know that they will be expected to post updates on their project on the CC technical blog regularly. Decide on a cadence for the blog posts (should be every two weeks at a minimum) and set due dates for them.
69
-
70
81
* Help the mentee get their development environment set up.
71
-
72
82
* Ensure that the mentee has permissions to push to the appropriate GitHub repository.
73
83
74
84
### During the Internship
75
85
86
+
During the internship:
76
87
* Attend your weekly check-in.
77
88
* Take good notes so that your backup mentor can pick up where you left off easily if you’re unavailable.
78
89
* Make sure the mentee is on-track with their weekly milestones and if not, work with them to figure out why and come up with a plan.
79
90
* Ask how the mentee is doing generally.
80
91
* Praise things they are doing well and provide constructive criticism on the things they could improve on. Both of these are important.
81
-
82
-
83
92
* Review all work/code promptly. You should aim to review within 1 business day.
84
93
* If your mentee is blocked on their work for some other reason, help them become unblocked as soon as possible.
85
-
86
-
87
94
* Check in on Slack with the mentee once every day or two. Remember that they are often not experienced with the work they are doing and may not know to ask for help or may be stuck on something that they cannot articulate very well.
88
-
89
95
* Ask for feedback on your mentorship every few weeks.
90
-
91
96
* Find an opportunity to invite your mentee to present their work at CC’s all staff meeting. It is up to you when you’d like to do this.
92
-
93
97
* Make sure you're familiar with the program timeline and submit your required evaluations on time.
94
-
95
-
96
98
* Engage the mentee in the larger CC development community – encourage them to share their work and talk to them about other projects and your own work.
97
99
* Ensure that the development version of their project is deployed somewhere ASAP so they can seek feedback from the community.
98
-
99
-
100
100
* Work with the CC staff engineering team and program coordinators on a plan to move the project to production when the project is complete.
101
-
102
101
* Check in with any CC staff working with the mentee regularly to make sure their feedback is also being heard and implemented by the mentee.
103
-
104
-
105
102
* Talk to the program coordinator proactively. Especially if:
106
103
* your mentee is not active and engaged regularly.
107
104
* your mentee is not communicating enough or misses a check-in.
0 commit comments