What Do Developers Use GitHub for? Here’s Why It’s Vital

Alexandre Ouellette, contributor to the CareerFoundry blog

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. Learning how to use it is a key tip when you’re becoming a web developer.

GitHub was launched in April 2008 by Tom Preston-Werner, Chris Wanstrath, and PJ Hyett. We’ve explained elsewhere what GitHub actually is and how to use it, but at its base, it’s 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 coders, and how you can go about using it to get your name out there and using it is a simple tip to becoming a successful web developer. If you what to skip ahead to one of the sections, simply use the clickable menu:

  1. GitHub makes version control easier
  2. Graphical interface
  3. Gist
  4. Collaboration tools
  5. GitHub is the place to be for open source
  6. Wrap-up

684github makes version control easier min x 684 352x

1. GitHub makes version control easier

Few coding best practices are as prevalent as having some sort of Version Control for your code. Whether you are developing in Ruby, JavaScript, Python or any other language, a good Version Control workflow is essential and GitHub makes implementing that workflow easier by giving developers great tools with which to work.

We’ve already explained elsewhere about the benefits of Version Control Systems in web development, and GitHub really helps out in this regard.

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. If you’re a little confused, we can explain the differences between Git and GitHub for you.

GitHub also adds several of its own functionalities to the ones offered by Git, such as:

  1. A web-based graphical interface
  2. A pastebin style site named Gist
  3. Great tools for collaborating with other developers

684graphical interface min x 684 352x

2. Graphical interface

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.

684gist min x 684 352x

3. Gist

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.

684collaboration tools min x 684 352x

4. Collaboration tools

Github also introduces many collaboration tools, some of which are listed below, which make it easier for developers to work together on a project.

  1. 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.
  2. 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.
  3. 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.
  4. 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

684github is the place to be for open source min x 684 352x

5. 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.

684using github to showcase your skills min x 684 352x

6. 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 website. 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.

7. Wrap-up

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.

If you’re interested in launching a programming career, don’t forget to check out CareerFoundry’s Web Development Program too. For those interested in reading more about the area, here are some articles that are useful:

What is CareerFoundry?

CareerFoundry is an online school for people looking to switch to a rewarding career in tech. Select a program, get paired with an expert mentor and tutor, and become a job-ready designer, developer, or analyst from scratch, or your money back.

Learn more about our programs
blog-footer-image