It is very easy to settle into a set of development tools and routines and get so comfortable in them that one is loathe to try out something new. One proceeds to justify this behavior (to oneself and others) by saying things like “if it ain’t broke don’t fix it” or “I want to spend my time on implementing features not learning new tools” - and there is definitely some truth to these arguments, but then again if taken to the extreme we would not have such things as power drills and nail guns (oh that’s for construction, but you get the idea). In other words, there is a thin line between being pragmatic and being in a rut.
For these reasons it took me a long time to try out Git. I had grown very comfortable using SVN, the DailyLit repo is in it and I have scripts for deploying from SVN. But then when I decided to do Preditter, I thought it would be a great opportunity to finally try out Git. I had heard a lot of developers whom I respect talk about how they had switched to Git and loved it. It takes a bit of time to wrap your head around the distributed version control model (e.g. what does it mean to commit something to your copy?). But once you have, it opens up a whole new set of ways to use version control.
This post is not really about the benefits of Git (you can find plenty of those around), but rather about the benefits of getting off one’s butt and learning something new in an area that one feels comfortable in. It is pushing oneself outside the comfort zone. I try to do this in all areas of life with varying degrees of success. For instance, for years my tennis game was stagnant at a pretty mediocre level. Until I finally decided that it wasn’t a question of getting older but rather I was in a tennis rut. I decided to try a much more aggressive grip on my forehand and my backhand. I wound up sucking for a while until I got the hang of it. Now I play better than in my twenties.
Even if you decide after trying something that the new thing is not for you, you are likely to return to what you were doing with a new perspective and renewed energy. So find the area that you are most comfortable in and push yourself to learn something new! Up next for me: Scala.