[gPXE] GSoC 2010 Game Plan

Marty Connor mdc at etherboot.org
Sun Apr 4 17:21:52 EDT 2010


Hello Everyone,

== Background ==

As we're about to start our fifth Google Summer of Code (GSOC), I
wanted to provide an overview of our approach and process for
evaluating applicants and mentoring throughout the engagement. We have
found that these processes help our students get the most out of their
GSOC experience, which helps our project gain the most benefit from
participating in this solid program.

This message is intended for a variety of audiences, but is especially
intended for:

   - Students thinking of submitting an application to work with
     us this summer
   - Etherboot Project community members who are curious about GSoC
   - Etherboot Project mentors who have not mentored with us before
   - Anyone else who is curious

Since 2006 we have had the pleasure of working with 18 students.  16 of
18 [89%] have successfully completed their projects.  We credit this
high success rate to a number of factors:

   - Careful evaluation of applicants to make sure they are a good match
   - Weekly meetings and assessments of progress to spot problems early
   - Frequent communication via IRC and email to keep connected with
     students
   - Team mentoring so there is always someone around to help

This year (2010) we are welcoming some new mentors to our project, a
couple of whom are former Etherboot project GSOC students. We are
pleased that they have capitalized on their GSOC experience and, as
they join the ranks of our veteran mentors, we look forward to having
their help and expertise this summer.

If you are interested in finding out more about our previous GSoC 
engagements please see:

    http://www.etherboot.org/wiki/soc/start

== Procedures ==

Here is a basic overview of our GSoC process:

=== Before and during selection ===

   - Students communicate with us via email and IRC
   - Students submit applications/proposals
   - Mentors discuss proposals with students and offer suggestions
   - We send students a qualification exercise (a short programming
     exercise to solve and to qualify for an interview)
   - Upon receiving a solution to the provided qualification exercise
     we schedule an IRC interview with
   - We conduct interviews with students to assess:
       - Technical skills
       - Analytical skills
       - Communication skills
       - Ability to work in a team-oriented environment
   - Students are ranked based on their proposals, interviews, and other
     interactions with our community.
   - We deliberate as a mentoring team to match students and mentors
   - We select our top N (where N is usually 4) candidates to work with
     us

=== After selection but before start of coding ===

   - During the interim period between selection and start of coding we
     prepare student project pages and set expectations for selected
     students

   - We expect our students to be ready to be productive at the
     beginning of coding.

   - This means that during the interim period, students must ensure
     that they have:

     - Their development hardware and software is ready and tested
     - The ability to use git for routine tasks
     - The ability to build gPXE from source, edit, and rebuild
     - Familiarity with our wiki (editing, adding images, formatting)
     - A reliable IRC access method so they can be online regularly

=== Once coding begins ===

In a small FOSS organization like ours mentoring is very much a group
activity.  We communicate regularly, and we help each other to
understand things that we find unclear and to improve ourselves and our
processes.

   - Every week we meet with each of our students as a mentoring team to
     assess progress and to offer support and advice where needed.

   - At week 6 we do midterm evaluations and decide if students have
     made sufficient progress to continue.

   - After midterm we continue weekly meetings and work to see if
     students are close to creating code that can be merged into our
     main gPXE tree.

== Reflection ==

Rather than treating GSoC as a 12 week period, we treat it as 12
one-week periods.  This allows us to actively work with our students
and to detect small issues before they become major.  It also give
logical places to evaluate progress and offer support.

Our years of working with students have helped us improve as mentors
and having mentors who have been students helps us to improve our
processes.

I look forward to another excellent summer of code and community, and
thank everyone involved for your enthusiasm and willingness to come
together to make welcome new members of our community.

I'll have much more to say about GSoC, but wanted to begin with some
thoughts to frame things for those who may not be familiar with our way
of doing things.

Best wishes to all candidates, and many thanks to those who are helping
make our GSoC successful.

/ Marty /




More information about the gPXE mailing list