Saved By Software Engineering

10 May 2022

Where to Begin

Software Engineering (ICS 314) provides countless knowledge and learning points to hold onto once the course ends. One of my favorite elements of the class is the pedagogy, Athletic Software Engineering (ASE). ASE creates an environment that may seem high-stakes with the WODs (workout of the day), but after practice, the experience is more similar to stretching and building strength as a software engineer than being thrown into a high-stakes game. ICS-314 gives you a chance to spread your wings and fly. However, it is entirely up to you where you want to go.

Agile Project Management

Agile project management is a developmental process that aims to finish projects efficiently. Implementing agile project management broke down my final project into milestones (3). Breaking the final project down into multiple milestones creates a more manageable process. In addition to being more manageable, the milestones allow mini-deliverables to test and always have something to show and build on as you move on to the next milestone.

With the final project being group-based (5 people), it is easy to get disorganized. Using issue-driven management (agile project management method), we sort issues into their own branches keeping the project organized. With this approach, we can also prioritize issues that need addressing. Afterward, each group member can break off and work on their corresponding issue’s branch without any holdup. As each group member resolves their issue, they move on to the next one. The entire process is similar to dividing a puzzle into mini sections and eventually connecting it to make one puzzle.

Coding Standards

Coding standards are a necessity for software engineers. Regardless of the different backgrounds and levels of experience, in a group project there needs to be rules to follow to achieve a certain standard. ESLint is the coding standard of choice for ICS-314, and at first, the red squiggly lines (ESLint errors) came with much frustration. After practicing, I quickly understood how to avoid the ESLint errors altogether and garner the green checkmarks keeping a constant standard. All group members in the final project abided by ESLint rules, keeping the project clean of unnecessary and unused code. In addition to keeping it clean, each group member could effortlessly look at each other’s code and understand and collaborate effectively. Achieving a high standard (coding or not) is essential for career development and always something to strive for and exceed.

Where to Next

Software Engineering gave me valuable information to take with me in the future. Most classes tend to be one-dimensional and non-applicable outside of their classroom. ICS-314 is not like those classes. While the curriculum is computer-science-based, the bigger picture of the modules teaches you to adapt, be versatile, and learn to manage more efficiently. It’s safe to say I was saved by this class, it gave me insight into what I want to do, and where to fly next.