- Published on
Why Students Should Use Github
- Authors
- Name
- Linell Bonnette
This year, my local ACM chapter is aiming to present a series of talks and lectures that are practical in everyday use as a developer. The first talkâs subject was the use of git and GitHub, and was presented by yours truly, with the idea being that presenting this first would allow all of our future presentations to have the code stored on GitHub for everyone to access. Now, I am far from an expert at working with git. Iâve never been a part of a huge and active repo, and Iâve never used it in a truly corporate environment. However, I have been annoyed enough at it to learn to use it in a practical manner. I prepared a small set of slides, although looking back at them theyâre woefully incomplete. The actual presentation wasâŚnot the best. It is hard to present something to your peers. Despite the presentation being a bit lacking, I thought it would be a good idea to let fellow students know why they should use git and GitHub.
Most students donât need git. At least at my university, we tend to focus mainly on small projects that are designed solely to teach us a single concept. Of course, most of us realize that this isnât how real development worksâand those who donât are in for a shock. But still, most students donât truly need their work to be in version control. So why use it?
Good Habits.
One day, youâll be forced to use version control by your employer. Even if they donât use git, theyâll have something put in place that youâll have to learn. Getting used to committing your code, backing it up on a remote server, and possibly receiving critique of your code is a good idea because itâll save you a headache in the future.
Employability
Students go to school to get a job. Employers want employees who donât suck. If youâre reading this, youâre probably trying to get a job that involves some sort of programming. It stands to reason that potential employers want you to not suck at programming, which is why youâll often have to do a technical portion of your interview. Wouldnât it be great if employers could just look at your resume and know that youâre a decent programmer?
Thatâs part of what GitHub does. Put a link to your profile on your resume and BOOM potential employers can go look at your code. Of course, they likely wonât base their decision solely on your GitHub repositories, but them seeing the repos could be the difference in even getting the initial interview.
Something else to keep in mind is that having code on GitHub shows that youâre competent enough with a big and current technology, that you have a self-starting attitude to have put it there in the first place, and that youâre actually taking the time to do something outside of classes. It shows that you care about what youâre doing, which is important to people looking to hire a developer.
Collaboration
Letâs face it, working in groups can suck. Often, you get people who donât show up to meetings, fail to contribute anything useful, or are just plain obnoxious. We all know those people and have been in a group with them. Adding in the complexity of managing a potentially large codebase makes it even worse.
There are a few solutions to group coding, but most of them arenât good solutions. Git was literally designed for a group to manage code together. You have the ability to keep everyone on the same page, which is invaluable. You have records of exactly who did what. You have a record of every single line of code, just in case something breaks or you need to remember something. Heck, youâve even got the ability to keep track of bugs and other miscellaneous information that youâd normally just ignore.
Saves Your Neck
Itâs the due date of a month long project. Youâve pounded out more lines of code than you care to even think about. Last night you tested it and it worked perfectly. This morning you woke up and, just to get that wonderful feeling of having conquered a problem, run the project again. Suddenly, and for no good reason, it doesnât work. You can remember making a few small changes after it workedâŚbut nothing that should break it. Okay, maybe that example is a little contrived, but just a little. Everyone has experienced that sinking feeling of code miraculously breaking. Git can, usually, save you from that. If you were keeping your code in git and committing only at goals, such as completing the project and having a running product, you could just roll back to the last working commit. Done. Now that doesnât always fix it, but it is way better than just poking around trying to figure out what the heck happened to your code.
Also good to note is that your computer can suddenly explode all over the place, and your code is gone. That can be solved with Dropbox, sure, but itâs just as quick and easy to push it to GitHub and you get all of the benefits of source control.
So letâs tally that up. It makes your future job a little easier, it makes actually getting a job easier, it makes working in groups easier, and it has the ability to save you from potential disaster. That sounds good to me.
Now, these obviously arenât all of the benefits of using git and GitHub. As a student though, these are the big ones that Iâve found useful to me, discussed in a manner that makes sense to me. If you still donât think youâd find git useful, use it for a few of your next projects. The bigger the project the better. Youâll thank me later.