David Uli

David Uli

Software Developer



Phase 0 - Week 1 Version Control ... How and Why?

Friday, May 1, 2015

As I approach the end of the first week on my journey at Dev Bootcamp I stop to think about the things that I have learned and and the many things that are still to come. Week one was filled with information that is starting to lay the foundation for the many beautiful things that we will build along this journey. In construction, you always start with a solid foundation before you start building walls. This week we started working on our foundation by learning about the command line as well as git and GitHub. While it is evident that understanding both will be critical to my success as a developer, I will focus on the benefits of version control and explain how git and GitHub help developers manage it.

Version Control -- Why is it important?

Going through and reading all of the information about version control and why it is important, it is pretty easy to understand the concept and say "sure I get it." But for me I get a little more passionate about it when I think about it in relation to my past experiences. In my previous job I developed a large database to support all of the operational functions for my team, over time I layered in a graphical interface and a robust front end that automated many of the manual tasks my team performed. As my primary role was not a developer, I was forced to work on this project only when bandwidth permitted. I can't tell you how many time I sat at my desk looking at something I wrote several months ago asking "What the heck was I doing here???" or I spent twenty minutes trying to figure out which was the latest version. Just considering these two scenarios alone, I could have saved an enormous amount of time and frustration. Now if you add in the debugging time I would have saved by being able to quickly identify differences between versions and pinpoint the spot where errors were introduced, then maybe I could have actually had a life outside of work.

In the article Why Version Control Is Critical To Your Success by Ilya Olevsky, Ilya talks about the history of version control systems, dating back to the first generation in 1972. She explains that over the last forty years, there have been many different systems and even more functional improvements along the way. One of the most popular version control systems and the system that we will be using at Dev Bootcamp is git and GitHub. git is the primary version control system that lives and operates with files locally on your computer. GitHub is an online repository supporting git that allows multiple developers to seamlessly work together on projects by allowing them to independently work on their portion and later bring everything back together all while maintaining a detailed record of the changes.

git and GitHub -- How can they help me?

As a version control system, git gives you the ability to maintain detailed code modification history and allows for collaborative code modification through branching and merging. In git, a branch is a separate work stream where you can make changes that are independent to the main file or master branch, giving you the ability to merge all or portions of the changes back together at a later time. When coupled with GitHub as an online repository, you now have the ability to efficiently work with multiple developers independently and collaboratively as well as open up social aspects like code sharing and issue tracking. With all of these features combined together, git and GitHub will definitely be a big part of the foundation that we continue to build on throughout our journey at Dev Bootcamp.

David Uli

Email : mail@daviduli.com

Website : http://norcaldavid.github.io

Phone : (504) 201-4466