Each year (since 2011), Catalyst runs the Open Source Academy — a two week summer boot camp for high school students to learn about open source development. SilverStripe was very pleased to participate this year alongside other open source projects Koha, Mahara, Piwik, and Drupal.
Elliot Sawyer and Stephen Shkardoon volunteered to mentor at the academy while Clarion Coughlan had the heavy responsibility of fetching coffees in the mornings and running retrospectives in the afternoon.
We were teamed up with four students from different Wellington high schools with the ambitious goal of helping them get up, running and contributing to SilverStripe in four intense days! We of course had another nefarious goal which was to inspire them to fall in love with the SilverStripe CMS, framework and community — although if they came out of the Academy loving coding, then that’s a win too.
What we planned versus what actually happened
We initially planned to go through the bug tracker looking at issues that people reported. Stephen and Elliot also prepared a list of bugs ranging from “super duper simple” to “OMG so complex”. But it turns out that bugs easy enough for a beginner to fix were already fixed so our idea of “super duper simple” actually wasn’t.
There was one glorious moment of victory where the students fixed a bug, a pull request was raised...and then rejected because of an IE8 issue. Such is the rollercoaster ride of open source! After the patch was amended to work with IE8 it was submitted and merged, so all users of SilverStripe can benefit from the work done here.
So we abandoned the idea of bug fixing and instead set out to design and develop a new SilverStripe theme. SilverStripe has a small amount of public themes (as many developers tailor themes to meet their customer's needs), so what better way of contributing to the community than creating a shiny new theme for others to use if they want to get a website and basic theme up quickly? We are really proud to say that they achieved this goal with their theme aptly named - SilverDragon. What's more, both Elliot and Stephen admitted to having never created themes themselves either (they are far too hardcore for that) so they learnt alongside the students too.
What we learned
They learned some PHP, SCSS, HTML/CSS
They learned how to create a pull request to contribute to other projects, how to fix any issues with their original request, and how to handle pull requests for their own project when receiving them.
They learned to push, pull, stash, commit, add, remove, and branch their code in the course of building their project.
They learned to work together as a team of four developers on a single project (with the Git and collaboration woes that come with it).
We learned that it’s a good idea to do a retrospective at the end of the day to get an idea of what the students were enjoying and how we could make the next day better for learning.
We learned that it was really hard to talk out loud all day and it was challenging to explain taken-for-granted development practices.
We learned that it’s incredibly rewarding to mentor students.
We really hope SilverStripe gets the chance to participate in the Open Source Academy next year. It’s super fun and rewarding — not only sharing our love of SilverStripe with the students, but seeing the next generation of developers contributing to other open source projects such as Koha, Mahara, Piwik, Drupal: It was inspiring to see what can be achieved in two short weeks. We especially wish all the students the very best for their coding careers and encourage you to keep in touch!