Mark and I paired on the internal projects today. We made some progress however it was slow going. Part of that was that we used Mark’s laptop and he is currently using emacs. The problem is I’m not very familiar with emacs and he is just started a couple weeks ago so the answers to questions like “how do you delete the whole line” or how to quickly navigate the filesystem as with NerdTree in vim are not at hand right away. The most common editor at 8th Light from an apprentice perspective is vim with NerdTree and line numbering enabled. This is a good basic starting step that most seem to be familiar with. Some craftsmen are using GUI editors over vim as an overall preference and some use GUI editors when appropriate (working on Android, .NET, Java, etc) and otherwise use vim.
Of course it is good to get familiar with new tools however it can be frustrating when that is not what one is attempting to focus on. But we kept going forward. At one point, we almost switched to vim but in the end it turned out to not be necessary.
What I realized at the end of the day is that the added “grit” of an unfamiliar editor is a burden. Pairing is draining. There are two minds at the keyboard focused on the task and both do not always want to go the same way. This is not some way of saying that working with Mark was hard – it was not at all! It was a pleasure to do so. However working with another person is harder than working by ones self. Micah mentioned at one of the iteration project meetings for the internal projects that pairing ultimately produces better code. I certainly think that is the case however it definitely takes some time to get used to pairing (and to be figure out the patterns of being a good pair).