Week 8 of Metis was a “client” project in which the “client” requested a Craigslist clone. The project itself was a pretty straightforward CRUD app but the hill to climb was working in a group. In the 7 previous weeks of bootcamping, most projects were a solo deal. We sometimes pair programed but we never had to coordinate work between groups. Without a project manager in hand, we were pretty much thrown in the fire. If it weren’t for these tools, I don’t think we would have gotten out alive.

1. Git

Git is a powerful versioning tool that most programmers wield. With Git you’re able to have separate branches so that none of the group members will step on each other’s toes. At the chance that some toe-stepping occurs, there is a powerful and painful method to “rebase”.

2. Github

Github is essentially Git on the cloud. A group can share a “repo” and push up commits and branches. Once branches are pushed up, a “pull request” is opened and your teammates can look over the code and approve or give suggestions to better the code.

3. Trello

Trello is a web app in which you can put “cards” into columns. As simple as it seems, It helps so much to know who is working on what at any given time. More importantly, you can keep track of what you finished, what you’re working on, and what needs to be done and it’s all online so any of your teammates can access it.

4. TMate

If you use a terminal style text editor, TMate is awesome. You can share your terminal screen with anyone with a simple ssh key. When your teammate connects to your terminal, he can see real time what you’re doing and also write on your terminal as well.

5. Google Hangout

I’m sure you guys all know what Google Hangout is but keeping in touch with your teammates is so important. You can easily share links, do a live chat, and also share screens. There are other programs that can take the place of Google Hangout but this is what worked for us.

Conclusion

These tools focus on staying completely in sync with your teammates all the time which was pretty much the hardest part about working in a team. The thing I learned most this week was that without communication, there is no team. As my amazing instructor preached multiple times during the week, “Teamwork to make the dream work”.