Remote Collaboration Guide
Tools
VS Code Liveshare
You can find the previous tutorial here: https://youtu.be/qdHFLAuA7C4
Zoom
- Annotations: You can annotate a partner’s screen and actually save screenshots of the annotations on the screen! Useful for underlining and annotating specific lines of code
- Whiteboard: You can use this as a blank space to create architectural diagrams and discuss ideas as a group. Useful for discussing high level concepts of the project and creating a game plan of how to approach projects
- Remote control: You can take control of whoever’s computer is being screen shared and type / click anywhere on the screen. Useful for taking over the terminal to run certain commands or just momentarily taking over to scroll to a specific line of code
Github / Gitlab
We highly recommend utilizing Github / Gitlab for version control to share project code amongst team members! It's a highly
useful skill to learn since it's commonly found in industry. Make sure to use private repos!
You can find a cheat sheet here: https://education.github.com/git-cheat-sheet-education.pdf
Tips
- Start early! It might be harder to work with partners due to time zones so use your time wisely
- Take breaks. Its harder to take a walk around the BBB when you’re at home and on your computer all day so take breaks as a group.
- Always push your work to Git. If you are using Live Share, the new code is only saved onto the host’s local computer so make sure to push the code once the session is over!
- Communication is key. Collaboration is now remote so making sure you communicate your changes as clear as possible is important. I know it takes more work to type out ideas instead of speaking them but being clear to your project mates is critical for a successful project
Possible Approaches to Projects
Pair Programming
- Recommended option
- Use Zoom and/or Live Share to work on the project at the same time. Have one person typing the actual code as everyone discusses what to write
- Resources on pair programming:
- https://stackify.com/pair-programming-advantages/
- https://martinfowler.com/articles/on-pair-programming.html
- https://medium.com/@jdxcode/how-to-pair-program-d6741077e513
Working at the same time but different parts
- Use video conferencing tool and Live Share to work on the project simultaneously but have group members work on different parts
- Can still discuss and share ideas while working
Working at different times and different parts
- Use Github / Gitlab to share individual code for parts of the project amongst each other
- Make sure parts are clearly assigned and communication is made regarding changes