
Over this semester, I learned a ton about software engineering and the processes that go with it. I’ve learned a lot more about some of the tools used in software engineering, along with skills like using Agile Project Management to manage groups when working on projects, and about coding standards and their importance. Before taking this class, I thought that software engineering was just like my other coding projects, where I could freely code, whenever and however I wanted. I had little to no knowledge of software engineering, so I assumed that it was just like the classwork I had in other classes before this. Now that I have taken this course, I know that there are many different processes behind software engineering, and that having an organized group and consistency in your coding styles is vital for success in software engineering.
Before taking this class, I never really held myself to any real coding standards, other than the standard that my code should work correctly. Now that I have taken this class, I know more about the importance of coding standards and how to apply them to other projects not involving web applications or software engineering. For web application development and software engineering, coding standards are all about consistency and making code easier to read or understand. Beyond software engineering and web application development, coding standards are still very important when working on rewriting parts of your code, since having code that is easier to read ensures that simple edits are easier to make. Coding standards are also very important for working with other people, as having consistent coding standards for everyone in that group makes collaboration much easier.
Before taking this class, I was alson’t really sure how to work with others in a group on coding projects. I had never worked on a group project, and I had only had experience working on my own work, so I had no idea how to plan or separate work within the group. Issue Driven Project Management, which is a form of Agile Project Management, was very helpful for navigating group work for the first time. Issue Driven Project Management requires group members to meet twice a week to review progress, divide work into small tasks, document and assign each task on GitHub, and group tasks into milestones every 7-10 days. For web application development and software engineering, this process of project management was really helpful for keeping everything organized. Agile Project Management is something that I could definitely see myself using outside of web application development and software engineering, since it ensures that everyone is contributing, and that everyone has a role and is involved in the project.
Overall, I learned a lot this semester about how software engineering works in the real world. I learned how to effectively use coding standards to make my code more readable for others and how to manage work within a group. I gained valuable experience from taking ICS 314, and I learned about many concepts that I will probably use later in life, regardless of what I do. While I may not decide to go into software engineering, the concepts I learned were valuable, and coding standards and Agile Project Management are two concepts that I will hold onto.