Approaching the End of the Line

08 May 2023

One Last Project (Or Three)

Nearing the end of my time in college, I felt like ending with a project or three. During this last semester I did a project for ICS 414, and the project was called Room Directory. Room Directory is a meteor application designed to contain information for the ICS department, including faculty information and information about rooms in the ICS department. During the development of this app, I had the chance to work on skills previously developed in other projects, such as project management and working in a team. While it’s not anywhere near the first project I’ve worked on, it’s the first one I did that had its requirements outlined by a customer, and it would end up being the longest one I’ve done. As with many things, working on this project led to some issues that I encountered during the semester, and by working on resolving those issues I managed to get better at working on these types of projects.

The Struggles of Working on a Long Project

As stated before, there were a few issues I ran into during the project. The most major issue was actually unrelated to the project itself, but rather my other classes. As I hinted at the start, at the same time as this project I was working on two other projects. While none of the projects I worked on were that difficult, they all took time to do, even if they were all group projects. In addition, the other two projects had a later start and had smaller teams, meaning I had to do more work for them. As such, I wasn’t able to give this project as much focus as I would have liked, leading to a small decline in workflow for a few weeks. There was also a small issue with working with so many people. Our group was the largest of the three groups and having so many people working on the same project had its ups and downs. The issue, to my surprise, had nothing to do with who was working on which issue, as while there was the occasional overlapping issue, the work was pretty organized the whole time. The issue ended up being having certain files have conflicts with each other. As mentioned, there were a few overlapping issues, which meant some files were being edited by multiple people at the same time. While there weren’t any major problems with something being merged to main that shouldn’t have been, when it came to updating files sometimes a person would push something to main and GitHub would get confused on where those changes should go if I was editing those same files. As such there were a few file updates that I had to apply multiple times. Luckily, the conflicted files keep both versions in the file, so all that was needed was to delete one of them, or to move a few lines to the new version to combine them. Despite the issues encountered during the project, there were still a lot of upsides.

What I gained

Despite the setbacks I encountered this semester, I felt that overall this was a positive experience for me. While my schedule did keep me from working as much as I wanted to, it did encourage me to plan out my work a little better than before. Because of the need to work on three projects at once, I had to plan out how much I worked on each project per day. While I didn’t always stick to the schedule, it did help me stay mostly on track. During this project I was also able to work on my ability to work in a team. Most of the team interactions involved talking about any problems, any progress we made recently, and any new ideas we had for the project. While I never really took charge, I did try to contribute to the team meetings as much as I could, and some of the bigger issues I worked on for this project were things I had suggested. Despite the issues mentioned earlier, there weren’t any major issues involving the team, which helped development proceed smoothly. The problems with conflicts ended up being a minor issue, so overall I can say working in a team went well. The actual project itself allowed me to improve my coding and problem-solving skills. Many of the problems I encountered required solutions that may not have been obvious. I got experience in both front-end and back-end development, when most of my previous projects only had me work on one or the other. I personally enjoyed working back-end more, since it feels more satisfying when you’re able to get it working. Overall, I learned a lot from working on this project, from technical skills such as coding the project and fixing problems, to management skills such as working in a team and managing my time. As I said at the start, this is my last semester, so I’m looking forward to seeing what’s next.