Remote Pair Programming

04 Jun 2020

Session 1

I did a remote programming session with Quinne, Angeli and Hanna on Saturday 5/30 for about 45 minutes. Together we used Zoom with Screen Sharing and FlooBits to go over our Mockups and Markdown files. Each of us setup a Floobits workspace and one at a time shared our markdown files with the team. It was my first time using FlooBits and I learned about a lot of features in FlooBits that I didn’t know about. The summon feature seems to be a useful tool, and the way workspaces are organized on the brower makes it easy to add and change permissions or jump to a different workspace.

Session 2

In my second remote pair programming session on Monday 6/1, I again worked with Quinne, Angeli and Hanna. This time we still used Zoom but didn’t feel screen sharing was necessary for what we were doing. We also used CodeTogether instead of FlooBits for code sharing. For the most part CodeTogether worked the same as FlooBits; the only major difference being it doesn’t support more than one typing at a time. We spent more time going over our markdown files and discussing our opinions on the projects.

Session 3

In my third remote pair programming session on Tuesday 6/2, I worked one on one with Hanna for about 20 minutes. We met right after the daily stand up meeting and just stayed in the breakout room after the meeting. I was worried the breakout room would have limited features but it worked just as needed and I was able to share my screen with Hanna without issue. This time Hanna and I didn’t have that much to talk about as we had covered most of what were working on in the previous meetings. We went over a couple issues we were having with FlooBits, such as it not saving our changes, and we tested it out and I believe fixed any issues. We also continued to talk about directions to take this project and compared FlooBits with Codetogether.

Thoughts

Using pair programming seems like a useful tool to collaborate with teammates. Since we haven’t started building the CSExplore app we focused mostly on our markdown files. This worked well enough for testing the technologies and explaining our mockups to each other, but hopefully we will soon be able to test more concrete programming. I hope in the future we can use this on an as-needed basis rather than a set time every week, perhaps with a “quota” for the week so we can make sure to get some time in.

Zoom

Zoom worked well in conjuction with the codesharing tools. Being able to share our screens we were able to jump from code to Figma to the running app seamlessly while talking. The breakout rooms seem like they could be a powerful tool in remote pair programming. This could mean staying in after the daily meeting and asking questions and sharing code with the teamates, or in meetings we set up ourselves we could divide into groups and do one-on-one programming in round-robin fashion.

CodeTogether and FlooBits

Both code-sharing platforms we tried(CodeTogether and FlooBits) got the job done. Both allowed us to edit from the browser, share with all 4 partners and featured some kind of summoning feature. The only issue with either was that CodeTogether didn’t allow more than one person to edit at a time. CodeTogether felt a bit like Med-school students standing in a circle watching a doctor perform surgery. It’s limited editing has its place if you want to just hand the scalpel to someone just for one incision. I have no real preference for either platform but it seems FlooBits would be best to develop an Engineering Standard due to its less-limited nature.

Other Things to Try

FlooBits Terminal and Screensharing:

Two FlooBits features that we didn’t get to try out but could be useful. An independent terminal sharing app made by FlooBits and a built in screensharer.

Expo Snacks:

Essentially JSFiddle but for React Native apps. This has an Android, iOS and Web emulator which makes testing and sharing easy if we need help on individual components.