Version Control and You – Part 3

Parts One and Two are available here…

Via Jeff Atwood this morning, I found that there were others in this space… namely Ben Collins-Sussman one of the original three developers behind the concept, implementation and existance of Subversion.

Psst. This is one of those times where if you're wearing a hat, you should take it off and mutter something like "thanks…"

Ben opens the discussion with a simple point that I regularly forget:

The 20% folks are what many would call “alpha” programmers — the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with hiring. These folks were the first ones to install Linux at home in the 90’s; the people who write lisp compilers and learn Haskell on weekends “just for fun”; they actively participate in open source projects; they’re always aware of the latest, coolest new trends in programming and tools.

The 80% folks make up the bulk of the software development industry. They’re not stupid; they’re merely vocational. They went to school, learned just enough Java/C#/C++, then got a job writing internal apps for banks, governments, travel firms, law firms, etc.

[snip]

They know exactly enough to get their job done, then go home on the weekend and forget about computers.

So how is this relevant to my recent discussions on Version Control? Well, other than Ben being one of the three original creators of Subversion, the point is a bit more subtle point:

At any given time, most developers don't have a clue what is going on outside their little corner of the world… or their little corner of their little project.

When some of us face a problem in development, we've seen others solve the problem. We have some ideas on how to approach it. Even if we get creative and go in a different direction, we always have a Plan B in the back of our minds.

This extends to all areas. When we're about to start a project, we know our tools and how to use them. When we're solving that database issue, we have a checklist of areas to review first. When we have new requirements, we compare it to other similar sites, features, etc. But we have to remember that we're the exception.

If you don't use Version Control, I think your points – previously covered – range from easily addressed to ridiculous. If you don't want to use Version Control, my words here aren't going to convince you.

Odds are that you:

  • have the skills and abilities needed for your current job;
  • you don't think about your work after you close your editor;
  • you don't have your work out there for public review and flaming.
  • you don't have businesses completely dependent on your work and results.

And odds are that don't have the skills and abilities required for your next job.