
Going into this course, I had expected to work with an outside client or company to work on a software engineering project. However, we instead expanded upon an existing code base from a team in a previous semester. While this course was not what I had expected, the experience I’ve gained was still valuable. Getting any opportunity to work on a software development project is always great with refining current skills and building one’s portfolio. For this semester, my group and I, Shelf Awareness, expanded on the Pantry Pals application. We worked on features including, but not limited to, adding macros to recipes, setting macro goals and/or budgets for recipes to make, and UI changes.
I did a mix of front and back-end for this project. The majority of my tasks involved making forms or updating UI for mobile support and cleanliness. That being said, I would have loved to do more tasks, especially those out of my comfort zone. The tasks I did were ones I was familiar with when I took ICS314. Something I would like to get more practice with or should have worked on would be acceptance testing and implementing some sort of API. Additionally, I found myself relying on AI more than I did in ICS314 for this project. While AI is becoming increasingly normal in workflows, I want to reduce my reliance on it. Looking back on these experiences, I need to work on refining my skillset and pushing myself outside of my comfort by working on tasks I’m not familiar with to build new technical skills.
Besides that, I felt as if my team and I didn’t really follow through with our contract, especially with team meetings. For the most part, we did our own thing and really only communicated when milestones were approaching and during the milestone meetings itself. For a long-term project such as this, this is definitely something that should have been important. I think it would have made our workflow more efficient and reduced confusion when working on different tasks.
In conclusion, this course gave me valuable experience working on a collaborative software development project and helped me better understand both my strengths and areas for improvement as a developer. Although the project structure was different from what I initially expected, expanding upon an existing application still provided meaningful insight into real-world software engineering workflows. Moving forward, I want to continue refining my technical abilities and take on more challenging responsibilities.