As the Spring 2025 school semester comes to a close, it is time for me to reflect on what I have learned in my software engineering course at UH Manoa. In the course, we learned various languages and frameworks such as TypeScript, Bootstrap 5, and React. We completed tasks ranging from learning the basics of TypeScript to building a full stack web application. However, in this class, we are encouraged to reflect on not only the projects that we have worked on, but the core software engineering concepts that we will build off of and develop as we progress in our careers in computer science. For me, the first one that I want to reflect on is coding standards.
Coding standards can be described as the ruleset that a software engineer sticks to when designing basically anything. It mostly refers to the way that code is structured, for example there could be a variable declaration before an import and coding standard will tell you that you need to fix that by putting the variable declaration after the import. This coding standard is put in place mostly to protect functionality and ensure that everything runs smoothly, but other parts of coding standards could simply refer to the way the code looks or how readable it is. One way that we adhered to coding standards in my class was that we were required to use ESLint for essentially everything we did. From doing little functional programming exercises for homework to working on our final project, we were always held to ESLint standards. This means that our code must be readable, easily modifiable, and work smoothly with low chance for compiler errors. I think that beyond the area of web development, coding standards are very important in all areas of programming, such as database programming and especially machine level programming. Getting into the habit of following coding standards I feel is very important for a computer scientist to do, because there are standards for everything that we do. Even when setting up something as unrelated to web development like setting up a computer network, following a common structure and naming order is very important. Standards ensure that things run smoothly and operate to a good capacity. Besides coding standards, I would also like to talk about ethics in software engineering.
Ethics in software engineering is a surprisingly dense topic to get into. But in short form, it is essentially taking responsibility for the impact of the things that a software engineer designs. For example, if I were to write code for a facial recognition software, but the software had a racial bias, I must understand that I played a role in the harm that the software does because I created it. I think that ethics in software engineering is a very useful topic for the class to have covered, as it is something I have thought a little about, but haven’t dove into until I took this class. I think that I will always be thinking about the impact of my code in the future, as I believe that I should take this responsibility very seriously. I don’t want to harm anyone, and so I will be careful to ensure that I understand the impact of my code as I am writing it and before I write it. This topic of ethics in the work environment is something that I have been generally considering for a while now, which is why I originally wanted to get into Cybersecurity. I think that ethics and morals should be a part of the work that people do, because at the end of the day, we will have to live with the impact of our decisions in some form or another.