Software Engineering Reflection

16 May 2025

Intro

Now reaching the end of this course, I’ve come to realize that there are a lot of things to software engineering than just writing code. I’ve learned that the hardest part in creating software is not the code itself, but the non-coding work attached to it. Two examples that I believe are often overlooked but are very important are learning coding standards and downloading the proper development environment. These are the two main takeaways that I believe had the most influence on my current understanding of what software engineering is all about.

Coding Standards

First, what are coding standards? Aren’t they just rules about naming and indentation?

Well, that is what I also thought in the beginning of this class. In the past I’ve written code where I named functions and files after what anime I just finished to have unique names. I used to have closing brackets five lines apart from the rest of the code. As long as my code works I am happy. It isn’t even the first time I learned about coding standards, I just did like to follow it. But in this class, everything changed. When we were working on the final project, I saw the importance of naming files properly. Before, I could get away with just searching for files by the name, but this time I couldn’t do the same. I was dealing with hundreds of files compared to eight files at max before. Not only that, I had partners who needed to access the same files. Slowly I realized the importance of proper naming, when we would need to send specific files and even when retrieving file paths. Having the proper name made the flow of files and folders much better.

The idea of coding standards does not only apply in school only, but also in the real world. In today’s society where almost everything depends on technology and data. A single error in naming or code could cause errors or crashes that can cost tons of money to the company. In fields like data science where improper naming could heavily alter results causing inaccurate outcomes. Even in medical software, where the tiniest coding mistakes could cause malfunctions putting patients at risk. The simple idea to learn from this is that following a coding standard could prevent many issues before they occur.

Coding Standards

A development environment to a programmer is like a power tool to a construction worker. Both are essential for building efficiently and accurately. Before this class, I had no experience with environments like Visual Studio Code and Github, all I knew is that they were important and are used by almost all of the programmers. During this course, I was exposed to these two very important environments. That’s when I also learned why they are used and why they should be learned. Visual Studio Code with the proper add ons can go far beyond imagination. Not only does it allow you to write in any coding language, it also has add ons to test your code without having to publish or compile any files. This greatly helped with things like debugging. And for Github, it made it easier to share files with the group members and since it kept track of all the changes. It was easy to pinpoint which commits are broken. It also made reverting to old code possible without having to spend hours trying to rewrite the broken files. But there are more to these apps than what I’ve used them for, their use goes way beyond that.

It is almost guaranteed that a program will fail once during its production and this is why it’s important to have the same environments for all the team members. Environment like Github ensures that everyone has access to the same files and the same version of the program. Visual Studio Code ensures that if it works on your machine, then it should work for everyone as long as they have the proper add ons. This reduces the “it worked on my machine” issue.

Conclusion

Many think that software engineering is all about writing code, what they often overlook is how and where these lines of codes are written in. The development environment, the tools that allowed the program to be written from, play a critical role in shaping the efficiency and accuracy of the program. Coding standards allow programmers to write consistent code reducing errors and allowing future maintainability. This class exposed me to principles and applications that I will continue to use in the future.