Tip #2 for Young Programmers: Learn Revision Control

A surprising amount of people in our profession are not familiar with revision control software.

In the world of computer software engineering, revision control is any kind of practice that tracks and provides control over changes to source code. Software developers sometimes use revision control software to maintain documentation and configuration files as well as source code. — Wikipedia

Over the past ten years, the growing prominence of open source software has helped to make several best practices far more established, but it’s still all too common to encounter developers who are not familiar with revision/version control software such as Git, Mercurial, or Apache Subversion (SVN).

Understandably, this lack of knowledge is much more noticeable among young developers and students.

Let me be absolutely clear about this: there is no software development today without revision control. Anything non-trivial will require that you use revision control, whether developing in a large team, a startup, or even on your own.

Git logoIf you’re an aspiring developer, your career in our field will be enhanced by studying Git. Why Git specifically? It provides several advantages over SVN (mostly due to its distributed nature), and it’s more popular than the also excellent Mercurial.

It’s worth noting that twelve years ago I would have recommended that you learn SVN. Things change, and it’s possible that in another ten or fifteen years, Git will no longer be the reigning king in this arena.

I’m operating, however, under the fair assumption that you want to work today or in the near future. If so, learn Git. [1]

Bear in mind that you don’t need to become an expert in what is a fairly complex system. Just master the basics, so that you’re competent enough to resolve most common situations and collaborate with fellow developers in your team.

Learn how to create a repository, clone it, pull, add, delete, commit, push, create and merge branches, diff files, revert changes, and so on. Basic stuff you’ll do day in and day out when changing code.

It won’t take you more than a couple of weeks of practice to really nail the fundamentals.

Another couple of related suggestions:

  1. Add Git to your resume. [2]
  2. You’ll need a place to host your Git repositories. Sign up with Github [3] (and if you want a private repository for free,BitBucket). Even if you’re not at a point where you can commit code to your repository, you can still practice Git by changing and pushing text files to it.

To learn the basics of Git I recommend that you use these two resources:

  1. Try Git.
  2. https://www.learnenough.com/git-tutorial by Michael Hartl

They should get you well on your way to Git productivity.

  1. The principles of how revision control software works remain the same, even if a different solution were to show up on the market at a later date.  ^
  2. While interviewers will just assume that you know Git, placing this skill on your resume, especially if you’re a student or inexperienced developer, will clear up any doubts they may have.  ^
  3. If you have a Github profile that you use to contribute to open source, make sure that it is listed on your resume, too. Watch for more on this specific point in a future post.  ^

Get more stuff like this

Subscribe to my mailing list to receive similar updates about programming.

Thank you for subscribing. Please check your email to confirm your subscription.

Something went wrong.


  1. Jon Forrest May 3, 2016
    • Antonio Cangiano May 3, 2016
  2. Jon Forrest May 3, 2016
  3. Ivan Savelyev May 8, 2016

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.