Beyond Software Engineering

14 May 2025

Introduction

Taking ICS 341 introduced me to many software engineering concepts and got me familiar with developing web applications. However, most of the material I learned in this class can be applied to other areas of programming as well. To illustrate this, I want to talk about two concepts I learned, UI frameworks and ethics in software engineering. UI frameworks are libraries that have been made for web applications designed to facilitate the development of user interface elements like forms, buttons, navigation, and more. Ethics in software engineering referts to ethical considerations like privacy, public good, transparency and accountability among other things.

UI Frameworks

The core concept of UI frameworks is that you can use existing tools to more quickly develop, maintain, and alter user interfaces. Many other areas of progamming have something similar, especially ones focused on end user products such as game design. For example, in another class, I worked in a team to design a game and one of my roles was to develop a user interface system for the player. It was very time-consuming to program and test the UI and especially adding more functionality was difficult and often conflicted with other elements of the game. This experience is an example of how important and ubiquitous UI Frameworks are in programming. As long as you learn how the frameworks operate, you have access to a robust way to implement components into your own projects.

Ethics in Software Engineering

Similar to UI frameworks, concepts in ethics in software engineering also apply to many projects focused on end users. You have to consider things like user privacy, public impact, and accountability. However, ethics is a much more general concept and really has ties to almost all occupations. Being able to explore how ethics affects programming is important to get real world examples of ethical dilemma. In this class alone, I was able to explore ethical problems when my team designed our web application as well as hypothethical software engineering situations. In data science, you’ll have to consider how data is being protected including how to protect sensitive information that can be from that data. In security science, there are many considerations about privacy and disclosing data breaches. One last example is with AI research, what sources of information should be used to train models and how can you make sure you have the owner’s consent to use their data. The ethics I learned about in this class is just a small slice of ethics in programming and I will be sure to look other areas with an ethical mindset, having the knowledge I have gained.