Version Control in Programming

Any modernized software company utilizes some form of version control in one way or another. Some (unfortunately) stick with the old “give me a USB with your code changes on it” style of version control, while others use systems like Git, SVN, or Mercurial.

Modern systems like the aforementioned stick to what is now a fairly standardized process. When a programmer goes to work the first thing he or she does is synchronizes their computer with the version control system so that the code they’re working with is up to date. Then they make some changes and go back into the version control system to upload said changes for others to grab from the system so they too are up to date. This is all well and good, but this process could very well go a step further.

Most people by now have used Google’s suite of office applications called Docs, Sheets, and Slides. In that system, it is possible to edit a file live at the same time as multiple other people and see their changes happen live. What I’m proposing is that version control meets that live, collaborative editing environment. Something like this already exists in fact, it’s called codeanywhere. If this sort of system were implemented in more software companies rather than the currently used Git, SVN, CVS, or Mercurial then it would bring an unprecedented level of collaboration to the software industry. This would fix problems like merging two sets of massive changes to the same file into one working file, and encourage more communication between developers.

-Jeremy Quinn