ICS314 was my introduction into software engineering. I had learned about coding stacks, databases, new languages, but most importantly, how to work with others in coding. There was also a lot of involvement with Github, especially for our final group project. I think a lot of these skills are fundamental to being a software engineer in the U.S. so it is important that I continue to develop these skills for the future. However, I think learning how to manage and work with databases was the most important skill I had learned in this class. Not often do I get to work with databases, especially for lower level ICS courses and projects. Therefore, when I had to work with my database extensively in my final group project, I have come to a better understanding of what it takes to be a full-stack developer and I have finally decided that this would be the path I would take as a Computer Science major.
In my group project, I got to experience working as a team using Github organization and Issue Driven Project Management (IDPM). At its core, IDPM is creating tasks on something like the Github project page and assigning those tasks to people. This method proved to be extremely useful in our group because we all liked to work on our own code to reduce confusion and slow progress. Furthermore, having everyone worked on their own branch made it easier to push our code and reduced the chance of code conflicts. While I liked using IDPM as an introduction to project management, I want to try to use other project management styles while I am still new to the concept.
Coding standards, is the style of coding that programmer may take up on to preserve readability, stability, and scalability of the code. It was heavily emphasized in this class thanks to ESLint and the AirBnB coding standards. In my project however, I remember disabling a lot of ESLint simply because working around the error will make the code too complex and confusing.
One last thing I want to mention, frameworks. Undoubtedly, this was the most influential part of my project. I am glad to have learned about frameworks for website designing. It is so well ingrained into me during my project that I had forgotten we were using Bootstrap as our framework since the beginning of the course. Frameworks makes it easier to build websites by creating new for the user to use or an easier way to manage styling. And with the addition of React, which allowed users to write HTML code in JS or TS code. This new styling of code made it much easier to write the back-end. These two combined has probably set my foundation for web development because I have come to like these two a lot.
One thing I can definitely take from this class, web development is something I do enjoy doing. This class has taught me a lot about software engineering, what it is like in the field, and what does it take to be good in it. I think I can prepare my self for the future with the everything I had learned in this class.