---
title: "What Is Github and Why Every Developer Needs It"
permalink: "/git-and-github"
description: "I strongly believe that every developer should know Git and Github. Here's why."
keywords: ""
image: "git-github"
image-attrib: "Photo stock by Tim Gouw from Pexel."
---

If you ask me for something that would greatly jumpstart your growth as a developer, I would place my bet on learning Git and exploring projects on [Github](https://github.com/explore).

I say this because to be better in writing code, you must first read and use lots and lots of code by more experienced developers... and a good place to start with this is Github.
<!--more-->

## Now, what exactly is Github?

{% include image.html url="assets/images/screenshots/github/Home.png" description="Github is built for developers. It's the world's leading software development platform." %}

Github is basically a website for communities of developers working on projects. It is sort of a place on the Web where developers get together to collaborate.

Github hosts [all sorts of projects](https://github.com/explore) from Desktop apps to Web apps, and would most likely have examples for any technology you want to learn.

There are other websites that serve this same purpose (like [Bitbucket](https://bitbucket.org) and [Gitlab](https://gitlab.com)) but Github is now the preferred home for most Open Source projects due to it being the oldest and its culture of openness.


## Learn How Others Do It

Because of this "openness", Github is not just the best place to start or contribute to an existing project. It is also a good place to see and learn how other developers write their code. You can even observe how collaborators communicate with each other to resolve their issues.

This way, the things you learn from your observations can be used not just in the way you code but also in the way you communicate with your own colleagues.

Just beware: you have to know which projects are good for your level of experience because some of them requires more advanced skills before you can contribute or even just understand what is going on.

## What if You Don't want to Join Other People's Projects?

In case you don't feel like joining others, you can always use Github to host your projects. Then, you can code at your own pace using your own style and preferred technologies.

You might even find that it's always a good practice to have a copy of all your code backed up in a Github repository for safekeeping.

If you don't want to start from scratch, you can just "fork" any interesting project to get a copy in your own account... then you can practically do *anything* you want with it!

## Track Your Developer Journey

When you make it a habit to always push your code changes --whether its for a mini-exercise you did as you follow a tutorial or a huge project for a client-- you will find that your Github profile is growing as well.

{% include image.html url="assets/images/screenshots/github/Profile.png" description="It adds motivation for me when I find that my Github profile is growing." %}

Also, I find it very inspiring, that I can just start using other people's code and hack it up the way I want it. Try searching for one of your favorite apps over at Github, and you just might be surprised that it's open-sourced.

If it is open-sourced, then you can play with the code yourself... or submit an issue anytime you find a bug or think of a missing feature you want to be added. Submitting issues is the easiest way to contribute to a project even without writing a single line of code.

{% include image.html url="assets/images/screenshots/github/Explore.png" description="You can find a collection of Github projects for almost anything." %}

Isn't that great? I hope, by now, you see how Github can greatly add to your developer skills.

To cut the long story short, Github is a good place to start learning how to be a developer, and check out the technologies you will use along the way...

But before you hurry and join Github, there's another thing we need to talk about. You won't be able to get the most out of it without this... You actually need to learn how to use Git.

But that's for another weekend.

<!--a class="button up-next" href="#git-how-to">Up Next: Read How To Use Git</a-->
