Takeaways from my first group project. 
Tags: beginners
Published: 2020-08-30 16:29:55

I just finished my first group project! I am used to building things on my own, so this was a completely different adventure. Here are four things I learned: 

<hr>

## 1. Planning the order in which components are built is critical. 

I'm sorry experienced people, I know this is super basic. However, this wasn't immediately clear. When working alone it's pretty easy to say "Oh yeah, I need that thing, let me build it real quick". When working in a group I realized that you need to plan for those "extra" things ahead of time. The front end of our project was built in React, so we needed to make sure that all of the routes were completed. This allows everyone to test their components while they build them. Sure, maybe it would only take 5 minutes for someone to build out our app.js, but having it completed before divvying up tasks is much more efficient. The amount of "extra" things can build-up, and cause a lot of wasted time. 

Also, this generally makes things easier to debug. Personally I have sat looking at the screen scratching my head wondering why I can't make an API call, only to then realize that I never even built the API config file. 

Here is my advice to anyone relatively new (like me), before building any project you should sit down and write out a plan. It sounds so basic, but it is so important. Trust me, we had a much better and more efficient experience once there was a plan in place. I would recommend GitHub projects to help with this, it's pretty easy to get the hang of and it streamlines the whole process (I would love to hear people's alternatives).

## 2. The nice thing about building something with other people is that the work is split up! 

There isn't any advice here, It's just super nice to not have to build everything yourself. I am a detail person, so I liked being able to focus on each of my tasks down to the smallest feature. This allowed me to produce higher quality components. 

Also, our team met on zoom anytime we would merge our branches together. I loved merging everything and then seeing all of the new pieces fitting in and working together. It felt like we were progressing in giant leaps, rather than monotonously chipping away at some behemoth. 

## 3. Pair Programming is great. 

Pair programming helped us tremendously. This honestly made our team 10x more efficient. We pair programmed by having one person share their screen and one person watch (I don't actually know how people do it professionally, maybe like this? let me know.) This dramatically reduced my pretty routine spelling and syntax errors. It was also really cool to plan out the logical steps for any solution with someone else. 

Another reason I liked pair programming, is that it was fun! This isn't a very professional reason, but it was. I had a good time working with someone else and creating something together. 

Sometimes learning to write code can be a pretty solitary thing. My partner and friends have very little interest in listening to me describe anything I'm working on. Pair programming allowed me to work with someone who is passionate about the same things. 

## 4. Communication is probably one of the most important parts of group work. 

This is a big topic, I've listed a few examples: 

* Actually listening to people when you ask for help. 
* Taking everyone's opinions into consideration.
* Monitoring your ego to ensure that you aren't deluding yourself into thinking you know what's best.
* Keeping calm during a disagreement and looking for a diplomatic solution. 

I could write a whole blog post about ways to improve your communication skills (oh wait, [I did!](https://medium.com/@henryfcook3/thinking-on-your-feet-and-dealing-with-ego-6a673704a862)) so I won't go into a lot of detail. I think it is important to mention that a lot of the disagreements that can crop up in a team environment are "I'm the one who is correct" power struggles. Things like this are not conducive to progress. My advice here is to listen to everyone, recognize that you may be wrong and that is not a reflection of your intelligence, and learn to trust your teammates. 

<hr>

I love building things by myself, I can listen to loud music and disappear into the code. I was nervous when I started this project, and I didn't know what to expect. However, it actually turned out great! My biggest takeaway is that group projects can be quite enjoyable and collaboration can help you build bigger and better things.