WildFires:

How I learned to stop worrying and love the group.

Randy Latz
WDI DC 1

--

So it begins.

As we approached our ninth week of WDI, the idea of a group project was really interesting, especially after our short, two day glimpse into group work the week prior. I was both nervous and excited to see with whom I'd be grouped. I spent time thinking of the variety of interests and abilities of my classmates and how my own abilities could potentially interact and benefit a group.

I was quite pleased when our group was revealed; we had a collection of solid coders with distinct and varying curiosities, knowledge of technologies, and working styles. Overall, I found the experience to be incredibly valuable in exposing me to the concept of group work, which will most likely be the norm in a career. I feel like I learned some valuable lessons from my teammates that will help me to improve and develop my coding practices.

Enough about feelings, let’s talk about the actual experience.

We began on Friday by trying to come up with an idea for the app we would create. This process was one of the more challenging aspects of the project as we were given absolutely no direction as to what to create and had the decision left up to group debate. My group was nothing but respectful and open to hearing ideas, which lead to us taking most of the day to hammer out the specifics of our project. So at the end of day one we had locked down our idea and were ready to hit the ground running the following Monday.

Monday was logistics; we sat down as a group created our repo, a new pivotal tracker and began writing user stories, where Mary took the helm. In retrospect, I wish I had utilized user stories more effectively as it seemed Mary was able to accomplish a lot with the direction provided by well written and specific user stories. As we divided up the tasks at hand, we split off initially based on our comfort with specific technologies. Mikael and I started with user authentication using what seemed to be a very useful gem called Devise, which ended up being something I fought with for the remainder of the project.

On a side note here, I want to point out that I learned a very important lesson when it comes to the use of gems, specifically regarding my current level of knowledge. Gems seem like magic bullets that can save you loads of time and effort, and while this is true in many cases, I have come to the realization that until I have a firmer grasp on what is going on inside a gem, it is in my best interest to explore and learn by rolling my own solutions. Down the road I am sure that a large variety of gems will be essential parts of my toolbox, but until then working through gem specific idiosyncrasies wastes more time than the functionality of the gem saves.

Onward and upward.

As we continued through our week, our group fell into a routine of meeting often to discuss where we were and how we were planning on moving forward. Everyone put in solid effort and we were able to achieve full functionality with time to spare, allowing us to fix bugs, style and learn each other’s code. I could dive more into the specifics of our week, but for anyone going through a similar project, you’ll see how it goes. I do want to move on to what I learned.

Lessons learned.

There are several lessons I will take away from this experience. The first of which I discussed above regarding gem usage. One of the other things I learned was how important direction is. We were occasionally a little bit adrift as we proceeded and I think if I had set more concrete goals for myself I would have been able to get more done. Another issue I feel I need to work on is not getting tunnel vision when I am stuck on a problem. Too often through this project, whether fighting with Devise or just tackling something I wasn't overly familiar with I would lose time to frustration. In these scenarios I should have just put the issue to the back burner and moved onto another task. Had I put this behavior into practice I likely would have been more productive and far less frustrated throughout the project. Lastly, I regret not straying from my comfort zone more, this held me back from exploring more new and exciting technologies that could have potentially been areas of real interest.

Final thoughts.

In closing, I was really pleased with the experience of group work and feel I learned some useful lessons I can apply in the future. I was also happy about the randomness of the groups and being able to work more closely with some classmates I hadn't spent significant coding time with. I feel like this improved our relationships with one another and provided me with some interesting and useful perspectives to take advantage of going forward.

--

--