I wanted to share a thought that’s been brewing for a while - something that I believe could add to our experience on Exercism.
The idea is Community Projects. They would be projects that we could collaboratively build. An opportunity to apply our learned skills, work as part of a team, learn from one another, and most importantly, create something meaningful together.
But before anything else, I want to hear from you. It’s important that we shape and document this initiative collectively. I’ve listed some questions below to help guide our discussion:
What kind of projects would you be interested in? What excites you? Are there any specific languages or technologies you’d like these projects to focus on? How should we organize project teams? By skill level, language preference, or something else? What resources or support would you need to contribute effectively to a community project? How can we ensure that these projects are rewarding and enjoyable for everyone?
These questions are just a starting point, so feel free to share any additional thoughts or ideas and remember, everyone’s input is valuable no matter what stage you’re at in your programming journey.
I believe that Community Projects could add a new dimension to our learning experiences here on Exercism. But it needs community involvement, ideas, and enthusiasm!
Next month’s 12in23’s featured tracks are an obvious candidate. We can also look at the num exercises/num students ratio (or some alternative measure), to find the tracks most in need of improvement. We could also have a project focus on CI, which would mean focusing on GitHub Actions. Another project could be to reduce Docker image sizes, which means focusing on Docker.
Tough one. I think a mixture of skill levels could work if there is at least one more senior member in the team. Language preference groups might seem like a natural choice, but I would rather organize teams around what they are working on, not the language they’re working on (many tasks don’t require intimate knowledge of a language).
Some team suggestions:
Practice Exercises
Concept Exercises
Syllabus building
Shared Exercises (basically: prob-specs)
CI
Docker
Test runners
Representers
Analyzers
Configlet
Documentation
Testing
We’d probably need a dedicated section in the forum to allow for public discussions, maybe even private discussions? Other than that, it is of course key to quickly be able to find who is in which teams.
Share the results with the community, e.g. on the Exercism blog, via the Exercism Twitter account or on the forum. It would also help to contact people some time after the project finished to report back how their efforts helped. And maybe some badges or flair?
As for the enjoyable part, personally I would really like to see tangible results. Any PR merged it something I enjoy. And the very fact that one can work together with others is something I (mostly ) enjoy. Combining these two: make sure that any results are shared with the other team members (and the larger community).