I am currently collaborating on a project with a friend and fellow software engineer. We were in the same cohort at Flatiron School and have previously pair programmed for code challenges and shared advice to complete individual projects. However, for both of us, it is the first time working with a partner to build an application. We are learning as we go but I'd like to share what we've learned so far for other first timers.
- Communication is key!
- We have zoom meetings once or twice a week to set the goal for the coming days. We discuss what the next steps are, what we need to learn/research in order to reach our goal, and we split tasks.
- We send each other messages on slack when we run into any issues, have questions about our code or best practices, and just to inform each other about tasks we have completed.
- Read and write informative git commits & UPDATE YOUR LOCAL REPO
- Before you start working on your project tasks, check git, read the commit messages and look through the code to see what has been added, updated, deleted. It will catch you up so you can pick up where your partner has left off.
- When writing commit messages, try to keep it short but informative. This might mean committing more often. (Sometimes I try to get something working before I commit changes and I end up writing longer commit messages which might not be easy to read for my project partner...It's something I am working on improving)
- If changes have been made don't forget to GIT PULL to update your local repo
- Comments inside your code are helpful.
- Comments to label what certain functions or blocks of code are for have made it easier to review each others code.
- This includes questions and suggestions. We often write questions above our code about refactoring or asking about the necessity of certain functions/methods.
So far this has been a great experience. We are understanding of each others schedules and time zones. We are equally involved in the planning and execution of the necessary tasks. We are both willing to take extra time to learn new things to improve our skills and the end result of our project.