small medium large xlarge

Remote Pairing: Collaborative Tools for Distributed Development


Cover image for Remote Pairing

Remote Pairing

Collaborative Tools for Distributed Development


You’ve heard about pair programming’s benefits: fewer bugs, improved skills, and faster delivery. But what happens when you want to pair with someone in another city, country, or even hemisphere? With the right tools, you won’t have to relocate to refactor. In this book, you’ll learn techniques used by the most productive remote programmers in the industry to pair with anyone on the globe on any kind of project. You’ll use collaborative editors, screen sharing, secure networking, and virtualization to create a remote pairing environment that feels as if your partner is sitting right next to you.

Customer Reviews

I’m convinced that remote pair programming is a big part of the future of software
development. People are constantly asking me, “How do I get started with remote
pairing?” This book is the answer to that question. It’s short, sweet, and hits on
the important tools and techniques without any extraneous fluff. I particularly
like that Joe digs into some less common tech, like the Eclipse plug-in and NX.

- Avdi Grimm

Head Chef,

This book is important. As more and more developers discover the benefits of
working remotely, developers and employers alike must be prepared with tools
and processes to allow collaboration regardless of physical distance. This short
book, more effectively than anything I’ve seen thus far, dispels the myth that pair
programming can’t work for distributed teams. It provides a blueprint to doing
remote pairing right.

- Ernie Miller

Senior Rubyist, Appriss

All distributed teams can benefit from this book. Not only is it an extremely useful
guide to the nuts and bolts of remote pair programming, but it also explains why
remote pairing, and pair programming in general, is so beneficial.

- Joe Moore

Principal Developer, Pivotal Labs

Remote Pairing does a great job of introducing new technologies, but I found Joe’s
examination of real-world pairing to be particularly valuable. The insight in this
book helped me identify why some sessions fail or become frustrating, and it
provided me with great advice on making future sessions successful and enjoyable.

- Chad Taylor

Developer, deciBel Research, Inc.

As a developer who pairs remotely every day, I know of no other source that
provides such a variety of information to help developers pair remotely. Even with
all of my remote-pairing experience I found some new tools and techniques in
Remote Pairing.

- Chris Johnson

Software Engineer, Getty Images

This book is a well-organized and easy-to-read guide for programmers of all kinds.
Joe provides excellent instructions for overcoming common problems associated
with working remotely. From screen sharing to IDEs, Joe covers all the tools that
made it possible for him and me to work together despite living on opposite sides
of the world.

- Vamsi Krishna Jandhyala

Java Developer, Pune, India

See All Reviews

Choose Your Format(s)

  • $11.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

Many of the examples in this book require an internet connection. You’ll only need one computer for most of the exercises, and you can run them by yourself. But having
a second computer and even a second person may improve the experience.

Contents & Extracts

  • Acknowledgments
  • Preface
    • Who Should Read This Book?
    • Why Should You Read This Book?
    • What’s in This Book?
    • What Do You Need to Use This Book?
    • Having a Partner Is Optional
  • Introduction to Pair Programming excerpt
    • Laying the Ground Rules
    • Examining the Evidence
    • Pairing Up
    • Getting Started with Some Basic Tools
    • What’s Next?
  • Collaborating with Text Only
    • Installing tmux
    • Using tmux as a Solo Programmer
    • Sharing a tmux Session excerpt
    • Using tmux for Pairing
    • What’s Next?
  • Using the Cloud to Connect
    • Creating a Reverse Proxy Server
    • Creating the Secure Tunnel
    • What’s Next?
  • Collaborating with Shared Screens
    • Choosing a Screen-Sharing Tool
    • Using VNC for Complete Screen Sharing
    • Using NX for Partial Screen Sharing
    • What’s Next?
  • Building a Pairing Server
    • Initializing the Pairing Server with Vagrant
    • Provisioning with Puppet
    • Using the Server
    • Running the Server in the Cloud
    • What’s Next?
  • Collaborating with an IDE
    • Installing Saros and Eclipse
    • Sharing an Eclipse Project with Saros
    • Whiteboarding with Saros
    • What’s Next?
  • Remote Pairing in the Wild
    • Pairing at Test Double
    • Pairing at Pivotal Labs excerpt
    • Pairing at Big Nerd Ranch
    • Patterns of Pairing
    • Wrapping Up


Joe Kutner works exclusively from remote locations as a freelance programmer and consultant. He’s paired remotely on everything from web applications to mobile applications with clients from Indiana to India.