The Journey of Software Engineering is Never End

18 Dec 2020

Isn’t that cool to have the ability to build a website? With excitement, I start enrolling in the course ICS 314, which teaches software engineering. After four months of developing software engineering, I found that this not as simple as building up a website, it covers more than what I expect. There is a lot of strategy and skill been taught in the class that not just the website application, is more like what we can do and use to solve a problem, and I believe that these skills can be applied more than in software engineering field, but in the real life.

Coding Standard

The first thing I’m going to talk about is the standard for coding, it is very important, no just for software engineering, all other fields such as writing an essay, you have to follow the MAL format, which can same as when you are coding. By following the coding standard, your code will be very clean, so whenever something wrong in your code, you can find out the problem very easily, just like fixing your math solution, you will take lots of time to find the error if your answer is so messy, but if is well-formatted, you can go through your answer step by step. Follow the coding standard is no only help yourself, but also your group. When there is a group project, you have to share your code with the team member so they can put their code together, by following the coding standard we all can understand how each code working, so it becomes more efficient when working on a group project.

Functional Programming

This is another very useful thing that’s been taught at the beginning of the semester. Imagine if you have a huge database, and you need to edit these data. Before I learn about functional programming, I would choose to use my brain cell and write a function for that, but now, I can simply use a few lines from the underscore which they already provide me lots of functions that help me edit them. Such as solving the math problem by using the formula, there is also the formula provide when we coding, by using them it will save lots of time and make your work more efficient.

Agile Project Management

This is a strategy that I think is very useful not only in software engineering but also in any kind of group project. At the end of the course, we need to work on a final group project, which is building a website. To make it more efficient during the group project, we use the concept called Issue Driven Project Management. Instead of everyone working on random stuff of the project, we split each problem into an issue, and our team members pick which problem to work on, and that makes everything clean and easy. For my final project, by using Github, we work through the project by using this strategy, which I believe save us a lot of time. In real life, this concept and applies everywhere when there is group-based work, so each member know what to work on and we all able to keep track of each issue for the project.

More and More

Overall, all these things that I talk about above aren’t all I learn in this course, there is much more thing I didn’t cover with. In my opinion, this is a huge topic which there is lots more stuff I need to learn, and the only way out is to keep study and try hard. This isn’t the end of my journey of software engineering, in fact, this is only the beginning. I believe that there will be more and more knowledge to learn and discover.