This was a collaborative project with one other student. We were given pre-existing HTML and CSS files, and we implemented functionality for the webpage using Javascript. The end result was a page that creates randomized motivational posters. It also allows the user to create their own poster with custom text and an image URL, and to save posters to a gallery.
I worked with two other collaborators to create an app for storing and organizing ideas. The project included building out a comp to match a specified design, and then implementing functionality that included local storage.
My role on a team is often essentially a copyeditor. I bring those same skills from the writing world into coding, and I really enjoy the detail work. In this project, my partner was slightly more comfortable with the content, so he took the lead there and made sure I understood every step of the process. I was then able to take the lead in refactoring and reorganizing.
My approach to working on a team, in this case particularly, is to prioritize people over product. That said, I think an important part of prioritizing people is having enough structure in place -- a clear plan, designated roles, etc. This is something that I have often relied on others to provide, but I am learning that if I need to be the one to implement it, I can.
When creating the event handler for deleting a saved poster, we struggled to figure out how to mach the target poster to its ID in the array. My partner knew to try .parentNode to capture the ID, but even though we confirmed the IDs matched, the poster was not being deleted. We sought out help from a Mod2 student, and she quickly pointed us in the right direction.
We definitely relied heavily on Google, past lessons and exercises, and others from our cohort when working on this project. I think we all improved our skills in research and reading documentation.
I feel like I got a good sense of how smoothly things can go when you work with someoen with complementary skills. Although we did 95% of the work together, we trusted each other's strengths in different areas and had zero friciton.
Although psotivity and flexibility is very valuable, if it doesn't also include an actionable plan of some kind, it can be a bit frustrating. "We'll just do our best and try to knock this thing out," isn't really a strategy.
Getting that Git workflow correct and consistent is no joke. Even trying to keep it in our awareness constantly, we didn't commit or create new branches as frequently as we had planned.
It can be very challenging to have multiple people working on different features when they are interdependent. Keeping track of our branches, merges, and PRs, and trying to make sure everyone was working off of the most up to date version, became a job in itself.
I definitely want to continue practicing Git/GitHub. I'd also like to try to bring that trade of strengths even during solo projects. I know my cohort can be incredibly helpful, and I want to try to keep in mind what I can specifically bring to the table.
I discovered that I find it very challenging to pick up and work off of someone's else's code if I haven't done the logic myself from the very beginning. I rely on approaching problems in whatever way makes instinctual sense to me, which is not necessarily how another dev would do it. I want to focus on developing that skill on future projects, and being open to new approaches.