Q: You released the Git distributed version control system less than ten years ago. Git caught on quickly and seems to be the dominant source code control system, or at least the one people argue about most on Reddit and Hacker News.
A: Git has taken over where Linux left off separating the geeks into know-nothings and know-it-alls. I didn’t really expect anyone to use it because it’s so hard to use, but that turns out to be its big appeal. No technology can ever be too arcane or complicated for the black t-shirt crowd.
Q: I thought Subversion was hard to understand. I haven’t wrapped my head around Git yet.
A: You’ll spend a lot of time trying to get your head around it, and being ridiculed by the experts on github and elsewhere. I’ve learned that no toolchain can be too complicated because the drive for prestige and job security is too strong.
We’ve all seen that phenomenon. On the other hand, some situations demand more complex solutions, unpleasant as that fact may seem. One cannot build a robot without a sophisticated control system. One cannot build an internet-scale social app without some sort of fault-tolerant distributed data storage infrastructure.
The trick is determining to what degree the complexity is necessary, and to what degree the complexity is self-sustaining due to the prestige and job security factors.