Not Your Average Group Project

14 May 2025

Image source: Freepik, "Software Development Collaboration", 2018 .

ICS 414 Software Engineering II was both challenging and rewarding, offering a glimpse into what it’s like to build an application for an actual client. Unlike ICS 314 Software Engineering I, where we mostly worked on practice projects, ICS 414 gave me a valuable opportunity to work with a real customer—Spire Hawaii, a consulting and CPA firm. Spire Hawaii wanted us to create an app where they could input and visualize various financial data in an interactive way rather than working with static Excel sheets.

Applying Classroom Knowledge to Real-World Development

A helpful part of the course was learning how to handle feedback from the client. In ICS 314, my team and I had to design our application based on what we thought a user might need or want. However, ICS 414 allowed us to actively communicate with a customer and fix our application based on their feedback. This taught me more about the professional development process, preparing me to become an actual developer.

Throughout the semester, I worked on implementing technically complex features that I didn’t know how to do before this course. Since I was responsible for creating the Executive page of the app, I developed summary graphs to display financial data, connected those graphs to datasets, and formatted the page’s visuals based on the customer’s advice. These tasks strengthened my technical skills and gave me insight on how to maintain a real-world app, including how to fix bugs that were caused by new changes. Furthermore, I gained hands-on experience with Next.js, a React framework widely used in the industry. Learning how to use Next.js alongside others taught me how to work together as a team to learn something new and apply this knowledge in a meaningful way.

Teamwork Makes the Dream Work

Additionally, this course helped me further develop my soft skills. I was fortunate to be part of a well-coordinated and communicative team, each member effectively contributing to the project. Each person was responsible for developing and maintaining specific parts of the app, which made task division efficient and straightforward. Our group’s positive and cooperative dynamic allowed us to make consistent progress throughout the semester. Although not every workplace team will function this smoothly, my group was a valuable example to me of what strong teamwork can accomplish.

Gained Knowledge

Overall, ICS 414 gave me a realistic, insightful experience in technical development, client collaboration, and team communication. Now, I have a better understanding of the expectations and skills needed to become a successful software developer. ICS 414 was a useful and practical class that prepared me for real-world software engineering.