August 29, 2012
Lessons in sharing are typically playground politics, honed at a very young age. For programmers at some of the top tech companies in the country, however, those lessons extend well into their professional life as employers' ask them to share cubicles, desks and even computers.
The Wall Street Journal reports that a number of tech companies, such as Facebook and Square, have adopted a practice called "pair programming" in which two people write their code together using one computer. According to WSJ, the "driver" controls the keyboard and typing while the "navigator" monitors design and scans for bugs. Many in the field contend that this set-up limits errors while boosting productivity overall.
"The idea (to oversimplify a bit) is that a second mind will sanity-check every bad idea and support every good one, so you -- counterintuitively -- wind up with higher per-programmer productivity," wrote Tech Crunch's Jon Evans in an article published in March. "Legendary development shops like San Francisco's Pivotal Labs and Toronto's Xtreme Labs have adopted a 100 percent pair programming mindset, with considerable success."
The Wall Street Journal notes that when a pair is a good match, they almost work as a single entity.
"The communication becomes so deep that you don't even use words anymore," Facebook programmer and pairing advocate Kent Beck told WSJ. "You just grunt and point."
When a pairing is not a good one, however, it can sour quickly. Annoyances like a partner's poor hygiene, loud chewing or feet on a shared desk can crop up and take over.
"There's a joke that pairs, like fish and house guests, go rotten after three days," Zach Brock, an engineering manager at Square and a former Pivotal employee, told WSJ.
Drive Current software developer Jon St. John added that a mismatch in skills is also an issue, citing his experience of being matched with a much more skilled developer. St. John notes that it can feel like senior programmers are pushy and do not give their junior colleagues an opportunity to finish their thoughts or develop their own ideas.
"People who have been pairing a while, they'll start acting like old married couples," said Marc Phillips of the software consultant group Relevance, as reported by PayScale.
Still, for better or worse, the WSJ reported that pair programming is surging rather than waning: Pivotal Labs has its 175 engineers paired all day, every day. Some engineers try to limit the potential for annoyance by changing partners daily, a practice called "promiscuous pairing."
Compiled by Aimee Hosler
"Computer Programmers Learn Through Lesson in Sharing," online.wsj.com, August 26, 2012, Joseph Walker
"Pair Programming Considered Harmful?" techcrunch.com, March 3, 2012, Jon Evans
"Pair Programming Cranks Up Computer Programmers' Productivity," payscale.com, August 27, 2012, Marissa Brassfield