Good First Issues Are Gifts
When I started my latest open-source project, a simple Ruby wrapper of the Readwise API, I went through my usual checklist of things to set up: a license, a README, a code of conduct, a changelog, and I ended by spending time making simple issues.
Even before GitHub solidified the practice into a feature, I (along with many other open-source authors) started making sure each open repository or project I maintain has at least one 'Good First Issue' available for newcomers to pick up and use as an open door into the project. The basic idea is that any public repository can list its 'low-hanging fruit' features-to-implement or bugs-to-fix for budding developers or new contributors to tackle.
It's important to leave entryways into your work for contributors:
- It lowers the barrier to entry for them to work on something impactful
- It fosters the communal mindset of contributing back to the free software ecosystem
- It empowers people to modify and improve their tools and software - to become developers and owners
- It nudges people to contribute they 'right' way - however you see that for your project - and reduces the number of unwanted contributions to your projects
When I lead the team at OfficeLuv, we open-sourced several libraries and contributed back to the open-source landscape. We often found many of our engineering job candidates through their contributions to our open libraries, most often through them picking up these Good First Issues and improving our product from afar. (Some of them are still open now.) I started offering Good First Issues as coding-interview options for hiring candidates all they way back in 2015 at ThreadMeUp.
This is a wonderful way to enter the software engineering community, and I hope that bootcamps come to emphasize this type of involvement in the future. It's a productive way to learn in the open and engage with more seasoned developers.
I would not be in my career today were it not for the open doors of the open-source community that allowed me to contribute, fumble, and improve as I learned software development. Anything I can do now to pave those paths and remove the imposter syndrome inherent to entering the field is time well spent.
What are the similar channels of entry in other industries? Most other professions require a more formal agreement or actual employment to start contributing to a group or publication or project. The closest thing I can think of is something like a food co-op or bicycle repair co-op that I was involved with in college: places that would have open doors for patrons and checklists for them to help out on. You could walk in, hang out, and help someone even if you only knew how to change a flat tire.
Imagine if a Youtube channel listed out the opportunities for subscribers to help out: design a logo, create playlists, remix intro music, etc. A theater troupe or coffee shop or political campaign might need the same. How could a specialized or common system look guide new members to learn and contribute from wherever they are?