Emphasis on
-
Communicate on the public and open source culture
-
Test Driven Development (TDD)
-
Documentation via Docstrings and wiki
-
Example workflow [1]:
* Write a test that demonstrates what feature will be added.
* Run the test to verify that it fails in the way you think it should.
* If it fails in an unexpected way, your test may be wrong. This is a great time to ask your mentor for guidance.
* If it passes, you are done! You just added test coverage to an already existing feature, and that is great!
* Add the feature (also known as “a simple matter of programming”).
* Run the test to verify that it passes.
* Write documentation about your feature.
* Rejoice appropriately.
- Avoid following at all costs [1]:
* Write code the first 1/3rd of the summer
* Write tests the next 1/3rd of the summer
* Write documentation for the last 1/3rd of the summer
Creating a Strategic Plan
- A high-level design document
- Progressive milestones that build on the previous work
- Target completion dates for each milestone
- Tasks associated with each milestone
Following the Plan
- Collect regular status reports
- Check off associated milestone tasks
- Set an expectation of prior notification of missed deadlines
- If your student misses a deadline, make sure you discuss why
- Be a good example
Delivering Feedback
- Deliver feedback early
- Make a point to give positive feedback
- Don’t avoid critique, but don’t be a jerk
- Patch review
GSoC 2021 Notes
-
For 2021, we have added more flexibility into the scheduling of student’s work - they have 10 weeks to complete their 175 hour project. This means students can work on their project an average of 17.5 hours each week of the 10 week program or they can work more hours certain weeks and then have some days/ weeks off as their exams/personal commitments occur. The main point to consider is that the mentor and student need to discuss the planned breaks and expectations early on - during the community bonding period to make sure they are on the same page.
-
While there is more flexibility for scheduling for 2021, the first and final evaluation deadlines remain the same and can not be changed. What this essentially means is that students will be expected to complete 40-50% of their project by the first evaluation which is the halfway point of the program (at the end of 5 weeks of coding) if they want to pass their evaluation. Also if a student completes their project 6 weeks into the 10 week GSoC 2021 program, that’s great, but they still have to log back into their GSoC dashboard during the final evaluation period (week 10) to submit their final evaluation and work product URL in order to pass the program.
New Architecture
- Microservices
- Docker where possible
- Fail fast
- Test driven development
Sources
[1] https://google.github.io/gsocguides/mentor/workflow.html