Managing My Configuration to Manage My Life

15 Sep 2016

Over the course of my career as an ICS student, I have had to do several group projects with other students and I absolutely hated it. Even in projects where everyone only had to code their part and send it in, there would still be that one or two people who dabbled in everyone else’s section in order to make theirs work. This sounds fine but in more cases than not, that dabbling wound up breaking other parts of the program or costing points because it did not follow the instructions. In summary, I just hated working on projects.

That is, until I learned about how much easier it was to undo things in GitHub and how proper configuration management can save an entire project from being scrapped. Configuration management is important because it allows multiple developers to work on a project at the same time while keeping track of what changes each developer made, making it easy to undo any program-breaking updates. One semester, I had a group project with another student where we had to build a website that utilized a database. Halfway through, my partner got very frustrated and decided to scrap everything and start over by using one of the homeworks as a template (which I think would have been plagiarizing). He wanted to turn it in as part of the weekly check-up, but luckily, by using GitHub in particular, I was able to ninja-edit our original project back in. I managed to convince him to continue with what we started with and we ended up finishing safely.

I think that GitHub became popular because of git, but people only learned about git after learning about GitHub. It feels like a chicken or the egg scenario to me, but I am going to settle with GitHub becoming popular because of git.