In today’s episode, I’ll be announcing a GitHub Reading Challenge.
I love the feeling of that start of a year. Life rolls into another year but there is a freshness of starting anew. There’s an uptick in energy to accomplish new goals.
A common new goal for a new year is to do a reading challenge.
The Goodreads 2021 Reading Challenge has surpassed 3 million ambitious readers!
Now, what is a cost-effective way to gain access to a database of ebooks to read for all that reading?
Well, there are subscription options such as Kindle Unlimited, Scribd, Bookmate in which you pay a certain amount per month. Scribd, for example, costs $8.99 per month.
For developers, there are also ebook subscription options such as O’Reilly which costs $49 per month.
O’Reilly is a good option. However, are there any free ebook options for developers?
Of course! There is GitHub.
Each file in the source code tells a story about how a problem was solved.
Even if a problem that you are encountering is different, you can take and modify bits and pieces of an existing solution.
There is a lot to learn by reading source code.
Since GitHub makes source code publically accessible, and since source code tells a story, GitHub may be thought of as a reading platform (in one sense). A free reading platform that is.
As an alternative and/or addition to developer ebook subscriptions and other online resources, why not read through the source code of GitHub repositories that implement technologies that you want to learn?
As the Goodread’s Reading Challenge highlights, there can be a tremendous motivation that comes from doing a reading challenge.
Putting it all together, how about a GitHub Reading Challenge?
Before we go, let me give you an outline for an example GitHub Reading Challenge which you can adapt and make your own.
Read through and understand the “story” of the source code for these different categories:
- A CLI tool of your choice (i.e. Prettier)
- A testing framework of your choice (can be a unit or E2E testing framework; i.e Playwright)
- A “utility” package of your choice (i.e. Lodash)
- A functional programming language of your choice (i.e. Elixir)
- A color manipulation library of your choice (i.e. tinycolor2)
- A state management library of your choice (i.e. XState)
- A GitHub repository trending today
- A data visualization library of your choice (i.e. Visx)
- A GitHub repository that consumes a library you want to learn (i.e. a PostCSS plugin)
The sky is the limit. What will your GitHub Reading Challenge look like?
That’s all folks. I hope this provides additional motivation to learn by reading source code on GitHub.