I was discussing today with a coworker about those websites where you can practice coding (LeetCode, CodeWars, etc.).
The problem we found with those is that it’s oriented towards one-shot snippets of code, usually to solve an algorithmic problem. This is very satisfying for the mind, but it’s not really helping improving day-to-day coding skills.
I remember Ubuntu had a project called One Hundred Papercuts. The goal was to identify easily fixable but annoying bugs and let everyone participate. To be honest, I’m not sure what the result was for this (judging by the list of open bugs, it’s looking more like “Death By Hundreds of Cuts” project, but that’s another topic).
I was wondering if there could be something that would help people improving their coding skills while also improving open source projects.
Here is my idea. It’s based on Github because this is where a lot of open source projects are hosted now, but it could be decentralized or used somewhere else:
- Maintainers of open source projects tag easily fixable issues using a given tag (let’s say #papercut)
- People who want to improve their coding skills and/or improve an open source project check a dedicated page where they can filter all the issues tagged as #papercut using additional data such as the language used, the age of the issue and what not.
Is this idea completely stupid? Is it doomed to fail for obvious reasons I have not thought about?
One of the problem could be that it requires maintainers to actually perform some work before (finding issues that can be tagged as #papercut, maybe improving the description in order to make it easier for someone not familiar with the project to pick it up), during (answering questions the person who picked up the issue may have) and after (code review, merge process, etc.).