Is This the End?

03 May 2023

My reflection on software engineering in my last semester before graduation.

For this project, we were tasked with creating a web app for the ICS department at the University of Hawaii. Room Directory includes information about the faculty, offices, and clubs within the ICS department in one centralized platform. Although the app should be accessible to anyone, the primary user would be the staff of the ICS department.

Flexible Product Management

At the begining, this problem seemed straight forward. After our first customer meeting, our team believed we were making an app for anyone in the department to coordinate room reservations. The ICS department primarily uses the 3rd floor of POST but the system they were using to coordinate room usage was outdated and difficult to use. Using the template, we built a pretty good prototype of what our app would be to support room reservation. Anyone from students to faculty were able to reserve a room and go through the approval or decline process of booking a space. However, after our next customer meeting, we learned that the focus would no longer be on room reservations and the project took a 180 turn.

I learned the importance of communicating with the customer. Had our group contacted our customer more frequently, we would have known earlier that we were heading down a skewed path.

Do You Have To Be Fullstack?

Generally, yes. A major takeaway I learned from this project is that you can only get away with choosing front-end or back-end for so long. Taking this class was the safest environment to explore both sides and challenge my weaknesses. I typically choose back-end issues because it is easier than front-end. However, for this project, I challenged myself and decided to do more front-end issues in the later half of the semester. Just as I expected, I struggled with manipulating front-end code and I had to read a lot of online documentation to understand what each class did. Most of it was exprimenting with different classes, but I think that is all part of the process of understanding the front-end code. In the end, I was still able to set up the collections for the back-end and find success in challenging myself with a few front-end tasks.

Final Takeaways

I feel proud of the work we accomplished in the semester. Every time we had a customer meeting, the project seemed to warp into something new and that kept the entire team on its toes. I am grateful for the opporutnity to develop my software engineering skills one last time before applying them in the real world. This project allowed me to develop new skills, enhance my current skills, and work with my peers. After I graduate, I hope to further develop my software engineering skills and create better work.