In the past few months since January 2024, I’ve been learning more and more about Software Engineering through the class ICS 314. Software Engineering is different from just Coding itself. My definition or idea of Software Engineering is basically coding but you are also the one coming up with concepts, designs and other things before and after. It’s the full creative process rather than focusing on just writing code to do something. You are there thinking about what you want to do, and thinking what you have to do to obtain these goals. and throughout this course you learn some fundamentals about Software Engineering that could apply to many things in the Computer Science Field.
Coding standards where you have a specific rule set for how you write code and documentation. This will help keep your code consistent and more readable. Maybe you can’t have extra lines after finishing code, or you need specific indent here. The main thing is consistency for easier readability. But this can also be super annoying at times. Where you make one small space and it’s not compliant with your coding standard. Especially if you are using a Coding Checker like EsLint. The small things it complains about gets annoying but it does make it so others could read my code. This is definitely an important thing to learn/use for the Computer Science Industry, and I will definitely be using some sort of Standards for my code in the future, but if I don’t have to, I am not using EsLint again. It’s just so many rules and correcting for small things that for me don’t fully impact the readability.
Agile Project Management where you are to constantly work on parts of the code, taking feedback and all and continuing by publishing and working on the next part or problem you have. Something we did in Ics314 is Issue Driven Project Management, where a group of people are to work on small issues, publish the work to the main project and slowly build up from that. It really helped with planning and keeping us in check to do certain things throughout the project. Where we can focus on one Issue at a time and put our best work into that. I can see it being really helpful in many different projects in the future, to help keep pace and have a way to focus on something instead of getting constantly side tracked where we work a bit on this than that, then we have worked on everything but barely anything is done on each of them.
I think this concept is one of the most important things to learn about and for someone to figure out. Ethical and moral decisions you are going to have to make in the future. Software Engineers, Computer Science, really many people in these fields have to look and think about what your making will affect people. Many things you can create can be used for good, look at drones how it can help people capture places that would be hard to get, but also be used in warfare. A.I. a possible tool to be used for people to help with their jobs, to give the finishing touches, but is also being used by many companies to replace jobs, as well as how shady some A.I. tools can be with how they obtained their data. In these fields, you are creating something that can possibly affect so many people. I think it’s good for someone to make their own moral compass and to figure out what they want and not want to work on. You decide on what YOU want to create. Work on things that YOU feel is within your boundaries. You’re creating something for this world, make sure it has a positive impact even if it is small.
I believe that these few months taking Ics 314 has helped me tremendously understanding some of the fundamentals that take place for Software Engineering and Computer Science and coding as a whole. A lot of lessons and ways of designing that I hope I can continue to use further down my path, wherever that is. Some of these concepts can even apply to non coding things and just general life things.