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.
What is 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.
Open-source hub
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.
Programming social network
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.
Great learning tool
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.
Place to show off your work
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.
GitHub alternatives
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.
GitHub vs Git
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.
Learning more
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.
Top comments (3)
I always assumed GitHub was for people who knew what they were doing lol
I already had this conversation with one of my mentees! That's why I wrote this article:)
You have to learn Git to become a developer, and using Git locally and alone is way simpler than using it with a remote repository and a team. You can practice some aspects of working with a remote repo just by putting some code of yours on GitHub. The team part is more tricky—you need people to collaborate with. I wrote an article about what complexities you can expect as others join you:
how-to.dev/beginner-programmers-gu...
Open source on github has always been kind of mystified to me. Now that I'm finally working on projects with people that I get to talk synchronously I understand collaboration more, but it was hard seeing the social side of GitHub. I was confused on where to ask questions and what questions to ask. I usually ended up questioning if I knew enough to contribute to a repo given that my project background was a lot design than development.