Progression Through Cooperation

14 Dec 2022

Developing as a Developer

Throughout this semester in ICS 414, I’ve grown a lot as a software engineer in both my coding mechanics and my ability to interact and work with teammates and customers. During this course, I worked with my team to develop a legislative bill tracker that could be used for both the Department of Education and the University of Hawaii. I learned and experimented with new tools in javascript that enabled me and my teammates to create an efficient and functional web page. Along with the new skills I attained, I believe that this course helped a lot with sharpening skills I had beforehand, in terms of web development, and allowed me to refine them as well as prove I could apply previous knowlegde to a new project.

Large Group Work

This was my first experience working in a large group of 10+ members and it was a very informative experience. I quickly learned the importance of communicating with your group members effectively to make sure everyone is on the same page. Another takeaway from this experience is that there will be problems that come up; this includes things like group members getting sick or overlapping commits. My group found that the best thing to do when problems arise is to communicate it to the other group members, as quickly as possible, and immediately work towards a solution that is agreed upon. Working in a group of this size has many upsides as well, in that you can a get a large amount of work done in a short amount of time through the appropriate distribution of tasks. Issue-driven project management really helped with this by allowing everyone to seemlessly move from task to task as they were completed and see what others were working on at any given time. Individually, I did my best to communicate with my group members in a timely manner because I know how frustrating it can be having to wait for others to continue or complete the task you’re working on. One final crucial thing that I came away with is to ask for help from your teammates when you need it, sooner rather than later. The great thing about working in a group is that everyone brings their own skillset and background to the team, meaning they may be able to help you with certain aspects of your code development that you aren’t as familiar with.

First Real Customer Experience

This was also my first experience working for a customer and having to communicate our progress back and forth to compare it to their needs and expectations. Previous major projects that I’ve worked on were more flexible in that the features of the program or website were largely up to me. It was a lot more challenging to be given a list of faults and inconveniences with their previous bill tracking system and having to find our own ways to solve them. Although it was more challenging, it was also fun being able to develop our own solutions and form the application based on what we felt would work best. The timeframe of having a few weeks in between meetings with the customer was ideal, as it allowed us to get a significant amount of work done and really work off of their goals and comments. This aspect of the course carries over well to working as a software engineer because there will be, more often than not, a specific goal or expectation to work towards rather than just creating what I want personally.