Throughout the course of this class, I learned a lot of different software engineering concepts. At first, I thought these concepts were just ways to improve my coding and development process. However, I learned that a lot of these concepts can be applied to other areas besides software engineering. In a broader sense, I learned that concepts and ideas that seem very specific to certain subjects can often still be related and used in other areas too. A few concepts I’ve learned such as Coding Standards, User Interface Frameworks, and Ethics in Software Engineering, are all very applicable to other aspects of daily life.
Coding Standards are guidelines to follow when coding. For example, when naming a variable in a program, you want to use camelCase, which basically has the first word starting lowercase, while every word after starts in uppercase. Although it seems very simple, it is actually very important in keeping your code organized and consistent. These coding standards taught me the importance of being consistent. By using a coding standard, I am able to make consistent code that is readable for other people, and allows other people to seamlessly edit or add to the code. Outside of software engineering, standards like these can be used in team environments where people need to be on the same page, as it allows for a clear guideline to aim for when working together.
Another thing I learned about was User Interface Frameworks. Much like coding standards, frameworks help improve the readability and structure of an application. Before learning about it, I thought the functionality of an application was all there was to app development. However, I learned there are much more nuances and details that need to go into creating an application, and by using User Interface Frameworks, I was able to learn how to create a consistent app by reusing code, which ultimately improves the design of the app. As a user, sometimes you use applications that are very confusing, and that can deter you from using it. Overall, this concept has taught me to view the problem from multiple angles, as I was able to think about what I want to accomplish as a developer as well as what it would feel like to be a user.
Lastly, something I had not previously thought about was Ethics in Software Engineering. I used to think that software engineering was pretty objective and straightforward. You’d just create a program that did whatever you wanted. However, I learned that there are lots of questions you need to ask yourself when creating code. “What am I creating?”, “Who does this affect?”, “Is this what I want to do?”. I learned that Software is an incredibly powerful tool, and a very widespread one. Millions, possibly billions of lives can be affected by lines of code every day. Going forward, I’ll have to make sure to think about what jobs align with my ethics and interests, and what tradeoffs I’m willing to take to make money.
AI was not used to write this essay.