In this article, we'll discuss five common challenges of pair programming that you may encounter.
Most programmers are aware that collaboration is necessary for the best results—and pair programming is a popular method for achieving effective collaboration, as you probably already know.
It’s not that complicated to get your employees to work together when they’re in the same office as other developers—roll up to another desk, discuss issues, and code on the same screen.
But what to do when some, or all, developers work remotely? Luckily, there are plenty of tools intended specifically for remote pair programming.
We’re exploring them in this article, so if you’re curious, keep reading!
Table of contents
Codeanywhere is a cloud-based integrated development environment (IDE) that you can use directly from your browser.
You can code in real time with an unlimited number of other developers.
While you’re all coding together, you can check who’s working on what at any time—simply click on the collaborator’s icon, and you’ll see the line they’re modifying.
Furthermore, you can track revisions and easily create and share links between collaborators.
Codeanywhere boasts a robust online code editor that supports all major programming languages and some handy features like auto-complete and an opinionated code formatter to make coding faster and simpler.
It also features containers with prebuilt development environments, which you can share with your team and host your app or website.
Codeanywhere costs $6 per user per month for the Basic plan, $15 for Standard, and $40 for Premium.
If you’re looking for a cloud-based coding tool for remote pair programming with plenty of features, Codeanywhere might be one to consider.
CodeSandbox is a tool for creating coding sandboxes, and with its Live feature, it’s turned into a helpful tool for remote pair programming.
A sandbox for writing code is a convenient and fast way to set up a coding environment.
Its main strength is its simplicity—you can use a template or start from GitHub, and a browser is all you need.
It supports collaboration in real-time or asynchronously, and every change updates live, so it’s easy to keep track of group work.
Sharing is straightforward—clicking on the Live button, you get an URL for sharing with your collaborators.
CodeSanbox Live has two modes. Open Mode allows everyone to edit, and Classroom Mode enables you to choose who can edit.
That can be very useful in pair programming, especially when you want a senior developer to have more control over the session.
This tool has a Free plan and a Team Pro plan, as pictured below.
CodeSandbox Live can be a helpful tool for your pair programming needs if you’re looking for something convenient and easy to set up.
If you want to expand your IDEs to do pair programming in them, GitLive might be just the tool for you.
You can turn your IDEs into collaborative spaces whether you write code in VS Code, Android Studio, IntelliJ Idea, GitHub, GitLab, or other environments GitLive supports.
Furthermore, your developers don’t need to use the same IDEs—GitLive supports simultaneous coding in, for example, VS Code and any of JetBrains IDEs.
Also, GitLive has handy features regarding communication—you can make voice and video calls directly from your editor.
When developers code together, conflicting code happens from time to time. In GitLab, you get a notification when that happens so you can quickly resolve any issues.
Regarding pricing, there is a free plan For Individuals available. The plan For Organizations is $12 per user per month, and For Enterprise has a custom price.
In conclusion, GitLive can be helpful if you’re looking for an upgrade that’ll provide you with pair programming features.
CodeTogether is a versatile collaborative coding tool that will likely cover most of your pair programming needs with its features.
It supports a wide variety of IDEs, including those based on Eclipse, IntelliJ and JetBrains, and VS Code.
That’s very convenient because your developers don’t need to worry about compatibility issues. Everyone can work in their preferred environment.
Developers can even join a session from a browser without any installations or downloads—they just need a link to enter.
It has a useful feature for pair programming, Teams, where you can start your team, and everyone in it can join directly, without the need to send and receive URLs for every session.
The host can then give permission to edit files to those members they want to.
CodeTogether offers Free, Pro, Teams, and On-Premises plans with prices you can see below.
This tool has plenty of helpful features for pair programming. If they fit your needs, it might be worth considering.
The creators of CodePen call it a “social development environment” because of its focus on building a community of developers.
There are also Projects which are broader and more powerful.
Pair programming features come into play if you have a PRO feature of CodePen.
With that, multiple people can edit in one Pen in real-time.
The number of users is limited, as you can see below.
The good news is that only the owner of a Pen needs to have a PRO feature.
The pricing ranges from free to Super, which is $26 per month if you pay annually.
CodePen can be suitable if you have a team of front-end developers. If that’s the case, this tool might be helpful for collaboration.
Motepair by Atom
Atom is a well-known free and open-source desktop text and code editor, so there’s a good chance that your developers are familiar with it.
It’s a free package that enables your developers to collaborate on code in the familiar Atom environment.
In essence, Motepair ties up two or more Atom editors so that every action in one editor repeats in others.
Motepair uses GitHub’s editor for remote pair programming, another collaboration tool that most developers know inside out.
It supports Windows, Mac, and Linux, so versatility in that area is a plus.
It all comes down to your team’s preference for Atom editor. If your developers like to work in it, Motepair could be the tool that fulfills their remote pair programming needs.
Teletype for Atom
Continuing in the theme of Atom packages, Teletype is another one that allows developers to collaborate on code in real-time.
Like Motepair, it’s free. However, it offers more elaborate features for pair programming.
It’s based on the concept of portals, real-time sharing workspaces. A host can open a portal that becomes their active shared workspace.
If the host switches between tasks, guests follow them automatically.
They can invite other collaborators by sending them the URL of a portal. When a collaborator joins, they can write code, edit, etc.
Teletype has no centralized server like most other tools. Developers who collaborate share code directly with the peer-to-peer service.
Furthermore, all communication and sharing between collaborators are encrypted.
Teletype can be a good solution for teams used to working in Atom. It adds a generous layer of features for remote pair programming.
Remote Collab for SublimeText
If your team doesn’t prefer Atom, they might use SublimeText as their text and code editor.
If that’s the case, Remote Collab for SublimeText can provide them with remote pair programming functionality.
Remote Collab is an open-source plugin for SublimeText that has one purpose—to allow multiple developers to work together on code.
It’s a very basic way to pair up your developers since the plugin doesn’t offer many features that some other more robust tools do.
However, it offers enough for productive pair programming sessions. A host can open a session and invite other developers by giving them the IP address.
When guests enter the host’s IP address, collaborating can begin.
Remote Collab is primarily for teams that don’t want to leave SublimeText and only want to add remote pair programming features to it, and for what it is, it can be a solution worth considering.
Tuple is a remote pair programming app for macOS users that aims to deliver the experience of developers sitting next to each other while collaborating.
That’s the ambition of Tuple’s creators, and with that in mind, they focused on delivering a seamless experience of remote pair programming.
For example, the connection between remote developers should be crystal clear—Tuple can stream in 5k, so any lag or issues with audio and video should be non-existent.
Furthermore, the simplicity of pairing up is something to point out. Everything is done with one click, without sending URLs, determining who’s host or guest, etc.
While collaborating, developers have a handy feature of using their partner’s screen as a whiteboard. They can draw and highlight anything on each others’ screens.
Tuple doesn’t offer a free plan like some other tools, while subscriptions start at $35 per user per month.
Tuple can be a good pair programming solution for macOS users with its aim to make remote collaboration as close as possible to an experience of working in the same office.
Unlike collaborative coding tools we’ve presented thus far, Promyze offers a different, more learning-based approach to remote pair programming.
The process goes like this. Developer identifies what they believe are best practices while coding.
For instance, they can use the Promyze plugin for their IDE, their review tool, or the Promyze web interface.
Then, the collaborative part can begin in the so-called Craft Workshop.
Those are one-hour meetings where developers discuss identified best practices, modify them and vote on them—in other words, decide together which practice should stay and which should go.
Promyze then automatically suggests the best practices to developers while they’re coding.
This tool is available in the Cloud plan for €16 per month per user, in the Enterprise plan for €19 per month per user, and in a year-long Custom plan.
Overall, Promyze is a tool that offers a different experience of pair programming, focused on best practices that can improve the team’s performance.
CodeStream is a free and simple open-source collaborative tool that offers useful features for remote pair programming.
In essence, CodeStream adds pair programming functionality to IDEs, be it Visual Studio, VS Code or JetBrains.
It’s all about integrations.
For example, it supports pull requests from GitHub, GitLab, and Bitbucket, it integrates with Slack, Microsoft Teams, and email for communication, and tools like Jira, Asana, Trello, and many others for issue management.
CodeStream has useful features for asynchronous communication. A developer just needs to highlight the code and type a comment or question.
It also has an activity feed, which keeps everyone updated on discussions.
Over time, CodeStream retains all the interactions between participants and builds a knowledge base, which can be handy for newcomers or reviewing the work afterward.
With its many options for integrations and some helpful features, CodeStream might be a free collaborative tool worth exploring.
Whether you like pair programming or not, it can be very beneficial for collaboration.
That’s especially true if you have a remote team of developers. It’s challenging to bring them together and form a close-knit team, and pair programming can be a good way to do so.
Sure, there’s nothing wrong with combining screen-sharing apps with Zoom, Slack, and a few more tools.
But why waste time and resources when so many tools are built specifically for remote pair programming?
With the tools we presented in this article, you can set up a productive collaboration environment in no time.