Pairing at Big Nerd Ranch

Big Nerd Ranch, an industry leader in iOS development and training,[95] doesn’t have a strict policy of pairing like Pivotal Labs. Instead, developers decide on their own when pairing is appropriate. Jay Hayes, a programmer at Big Nerd Ranch, says this leads to an informal remote-pairing environment. Jay lives in Alabama, 200 miles away from the company headquarters in Atlanta. Most of his team members are based in Atlanta, but none of them are required to make regular trips to the office. Despite the distance, they still manage to pair up on tough problems.

“It doesn’t usually start with ‘Hey, why don’t we pair a bit when you have some downtime,’” says Jay. “It’s more like ‘I’ve been banging my head against the desk, and can anyone help me crush this bug?’” Jay believes this ad hoc approach helps his team function more like a colocated one. “Our pairing ends up being just like if you were in the office and needed help. Someone might come over and sit with you for a bit—it’s a remote version of that,” he feels. Despite using an “as needed” approach to pairing, Jay does it about once a day—but the sessions don’t often last long: “Maybe thirty minutes on average…and we don’t use any formal methods.”

Jay’s preferred tech stack is tmux and Vim, which he uses for both pairing and working solo. The team uses Google Hangouts to share screens, but they occasionally resort to using Screenhero when they need two-way control, a browser, or an integrated development environment.

Jay is pretty handy with Vim, but that wasn’t always the case. Upon joining Big Nerd Ranch, he knew how to open Vim, exit Vim, move up and down, and nothing else. “[Learning Vim] was top priority on my list,” Jay reveals. “It was amazing.… I paired with people, and within two days I was exclusively in Vim.” He attributes his dramatic conversion to simple observation. “I could quickly absorb the little tips and tricks just by watching. Anytime I was pairing with someone using Vim I’d ask, ‘Hey, how did you do that?’” After a while, Jay found that he was teaching other programmers some of his own tricks. He proclaims, “The best way to learn stuff is to do it with other people.”

Jay’s giant steps toward mastering Vim are a great example of why it’s important to check your ego at the door and never be afraid to ask questions when pairing. “I went in with a very practical understanding of my ability,” he says. “I expected to be overwhelmed…but I was very surprised at how much I already knew.”

Ad hoc pairing is working for Jay’s team, but he still tries to introduce more structure when he can. “I like the idea of officially establishing the driver and navigator in each session,” he explains, “but we don’t usually do that.” The idea of having specific roles originated with colocated pair programming, and corresponds to various patterns often used to delegate responsibilities and keep a session’s momentum going. Although some of these are popular, they are equally despised by some teams.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.152.139