Version Control Skills are the Knife Work of Development

Being a Big Swinging Developer is kind of like being a chef in a professional kitchen.  There’s a lot of pressure, a lot of money on the line, and a lot of cursing.  One of my favorite analogies from the cooking world is knife work and the difference between professionals and home cooks. 

The key to not cutting yourself in the kitchen is to keep the knife from making unwanted contact with your body. 

The home cook approaches this problem by eliminating the "contact" portion of the equation.  They’ll cut slowly and deliberately in order to keep the knife away from their fingers.  If you’ve ever watched a professional, however, you’ll notice that they put the blade against their knuckles and can cut very, very quickly while keeping all of their digits.  Professionals remove the "unwanted" portion of the equation.  Why does this matter?  Because professionals cut all day long and the better their knife work is, the more they can accomplish.

A defect is incorrect code that gets released into the wild. 

There are two parts to this equation as well: Don’t write incorrect code, or don’t release it into the wild.  The beginning developer will take the first approach with the thought that writing great code is what it’s all about.  The seasoned developer knows that releasing great code is what it’s all about and that mistakes happen.  This is why unit tests, continuous integration, one step builds, etc. are so important: the more test shots you get, the more defects you’ll catch, and the better your released code will be.  These tests and builds need to happen in isolation –on private branches, for example– rather than occurring in the wild.  The ability to use your version control system well is like being a chef with strong knife skills: you’ll be able to experiment more, build more, test more, and simply do more than the developers who are too afraid of cutting themselves.

So learn your tools and use them with confidence.  Move faster (and more safely) than everyone else and you’ll be a Big Swinging Developer in no time. 

Comments are closed here.