Whether you are working or learning remotely, loneliness and distractions are likely daily struggles you face to staying happy and productive.
What if you had a partner to code and learn with every day? What if you could face the challenges of learning to code with the help of someone who is as invested as you are? And what if you did that by working on the same software project and discussing all the steps and possible solutions as you go?
Take a moment to think about this Swedish proverb and how it affects your learning journey:
Shared joy is a double joy; shared sorrow is half sorrow.
The good news is that all those ideas can apply to you even if your coding partner is somewhere else in the world. That’s what remote pair programming offers. This is how it works and why it can change your life...
Remote pair programming is not so different from traditional pair programming.
In pair programming, you and another software developer (or aspiring software developer) sit together in front of a computer and take turns writing code using just one keyboard.
The person typing on the keyboard is called the Driver. They will be responsible for thinking about the classes, variables, functions, and algorithms that they need to code in order to make the program accomplish its goal. This person will try to verbalize their thinking process as much as possible as they code.
The other person is called the Navigator. They will be sitting next to the Driver but won’t be writing any code. Instead, the Navigator will be paying close attention to the code the Driver is writing, and will offer guidance and suggestions whenever possible. The Navigator will suggest alternatives, find answers to upcoming questions and challenges, and act as a sounding board for the ideas the Driver is coming up with.
Regularly, the Driver and Navigator will switch roles, so now the Navigator will become the Driver and they will now be the one writing the code. You can switch roles every 30–40 minutes, or every time you finish implementing a given feature or function.
If you and your coding partner are not in the same room and working on the same computer, you can still do pair programming. But we will call it remote pair programming.
In remote pair programming, each developer will be working from a different computer.
You will be using some kind of software that allows you to talk to each other and share your screen. For example, you can use a video conference tool such as Google Hangouts, Skype, or Zoom.us. Using one of those tools, the Driver will start by sharing their screen so the Navigator can see what they are typing.
There are also plugins for Atom, Sublime, VS Code and almost any other code editor that allow you to share your IDE with the other developer and modify the code at the same time. You can also allow the other developer remote access to your computer.
However, my recommendation is that you just stick to a video conference tool for two simple reasons:
To give you an example of that last point, let’s see what happens once you decide to switch roles:
First, the current Driver will commit their latest changes (for example, git commit) providing a descriptive comment. After that, they will push those changes to the remote repository, making the latest version of the code available for the Navigator.
Now, the Navigator will become the Driver by pulling the latest changes to their computer and opening the corresponding file. They will now start sharing their screen and writing code.
Does all of that sound too good? That’s because pair programming has the potential to make you a much better developer and help you learn at a much faster pace. Let’s talk about how to find a coding partner.
Finding other people learning to code is not difficult. However, in order for remote pair programming to help your learning journey, it’s very important you find someone willing to commit to a recurring schedule.
As mentioned, in order to make pair programming part of your daily habits, and use it for accountability, it’s important that you and your coding partner meet on the same days, at the same time every week. It’s like having a gym or running buddy, but for coding.
At Microverse, students around the world learn through pair programming and collaborating with each other. We do the hard work of selecting people with a high level of motivation who are willing to commit to their coding partners full-time. If you're interested, learn more about what Microverse is here. If you're not ready to join Microverse yet, there are several places where you can find people as motivated as you:
No matter where you look for remote pair programming partners, remember to communicate the amount of time you want to dedicate per day or week, and agree to a recurring schedule.
If you're ready become a remote software developer and learn through remote pair programming then, apply to Microverse now! We accept students from every country in the world for $0 until you land a life-changing job.