It’s the end of the term and I think that it’s an appropriate time to look back at what I learned over the course of this class. I feel that I’ve not only learned how to “program”, but I’ve learned the important fundamentals behind how to be a “good” software programmer. To clarify, I was able to review and strengthen my previous knowledge with programming while learning more about how to manage my time, projects, tools, and style that related to software. In this way, I found that there exists basic universal standards on how programming works and the main ways of making your software both appealing and effective in what you are trying to solve. The main takeaways that I want to discuss here are UI frameworks, agile project management, and design patterns.
One of the topics that we were introduced to was about UI frameworks and how they can extensively improve overall appearance, user-friendliness, and efficiency of both your application and development. This semester, we used Semantic UI as our framework, which I was able to see how such a thing is able to be very useful. It drastically made our application development much easier when using certain keywords to design elements of our application to improve both its functionality and appearance, especially when used with CSS. When compared to only using HTML and CSS, this method is much more convenient due to its simple syntax and clear representation. From beyond the scope of web application development, I can see how implementing appearances can not only benefit any sort of project that I will work on but also how creating a user-friendly interface can often lead the consumer to better understand how the product works and increase overall ratings. After all, even if you have a working product, if the layout is too confusing, the consumer may not experience the product fully or even appreciate it in the first place.
On the final project of the course, we were introduced to Agile Project Management, of which we broke down the project into parts that could be managed in a continuous manner in order to ensure the quality and make improvements. In the case of our project, we dove into a branch of project management called Issue Driven Project Management, where we split our projects into multiple milestones, which were then subdivided into individual issues, where each issue incorporated a component that needed to be worked on, split amongst the team. While this felt like a big hassle at first, we found that this type of project management actually assisted us with organizing which parts of the project would be finished first and kept us on track. This type of layout is also an example of a design pattern, where we had a problem and had the information on how to complete each step, while implementing it on our own. Beyond the scope of the course, I could see how this sort of project management can be used on almost any sort of group project, which serves as how this can be considered a design pattern, considering this layout does not only serve for the purpose of web application development but for a wide array of different applications.