Is pairing efficient when the two developers use different editors (or even different keybindings)?
I feel my IQ drop by 30 points when I can't use my customized Emacs and I dont know if the benefits of pairing are enough to counter this.
Given a sufficiently large monitor, it's fine. I (Emacs user) routinely pair with a Vim-using coworker; we just put Emacs on one half of the screen and Vim on the other.
The only thing you need after that is for both editors to automatically refresh when a file changes on disk. With Emacs, you can get that with "(global-auto-revert-mode 1)" in your init.el. You can make Vim auto-refresh too, though I'm not sure how.
(This is not editor related but in a similar vein...)
At my previous job we had to get a QIDO[1] since I type Dvorak and switching layouts with Cmd-Space was driving us both insane. We would invariably forget to switch and either write gibberish into the file or, worse, hit some unintended keyboard shortcuts. After getting a QIDO it was fine though.
On an unrelated note, if you're samsonjs on github thanks for having your dot config files commented and in a nice format for me to get a simple zsh setup.
How many startups here use pairing? Anecdotal evidence tells me its mostly used by consultancies (Pivotal Labs and Hashrocket are others that come to mind).
We pair a fair bit at Square. We require that all code either be paired on or go through code review, but let each team decide their own process. Some of the teams pair 90+% of the time, and some pair only infrequently.
We (a consultancy) seem to only use it when someone has some design/implementation questions and/or concerns. For example, I don't need someone watching me write code I'm comfortable writing... they should be busy producing as well. However, if I'm unsure about something, having someone look over my code and/or help code, is extremely useful. Code reviews is a different subject completely, and is "definitely" a great learning experience for everyone involved.
That is because pairing helps mitigate risks (human error), when you're being paid to build software no client like to pay for bug fixing, they would rather pay a bit more to make sure there are less errors (or at least appear more bug free).
If you're a bootstrapped start-up, it is not an efficient use of time to be pairing 100% of the time. We tend to only pair on 'core' parts of apps or 'hard' problems, or when someone needs another pair of eyes on something (two heads etc), otherwise clients budgets are quickly exhausted on pairing for pairing's sake.
The key bit of information that was missed from the piece is that, I'm guessing, the iMac is linked up in mirror mode to the Thunderbolt display on the other person's desk... so they are each seeing the same thing on their own computer.
From the photo it wasn't clear if one person had the iMac and the other had a MacBook plugged into the Thunderbolt display -- which left me wondering how they were actually pair-programming.
At the risk of adding very little, I'll say that I just got that same 3.4GHz iMac at work (with just the SSD) and it has RUINED me on everything else. It's the best computer I've ever used, including and since my Commodore 64.
17 comments
[ 2.8 ms ] story [ 65.2 ms ] threadThe only thing you need after that is for both editors to automatically refresh when a file changes on disk. With Emacs, you can get that with "(global-auto-revert-mode 1)" in your init.el. You can make Vim auto-refresh too, though I'm not sure how.
At my previous job we had to get a QIDO[1] since I type Dvorak and switching layouts with Cmd-Space was driving us both insane. We would invariably forget to switch and either write gibberish into the file or, worse, hit some unintended keyboard shortcuts. After getting a QIDO it was fine though.
[1] http://www.keyghost.com/qido/
If you're a bootstrapped start-up, it is not an efficient use of time to be pairing 100% of the time. We tend to only pair on 'core' parts of apps or 'hard' problems, or when someone needs another pair of eyes on something (two heads etc), otherwise clients budgets are quickly exhausted on pairing for pairing's sake.
From the photo it wasn't clear if one person had the iMac and the other had a MacBook plugged into the Thunderbolt display -- which left me wondering how they were actually pair-programming.
Btw, I love that slight Statler/Waldorf-vibe in your story, i.e. running vim with two file-browsers because you can't agree on one. ;-)