Some claim that sharing a desk and one computer with another programmer is the most efficient way to code.
I'm not a programmer so I cannot speak for those who code for a living, but here's a concept that could take some getting used to: pair programming. This is where two people share one desk and one computer, with one person being the "driver," controlling the keyboard and typing in code, and the other being the "navigator," monitoring design and scanning for bugs.
It all started with a book: "Extreme Programming Explained," written by Kent Beck, creator of the Extreme Programming and Test Driven Development software development methodologies. According to the book, software should be released quickly and improved along the way. This is best done more quickly, according to Beck, by double-teaming projects.
Beck practiced pair programming at a software company in the ‘80s with Ward Cunningham, the developer of the first wiki. Cunningham asked Beck to check for bugs in a software application he was working on. As time went on, the two would pair up to knock out assignments so they could move on to their own pet projects.
The practice is spreading. Pivotal Labs, a software-development shop that was bought by EMC Corp. in March, has its 175 engineers pair all day, every day. Facebook has begun using the practice, as has the San Francisco-based company Square, which says about 15 percent of its engineers pair full-time.
And there are different versions of paired partnering as well: Playing the field, or changing partners daily, is called "promiscuous pairing." Hopping back and forth between partners is called ping-pong pairing. Even those who work remotely can take part: Remote pairing lets programmers share the same screen via the Internet.
Not everyone is onboard with the concept. Australia-based software company Atlassian created a mock instructional video called "Spooning" that hilariously mocks the practice.
So what do you developers say? Is this something you would be comfortable with?