Remote pair programming is a skill that can help you be successful today and prepare you to be successful tomorrow. Remote pairing is a great way to plan, code, review, and deliver high-quality software. Like regular pair programming, remote pairing allows knowledge sharing and instant communication. It’s an important skill to master for the future of software development.
Remote pair programming is something developers have grappled with since well before the pandemic began. Fifteen years ago, most online collaboration and remote work involved email threads, Skype calls, and lots of zip files. Things have changed a lot — many for the better (Google Docs!) and some things for worse (always-on messaging). Either way, it’s fair to say that a lot of the friction has been removed from remote work.
While other tools have moved ahead, real-time code collaboration has been a point of contention and viable solutions have only recently arrived on the scene. Developers working on the world’s top code editors have put forward their solutions, and they’re pretty good.
You might work on a distributed team and need collaborative coding tools to serve you every day — a category that suddenly includes most of us, thanks to COVID-19. Or perhaps you just need something for the occasional problem-solving session with a friend. Either way, you’ll find something you can use here.
Visual Studio Live Share is Microsoft’s own real-time collaborative development solution for Visual Studio and Visual Studio Code.
Live Share allows teams to collaborate on a shared codebase, while maintaining the ability of each collaborator to navigate and work independently. While many code collaboration tools are bound to the host’s perspective, Microsoft’s entrant allows each person to navigate between files and make changes to code on their own terms.
Live Share can share your workspace, terminal, and local servers, and you can communicate over voice from within the tool. This is a polished option with other useful touches, like group debugging and a focus-and-follow feature that allows you to draw the attention of your collaborators. With a price tag of free, this choice is a no-brainer — particularly if you’re already a Visual Studio Code user.
While Live Share users can move around a project freely, Teletype is a little more host-centric. After the host opens a “portal”, their active tab becomes a shared workspace, and collaborators follow the host as they move between files. Teletype is well-suited to the pair programming use-case — with its driver and navigator model — but not as robust for all purposes as Live Share’s open-ended collaborative development environment.
3. Remote Collab for SublimeText
Remote Collab brings virtual pair programming to SublimeText. Remote Collab is a barebones plugin, but if you’re invested in SublimeText it might do the trick for you.
Each session is bound to a particular document. Once the host has begun a session, collaborators just need the host’s IP address to join, and any changes made will be reflected across machines.
Users can make a sandbox live and share the URL with collaborators. You can determine whether anyone can edit at will, or control who can edit at a given time (classroom mode). File changes, dependency changes, and selections are all kept up-to-date across sessions.
CodeSandbox has a robust free offering, and the $9/month Pro plan provides unlimited private sandboxes and support for private GitHub repos.
Codeanywhere is a browser-based development environment that aims to help you code from any device without friction — editor, terminal, revision tracking, and other features all included. Codeanywhere has a collaborative focus. For example: instead of having to zip up your project every time you want to share it (without adding someone to your private repo), you can generate a sharing link instantly.
The feature of interest here is Codeanywhere’s live pair programming. Like Live Share or Teletype, this promises a Google Docs style of document editing, with no limit on the number of collaborators. Another handy feature we know from Docs: click on your collaborator’s icon and you’ll be taken to the line they’re working on.
Codeanywhere will cost you anywhere from $2.50/month to $40/month, depending on plan tier and billing frequency.
Each user’s changes, selections, and settings changes are reflected in Collab Mode, and there’s a live chat area built-in.
The pen’s owner can decide whether to save the changes, and collaborators can fork the results off into their own pens.
While you’re probably not doing your primary development out of a CodePen, this is a great way to run through a troubleshooting session with a friend or coworker, conduct interviews, or collaborate in other ad hoc situations.
CodePen Pro costs anywhere from $8/month to $39/month, depending on plan tier and billing frequency, and places collaborator limits on each of the three tiers: 2 people, 6 people, and 10 people respectively.
CodeTogether is a new contender in the space since the first edition of this article was published, and it is purpose-built to enable remote pair programming.
Most of the tools we’ve explored are built around a single editor, which limits their practicality given that editor choices are often not standardized across a team. CodeTogether is particularly appealing because it is available for Eclipse, VS Code, and IntelliJ-based IDEs. Participants can jump into a browser-based editor regardless of their personal editor preference, so CodeTogether works for a solid cross-section of users.
As with Live Share, CodeTogether participants can move about the project freely. Users can work on their own tasks independently, search across all shared projects, or choose to follow another user’s viewpoint.
Between its editor-agnosticism and collaborative flexibility, CodeTogether now looks like the best option for many real-world teams.
Genuitec has made all CodeTogether features free during the COVID-19 pandemic. Normally, CodeTogether’s free plan permits one-on-one sessions for 45 minutes at a time, while the Premium plan costs $8 and allows up to 16 participants without session time limits. Until that pricing kicks in, there’s little risk in trying this option out.
Wrapping It Up
It’s a great time to be a remote developer — there are a lot of solid tools out there for collaborating on code. We hope this helped you find the right one for you. If you’re struggling to narrow it down, though, we’d recommend Visual Studio Live Share for those committed to Visual Studio and Visual Studio Code, CodeTogether for mixed editor teams, and CodePen for ad hoc collaboration.
Now you’ve got your toolkit sorted, make sure you’re making the most out of pair programming with our in-depth pair programming guide by M. David Green, development workflow expert and author of Scrum: Novice to Ninja.