When starting out as a web developer, it can be easy to get lost in the multitude of languages, tools and platforms that are available in today’s market. However many would argue that GitHub is an essential platform for every web developer at every level.
GitHub was launched in April 2008 by Tom Preston-Werner, Chris Wanstrath, and PJ Hyett. At its base, it is a web platform, written in Ruby on Rails and Erlang, which hosts code repositories. But it also provides developers with an amazing toolset that makes it easy to follow certain coding best practices, all the while allowing you to get your name out there and show what you are capable of doing.
In this article, I will explain why GitHub is such an important tool for today’s web developer and how you can go about using it to get your name out there and advance your career in web development.
GitHub Makes Version Control Easier
For more information on Version Control Systems and their benefits, please see this article posted on CareerFoundry’s blog.
As mentioned before, GitHub hosts Git repositories. Git is an immensely popular Version Control System, which allows developers to create a history of changes that occur over time in their code.
GitHub also adds several of its own functionalities to the ones offered by Git, such as:
- A web-based graphical interface
- A pastebin style site named Gist
- Great tools for collaborating with other developers
Git is very powerful, but it can only be used in the terminal, which can be daunting for many developers, especially new developers. Viewing logs and differentials between commits can be very difficult to do in a purely command-prompt interface.
GitHub creates an intuitive and powerful graphical interface for the Git versioning system. You can easily see your repositories and browse through its list of commits. If you want to see the changes made in one of your commits, it is as simple as clicking on the commit from the list and GitHub will present you with the differential. Much simpler than typing commands in your terminal and deciphering their results.
Above is an example from a user in GitHub.
Create a profile, upload some code and see how things are laid out, it is very user friendly and intuitive.
Pastebin applications allow users to store plain text. They are commonly used by developers to store and share small scripts and bits of codes. Gist was created by GitHub as a Pastebin-style application, but Gists also benefit from Version Control.
Each Gist is essentially a mini-project, it has its own Git repository, which allows users to store multiple bits of code and also allows them to track changes within their Gist, without needing to commit them manually.
Gist are by default public, to make it easier to share, but they can also be marked as private, allowing only you to access them.
Github also introduces many collaboration tools, some of which are listed below, which make it easier for developers to work together on a project.
- GitHub allows you to create access rights to your code which means, for example, you could designate certain users who are allowed to freely push code to your repository.
- GitHub’s Forking feature allows a user to create a copy of a repository on their computer for them to work on without affecting the main repository. They can modify the code and then request to have the code merged with the main repository using another feature called Pull Requests.
- Pull Requests are a way for you to tell other developers about the changes you wish to merge into the main repository. The repository’s authors can review your changes and engage in discussions about them. Should more changes be needed, you can simply continue to work in your fork and the additional commits will appear in the pull request. Once a Pull Request is approved, the changes can then be merged into the main repository by the project’s author.
- GitHub also has Issues for repositories. Issues are a great way to keep track of bugs in your code, but you can also use it to keep track of tasks and other enhancements you would like to implement in your code. Issues are very powerful and mastering them is a great way to keep yourself organized. For more information on Issues, please see this guide posted on GitHub’s website.
Above is a screenshot of Issues on GitHub
GitHub Is The Place To Be For Open Source
With so many great tools available to developers, GitHub has become the place to be for open source software. Some of the biggest open source projects are hosted on GitHub, such as Ruby on Rails, AngularJS, Bootstrap and many many more. There are even some big tech companies, like Microsoft, who maintain code repositories on GitHub.
The collaboration features mentioned above make it easy for any developer to get involved with their favorite open source project.
GitHub also allows you to keep an eye on your favorite developers by following them or your favorite project by “watching” it. There are many ways to be social on GitHub, so don’t hesitate to go exploring and see what is happening in the world of software development.
Using GitHub To Showcase Your Skills
As we have mentioned above, GitHub is a great tool to make Version Control easier and it’s a site that is used for some of the biggest projects out there. But perhaps it’s biggest asset is the fact that it is a great way to showcase your skills.
A GitHub profile that features real world projects and shows contributions to open source projects is a great way to display exactly what you are capable of doing to prospective employers.
Above is a fully fleshed out GitHub profile of one of the contributor’s to the Rails’ project.
When applying to developer positions, employers are looking for people who have experience programming and who program well. You can direct prospective employers to your GitHub profile, which can act as your portfolio. Employers can then:
- view your code
- see how you think
- understand how you solved particular problems
- see whether or not you would be a good fit for their organization. Your open source contributions can also show potential employers that you are versatile and can easily adapt and contribute to various projects, something that is essential when working as a web developer.
Having a fully fleshed out and varied GitHub profile is a great way to stand out as a web developer in today’s market.
GitHub has become one of the few necessary platforms to use in today’s web development world. It is a great tool that makes your life easier, has the potential to make you stand out from other web developers and hosts some of the biggest and most interesting projects out there today. So I recommend you go out and explore the various projects on GitHub and start contributing to your favorite ones.
Interested in launching a career in web development? Don’t forget to check out CareerFoundry’s Web Development Course too.