Proposal for Google Summer of Code student selection process

Hi everyone,

This is a proposal to add an evaluation step to the current process of selecting students for GSoC.

The current process

The current guidelines exist at http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/Guidelines.

These guidelines (mostly linked from one page to another) go through the following series of steps.

  1. Running and using XWiki
  2. Following the onboarding guidelines at dev.xwiki.org
  3. Creating and solving issues in jira
  4. Contributing code to XWiki through pull requests
  5. Writing and submitting a proposal

On a higher level.

  1. Onboarding
  2. Contributing
  3. Proposal

This approach is good but it can be improved by adding another step for a better direction for students and an easier evaluation for the mentors.

Addition of another evaluation step

The step to be included is about project related exercises and tasks.

Exercises and tasks

After going through the onboarding guidelines, instead of jumping straight into solving issues on jira, students will be required to complete a series of tasks or exercises to qualify for the project. These tasks will serve as a starting point for implementing the actual project. Having the students work on these will help them understand the kind of work they will be doing through GSoC and will also help mentors in evaluating them to see if they are a fit even if they did not contribute any code to some XWiki project.

The nature of these tasks will depend upon the project and the mentor. There could be multiple tasks each with its own set of steps to give the student a high level idea on how to do the task and where to look for relevant resources.

Example project and task

Suppose an “Advanced FAQ Application” is proposed by one of the mentors. The tasks for this project will be.

  1. Get familiar with XClasses and XObjects. Create sample XClasses for questions and answers. (see guide)
  2. Understand the concept of templates and sheets in XWiki and create a template and sheet for the question part. (see guide)

Grade for tasks

For checking the compatibility of this new step. We can have a grade for tasks added to the overall grade. And later make the step mandatory for student consideration.

Pros

This new step could help in.

  • Filtering the proposals
  • Having only capable students considered for the projects
  • Less mentoring effort after the project starts (since the student is somewhat familiar with the process at this point)
  • A definite direction for new students (since they know exactly what to do now)
  • An easier and definitive evaluation for selection

Cons

  • It could prove difficult for mentors to think out the tasks
  • Requires more effort from mentors in the initial GSoC phase

The new process

So the students onboarding and selection process will be updated to.

  1. Onboarding
  2. Project task(s)
  3. Contributing
  4. Proposal

Hi, Fawad!

Interesting proposal! I have heard other orgs starting to “test” their students in various ways more and more often. The current process is a bit too vague and, indeed, students contributing, say, translations or CSS quick fixes might not be really relevant for the project they have to do.

We could try it, indeed, and have each proposal require 3-5 tasks for the student to perform before we can consider their application. We need to validate that students can code but that they can also handle on their own and find/read/understand/follow the existing documentation/guides without depending 100% on the mentors/community.

We will have to review next year’s proposals anyway so the effort of adding the associated tasks would be integrated there.

1 Like