Reflection Of Software Engineering

10 Dec 2025

Reflections on Software Engineering: User Interface Design and Coding Standards

At first glance, ICS 314 may appear to be a course centered on web application development, given its focus on modern web technologies and frameworks. However, as the course progressed, it became clear that the deeper objective was to introduce fundamental software engineering concepts that extend far beyond building websites. Two concepts that stood out to me were user interface (UI) design and coding standards. While both were explored through web-based tools and projects, they represent core principles of software engineering that are applicable across many types of software, including desktop applications, games, and large-scale systems.

User interface design refers to the way users interact with a software system, including layout, visual structure, and responsiveness. UI is often underestimated in technical fields, as developers tend to prioritize functionality and efficiency over aesthetics. However, software is ultimately built for people, and users are naturally drawn to applications that are visually clear and intuitive. In ICS 314, working with UI frameworks such as Bootstrap demonstrated how design and functionality can be integrated rather than treated as separate concerns. Bootstrap provided prebuilt components, icons, and layout systems that allowed developers to quickly create consistent and usable interfaces. Beyond web development, the principles behind UI design remain the same. Whether designing a mobile app, a video game interface, or even internal tools for engineers, thoughtful UI design improves usability, accessibility, and overall user satisfaction. Learning to value UI as part of software engineering has reshaped how I think about building software for real users rather than just making code work.

Coding standards represent another foundational concept that extends well beyond web applications. Coding standards are a set of rules or guidelines that define how code should be written and structured, with the goal of improving readability, consistency, and maintainability. Before this course, my perception of coding standards was largely negative, associating them with tedious fixes such as missing commas or formatting errors. Through the use of tools like ESLint in ICS 314, I began to understand their broader purpose. Consistent formatting, clear naming conventions, and predictable structure make code easier to debug and significantly easier for others to read and modify. These benefits become especially important in collaborative environments or long-term projects where code is maintained over time. While some rules can feel overly strict or slow down development in the short term, the long-term advantages outweigh the inconvenience. Coding standards apply universally across programming languages and project types, whether working on embedded systems, backend services, or game engines.

Together, UI design and coding standards illustrate that software engineering is not just about producing working code, but about creating systems that are usable, maintainable, and adaptable. ICS 314 helped me recognize that these principles are transferable skills rather than web-specific techniques. Understanding how users interact with software and how developers interact with code are both essential components of professional software engineering. As I move forward, these lessons will influence how I approach future projects, regardless of the technology stack or application domain.