Tools for Remote Pair Programming

dev productivity remote-work

The world just went remote. For many of us, indefinitely. Pair programming—already valuable—now requires new tools.

Why Remote Pairing is Different

In-person pairing is natural:

Remote pairing needs tooling to recreate these.

VS Code Live Share

Microsoft’s solution is the gold standard for VS Code users.

Setup

# Install extension
code --install-extension ms-vsliveshare.vsliveshare

Features

Real-time collaboration:

Shared resources:

Starting a Session

  1. Click “Live Share” in status bar
  2. Copy invitation link
  3. Share with partner

Best Practices

# Use cursor highlighting to show what you're discussing
# Cursor colors distinguish participants

JetBrains Code With Me

For IntelliJ, PyCharm, WebStorm users.

Features

Setup

Help → Register Code With Me → Start Session

Pros/Cons

Pros:

Cons:

Tuple

Purpose-built for pair programming on macOS.

Features

Why It’s Different

Tuple focuses on pairing, not general screen sharing:

Limitations

PopOS + Builtin Tools

For Linux users:

GNOME Screen Sharing

# Enable in Settings → Sharing → Screen Sharing

tmux + SSH

The classics work:

# Host
tmux new-session -s pair

# Guest
ssh user@host
tmux attach -t pair

Combine with Neovim for the terminal-native experience.

Screen Sharing Alternatives

When specialized tools aren’t available:

Discord / Slack Screen Share

Zoom Screen Share

Terminal-Based Pairing

tmux + ssh

# Create shared session
tmux new-session -s pairing

# Partner connects
ssh user@host -t tmux attach -t pairing

tmate

Like tmux but easier sharing:

brew install tmate
tmate

# Shows connection command for partner
ssh abc123@lon1.tmate.io

Best Practices

Audio is Essential

Pairing without voice is painful. Use:

Agree on Conventions

Screen Setup

┌─────────────────────────────────────┐
│ Shared Editor                        │
│                                      │
├─────────────────────────────────────┤
│ Terminal (also shared)              │
└─────────────────────────────────────┘

Voice call in separate window/device

Internet Matters

Tool Selection Guide

SituationTool
VS Code usersLive Share
JetBrains usersCode With Me
macOS, willing to payTuple
Terminal-centrictmate/tmux
Quick ad-hocDiscord/Zoom screen share

Remote Pairing Etiquette

  1. Be on time: Async is hard if sessions start late
  2. Camera on (optional): Helps with presence
  3. Mute when not talking: Background noise kills focus
  4. Explicit handoffs: “I’m taking the keyboard now”
  5. Regular breaks: Screen fatigue is real

Final Thoughts

Remote pairing is different but not worse. The right tools make it feel natural.

Start with VS Code Live Share—it’s free and excellent. Explore others as your team’s needs evolve.


Distance doesn’t prevent collaboration. Bad tools do.

All posts