The short answer is as soon as possible. Optimally, you’ll already have a GitHub account. If that’s not the case for you—first read this article and then register on GitHub.
It’s a hosting platform for code. GitHub offers free hosting for both public and private repositories—with the free tier generous enough for learning purposes and some small projects. It has 83 million users, and it hosts more than 200 million repositories.
Plenty of open source projects are on Github:
Many projects use it as a platform for development: they keep track of issues and discuss project roadmaps there. So, no matter how you would like to participate—with code contribution, bug reports, etc.—you will need a GitHub account.
Besides hosting code and project-related communications, GitHub is a social network for programmers. You can follow users, projects, and organizations to keep yourself apprised of their activities.
There is a bit of gamification as well: they have the activity chart with a heatmap of your activities:
It’s a little bit like Duolingo streaks, but with fewer guilt trips.
It’s a great place for learning to program. You can find projects of other people and clone them to play with them locally on your machine or fork to your account—to share your changes with others. When you think your changes would improve the original project, you can propose them as a Pull Request—that is, propose your changes to the project maintainer.
The projects you are working on don’t have to be perfect to be worth publishing. Programming is a long journey for everybody, and it’s obvious that the very first steps will be a bit clumsy. You can put your work out in public without worrying too much. It’s unlikely that anybody will pay attention to your profile until you send them to it—for example, as part of a job application. And by then, your projects will look much better.
There are other companies offering similar features. For example:
The main difference is that they have much smaller communities, and therefore, they lack the networking effect of GitHub.
As a simple comparison, you can think of Git as a protocol—like email. GitHub is a hosting provider that supports this protocol—like Gmail, Outlook, etc. If you are interested in reading more about the comparison of those two, you can read more here.
Git is an essential tool for every programmer. If you are interested in learning more about it, sign up here to get updates on my Git-focused content.