The name

What’s a gitgat?

gitgat /ˈɡɪt.ɡat/ noun
1. A thing you understand and cannot name, because you learned it by taking it apart instead of being taught it.
2. A problem, an interface, a mechanical coupling, or any interaction with enough moving parts that describing it in full costs more than pointing at it does.
3. That specific thing, when both people already know which thing. Hand me that gitgat.

The first sense is the one I started with. Everything I know how to do, I learned by opening it up, and that route hands you the mechanism years before it hands you the vocabulary, if it ever does. You can trace how a thing works, predict what it does under load, and still have no idea what anyone else calls it. A gitgat is the gap between those two.

Say you are under the hood of a car. “Hand me that gitgat,” with a nod toward the alternator, moves exactly as much information as saying alternator does, because to most people alternator is already a noise with a shape. Naming a thing and understanding it are different skills. Only one of them fixes the car.

Twenty-five years of one word

It was one of my first words. I was a baby pointing at something I could not name, which turns out to be the whole definition, and it stuck as the household word for anything in that category.

Sometime before 2000 I typed it into an AOL sign-up screen over a dial tone and I have not needed another handle since. It came through AIM, through forums, through every game that asked for a tag, through every service that has asked me to pick a name in the twenty-five years after. It is my GitHub. It is the front of my email address. A few years ago the domain came free and now it is the site you are reading.

Git the software shipped in 2005. I am not suggesting anyone took anything from a kid on dialup. I am noting the order of events.

Then it stopped being a joke

The whole job turned out to be gitgats. A queue that forms before the door opens is a gitgat. So is the eligibility rule underneath it, and the message system that tells a million people their appointment is ready, and the reason a schema that fits one state fights you in the next one. Every one of them is obvious to whoever is standing in it and unspeakable to everyone else.

Product work is mostly the act of taking one of those apart until it can be said out loud. You cannot ship what you cannot describe, and you cannot describe what you have not watched run. So I sit with the thing until the gitgat has a name, a diagram, and a boundary, and then it is not a gitgat anymore.

I say elsewhere on this site that I am not a career software engineer. Gitgat is the older and more accurate version of that sentence. I could always see the machine. I just did not have the word for it, and words are learnable.

The gitgats, named →