CYF Docs
Comment on page


There are several roles that you can take when volunteering with the Education Team which have varying levels of time commitment and planning.


Time Commitment: 4 consecutive classes plus planning time (2 hours at the weekend, some hours during the week)
The module coordinators or leaders organise the work for a module, empower volunteers to teach and guide trainees on class days, and evaluate the success of the module (not "did we teach this" but "did we learn this").
Module leaders are normally from within the group of mentors who have been around from the previous cohort and have a good feeling about how to run a class. You should not teach the entire Saturday class. The point is to facilitate team teaching in your Tech Ed team and group working in your trainees.


Time Commitment: 4 consecutive classes plus planning time (5 hours at the weekend, some hours during the week)
Trainers are the people that deliver content inside our weekly lessons. Basically any time you are running any kind of group session you are acting as trainer.
You are responsible for coordinating your session, making use of Teaching Assistants, talking through the subject and setting up exercises.
Read more about this role here

Assistants (TA)

Time Commitment: One training day per week (roughly 6-8 hours)
This is where most new Education team members start as it is a good way to get to know the trainees and the other team mentors. What the role involves: during the class, new concepts and exercises are introduced by the lead trainers. The trainees explore these with hands-on exercises. TAs unblock trainees if they get stuck, and model how to work a problem with other developers.
TAs are not expected to come every weekend, but signing up ahead of time is really helpful for everyone else.
Read more about this role here.

Tech Buddy

Time Commitment: A few hours a week, one essential meeting, long term commitment (Roughly 3 hours per week)
This role is an ongoing commitment where you are paired with between three and five trainees for at least three months. You guide these trainees with technical mentorship, code review, and pair programming. You are responsible for developing your trainees to be independent learners.
You also attend a regular meeting to share your trainees progress and get them additional support if needed.
Read more about this role here


Time Commitment: One meeting every two weeks, as much time as you can commit in between
Our syllabus is a FOSS project developed in public on Github. Everyone is welcome to contribute and you can do this by opening an issue or PR in the usual way. You do not need to join a Syllabus team to contribute to our syllabus. Our Syllabus teams decide on a strategic level what we teach and why. As a Syllabus team member you iterate constantly based on CYF impact data and feedback from employers, trainees, and volunteers. Syllabus roles are suitable for professional developers.
Read more about this role on the Syllabus

Additional Roles

Mid-week study sessions

Time Commitment: Flexible
Some team members can't commit their weekends but are able to meet trainees midweek to work through coursework, provide group project support, or drill down into key concepts. This is a parallel stream of work that is just as valued and important as the weekend sessions.
Normally, team members post Office Hours on a certain day of the week (few hours after work for example) and trainees respond if they can join. You will also be developing trainees to run their own sessions.
Post up your availability in a pinned post in your cohort channels. This role is very flexible and particularly suitable for online-only volunteers.

Code review

Time Commitment: Flexible
Coursework is opened as Pull Requests to the CYF coursework repos. Volunteers review and request changes in a relaxed, friendly, code review. This task is very flexible and particularly suitable for online-only volunteers.

Graduation Project

Time Commitment: Six weeks at the end of the course
The graduation projects, at the end of the course, require developers who are comfortable jumping into several different roles:
  • Being the architect of the project
  • Lead developer taking responsibility for PRs and their quality
  • Project Management and wearing the hat of Scrum master sometimes.
If you'd like to get involved in one or few of those roles, please let one of the lead mentors know.