Hindsight, A Refection of my ICS 314 Experience

17 Dec 2019

We’re done!

During my class in software engineering, we went through the entire process of web development. Along with learning the frameworks and languages, I also learned the basics of many fundamentals in the development workflow, such as project management, and coding standards. My experiences in this class have given me a sense of what work environments are in the professional scene.

UI Frameworks

Learning the different frameworks used for our projects was my favorite part of this class. It was really interesting because each framework had a different purpose, and worked differently from each other. As a first time developer, working with multiple ones at the same time was challenging because they each worked differently, and were difficult to implement together. As a gamer, it reminded me of using modpacks in video games, modifications to the original game created by fans.

The frameworks I learned were Semantic UI and React. The most interesting thing I learned was how to create components in React, simply because of the importance of components in creating a website. It’s eye opening what you can do with basic web-building blocks.

Collaboration in Programming

Probably the most difficult part of this class, I learned very quickly the struggles that come with teamwork in programming. Considering the fact that I only participated in one collaborative programming project prior to this class, I did as well as I could have hoped. However, there were many difficulties along the way, especially during our final project.

During our final project, I quickly learned the value of version control and management. It was hard to keep track of all of the changes happening to our project given that there were four of us working on it. When something went wrong, it took us a while to find out the issue, since so many changes were made every time we merged. Eventually, we got a system down where one member was in charge of merging the repositories, which made it easier to check for bugs.

We learned a management system called issue-driven project management. Basically, a project gets divided into milestones. These milestones are determined based on the requirements of the project at each stage, and each have a specified deadline.

In each milestone, the tasks are further divided into bite-sized tasks called issues. The division of tasks in this way helps the work environment by giving developers clear goals to work on, and also a clear deadline.

Overview of My Experience in ICS 314

Personally, I think that the technical skills that I gained in this class will be helpful in the future, but not nearly as much as what I learned about collaboration and project management. I believe that these experiences have helped me further understand the environment I plan on being a part of during my career as a developer. I also do like web development and am especially glad to learn about Github Pages, as I can have my own website without having to pay.