Software Development Takeaways

16 Dec 2019

Web application development is but a medium that one could use to learn solid software engineering concepts. Understanding these concepts will build a foundation for a quality software engineer. The 314 computer science course at University of Hawaii at Manoa will teach one configuration management, functional programming, coding standards, agile project management, design patterns, testing, and ethics in software engineering. Some topics related to web development specifically include development environment, certain programming languages, along with user interface frameworks.

One of the most important aspects of this course is Issue Driven Project Management. I can absolutely see myself using this in the future for any project, be it by myself or with a team. It utilizes GitHub along with a project board to highlight issues with the project. These could range from simple bugs or additional features that need to be added. Then, these issues could be assigned to individuals involved with the project. This allows for organization and accountability. From the point of view of a team member who got assigned an issue, there is a task for you to work on. After you are done with the task, you know what issues to work on next. You are rarely blocked because you are waiting on someone else to finish their issue. This makes the best use of everyone’s time and moves the project along at a faster pace. As a bonus, everyone else can see what every else is working on, and where the project is in terms of development.

I also found that having some sort of a coding standard is hugely beneficial to everyone involved with the project. These days coding standards are widely used, but we don’t appreciate how useful they are. Let’s imagine a world where variables have no rhyme or reason to how they are labeled. Maybe the project structure wouldn’t have clearly labeled folders and organized files. What if the format and indentation style of each developed varied greatly? These are things we don’t think about because they exist and are in place. My most recent project was a small one that included only 4 other people. However, the code looks like it was written by one developer. From a programmer’s point of view, this makes its extremely easy to navigate and understand parts of the project that was written by others.

These are just two of the most important skills I obtained from this software development course. I truly believe I will utilize these in my personal and professional projects.