Remote pair programming is at the core of how you will learn as a Microverse student.

Remote pair programming is based on traditional pair programming, which is a a software development technique where 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.

Read this article by Microverse's founder to learn more about how remote pair programming works. 

Did this answer your question?