Software Engineering: Reflection

11 Dec 2023

photo

Thoughts on Software Engineering

My exposure to software engineering is limited to what I learned from my ICS 314 course. Over the course of the semester, we used and studied the following fundamental software engineering concepts:

Open Source Software Development

There are a few concepts that I find particularly useful in software engineering and in other fields. The most important concept is open-source software development, in which anyone can inspect, modify, and enhance source code. Making software projects open source allows for more reliable and advanced software development. Open source code also motivates increased transparency and security; developers can fix bugs and security vulnerabilities more efficiently. However, open-source software development does come with some negative aspects. For example, with open source, there is no protection of intellectual property. Criminals have the ability to steal original work and profit from it, without consent or giving credit. Nevertheless, I do think that the idea of open-source software development is innovative. It encourages the collaboration of professionals to produce and continuously evolve programs so they are as efficient as they can be. I think that it would be very advantageous to contribute to and use open-source code in the future.

Coding Standards

Another valuable concept is coding standards. These standards play a crucial role in fostering the development of consistent, high-quality code, empowering programmers to write more efficient, cleaner, and readable software. The use of coding standards in collaborative projects is essential, each team member must adhere to a standard so others can easily build off of their work. The idea of implementing a set of rules that govern how something should be done is not new. For example, in literature knowledge of grammar and essay structure/organization enhances the effectiveness of written and spoken communication. I see myself using coding standards as long as I continue to write code. I hope one day these coding standards become as second nature to me as grammar does when writing an essay.

Conclusion

I am appreciative of all the concepts that software engineering has introduced me to. Many of them will help me in either my research or future courses. I look forward to continuing to expand my knowledge of software engineering over the next couple of years as I believe the field has a lot to offer.