Reflection 414

11 May 2025

I. Introduction

At the beginning of ICS 414, I was assigned to work on a business internal application aimed at replacing the traditional spreadsheet workflow. Our client had been using Excel Sheets to manage data, and our team was tasked with building a more robust system to streamline their operations. As a member of the backend team, my primary responsibilities included designing the database structure and implementing APIs to support the application’s functionality. We were introduced to the client and given access to their Excel Sheet, but much of the process, from understanding the data to planning the architecture, was left for us to figure out independently.

II. Challenge

One of the first challenges we encountered stemmed from the technical background of the students enrolled in the course. Some of my teammates had taken a prerequisite course last semester (ICS 314), where they used Next.js and PostgreSQL, but the same course a year ago used Meteor and MongoDB. This shift in tech stack caused some difficulty, especially when trying to ensure everyone was on the same page in terms of technology and best practices.

Another significant challenge was interpreting the Excel Sheet provided by the client. As a computer science student, I am more accustomed to working with code and less familiar with spreadsheets used in business operations. It was initially difficult to wrap my head around the structure, logic, and intent behind the sheet’s organization. Thankfully, one of my teammates had prior experience working with spreadsheets and played a crucial role in guiding the backend team through this learning curve. Their insight helped us better understand the client’s needs and translate the spreadsheet format into a structured database schema.

III. Result and Contribution

Despite the initial challenges, I was able to make meaningful contributions to the project. My main focus was on backend development, where I designed data models to effectively store and manage the application’s core information. I also implemented the API endpoints needed to support the frontend features and ensured data integrity throughout. Additionally, I took the lead in managing pull requests, resolving merge conflicts, and maintaining clean and functional code within our GitHub repository.

Beyond technical tasks, I contributed to team coordination by documenting our weekly progress, summarizing meetings in our Discord group, and presenting backend updates during Customer Milestone. These efforts helped keep our team aligned and ensured the client remained informed of our development milestones. In the end, I gained valuable experience not only in backend development but also in communication and problem-solving within a real-world project environment.