Software Engineering: Applications Outside of Web Design

09 May 2024

A Reflection on Software Engineering

The focus of ICS 314 is primarily focused on creating web applications, but many of the concepts learned in this course can be applied to other projects in software engineering other than web development. Two examples of this pertain to topics that have been learned in this software engineering course such as ethics in software engineering and agile project management.

Starting with agile project management, the definition of agile project management is a methodology that prioritizes adaptability, collaboration, and customer value by breaking down projects into small increments, allowing for iterative development and continuous feedback. The way we used agile project management in the course was through issue-driven project management, which is where a team will split a project into current tasks and set a deadline for them. Once that deadline has passed, the issue will be re-evaluated and new issues will be written for a new deadline. This methodology can apply to any project whether software engineering related or not! For example, on my robotics team in high school, we tried this methodology when furthering the progress on building our robot. I am going to be entering junior design project, and this methodology would work well for this class as well! It is effective because you are consistently evaluating where the project stands and what need to be done to bring the project to completion.

Another concept we learned about in ICS 314 was ethics. I believe that it is fairly obvious that ethics apply to many other disciplines beyond software engineering and even within software engineering but beyond web development. Ethics are the moral principles that engineers need to follow to do good in the world and be fair. Some ethical issues in software engineering include workplace ethics, accessibility for users with disabilities, and user privacy. The hotest topics with ethics is AI as if AI is taking snippets of other people’s code to create new code and you use it, it is really new code? Same thing applies to AI art. AI art closely resembles already existing art and doesn’t give the original creator credit which is allowing others to profit off of this but not the original creator. Ethics will continue to play a huge role in software engineering in the future. As someone who is planning on going into development for medical devices, ethics plays a huge role in the rights of patients who use the devices and many other aspects of development.

While there are many different topics that were learned in this software engineering course, there is more room to expand on these learnings in the future to other projects or other topics. As an electrical engineer, I will be sure to keep this all in mind!