This guest blog post was written by CTD volunteer Darga Darga.
One of my favorite things about volunteering with Code the Dream is the high degree of flexibility they provide both their students and their volunteer mentors.
When students are able to choose the specific interactions that they find most comfortable and effective, it also creates a clear opportunity for volunteers to do the same. When mentors “meet students where they are,” both groups are better able to discover and grow into their unique strengths as software engineers and teachers.
In each course, several mentors schedule recurring weekly lectures where they might present slides, gradually build up a demo project, improvise coding examples in real-time, or pair program with students to help them with tricky bugs.
Mentors may record and post videos of these sessions for students with conflicting schedules, or those who prefer the greater control of pausing, speeding up, skipping, or rewatching whatever content they choose.
Group sessions are great for volunteers who need a predictable schedule, and make a meaningful impact in as little as 1 hour per week.
Mentors can designate time slots where students can book 1:1 video meetings for a more personalized learning experience.
1:1 mentoring affords a wide range of time commitments, with the added benefit of being very flexible from week to week.
Slack Channels and DMs
CtD also provides a Slack platform where students and mentors can communicate via text. Open channels often offer the quickest response, while direct messages are ideal for longer discussions.
The quick, ad-hoc nature of chat interactions makes them especially good for those students and mentors with busy schedules and other responsibilities.
Sometimes a code review is as simple as instantly approving a student’s work, while other submissions lead to multiple revisions and involve Slack discussions or pair programming sessions.
The code output of CtD students varies from completing a few introductory exercises each week to submitting one or more daily pull requests to a large group project. Due to the self-directed nature of CtD’s curriculum, it’s also common for students to be either multiple weeks ahead or behind in their assignments.
All this variance means that code reviewer mentors have the most sporadic cadence of work being assigned, but they also have the greatest flexibility in when and how to complete those tasks.
The most essential way programmers communicate is via reading and writing code itself, and CtD student-mentor interactions are no exception.
I personally love coding in real time with students, whether it’s pair programming on a bug, demoing a new concept in a group session, or building an example project together which we can evolve over time.
Everything All at Once
After completing at least one advanced class, CtD students may join a Practicum, where they spend 8 weeks collaborating together on a group project.
Mentoring Practicum groups involves the aforementioned responsibilities of teaching, debugging, and code review. Additionally, though, it’s likely to require serving as a team lead, project manager, technical writer, or administrator.
Practicum can be a good fit for mentors with more experience collaborating or leading in team environments. The final project provides a single concrete deliverable to work toward, and staying with the same small group of students is a very rewarding way to witness their growth.
It’s All About Flexibility
While volunteering in my first two trimesters as a Code the Dream mentor, I’ve spent some time in each of these different roles. This variation has shed unexpected light into my strengths, my weaknesses, and what I simply find most enjoyable about working with students.
The idea of my preferred mentorship style has changed quite a bit, and some big gaps in my experience are gradually developing into new abilities. This fall, I’ve tailored my role to embrace these new insights; I’m more consciously leaning into my strengths as well as taking on some new challenges.
Code the Dream empowers their students to completely customize their learning experience. This in turn allows volunteer mentors to discover and evolve their ideal niche in the school’s community.
The more students and volunteers can discover and foster their unique strengths and styles, the easier it is for students to learn in the ways they’re the most confident, the most productive, and the most excited about coding.