Software Engineering in Life

10 May 2024

Truthfully ICS 314 felt like my first real experience with project based development. After 3 years of introductory classes and learning the languages, I was finally putting my knowledge and experience to the test by partipicating in software projects with a team for the first time. I’ve done amateur stuff with friends before but this class offered a truly new experience and a pivotal stepping stone for my career in the field. This is the type of experience I would expect from early internships and programs and I think it was important for me to experience overall.

Design Patterns

My experience with design patterns has been super critical to the way that I plan on programming in the future. It was incredibly time saving and efficient during development. Design Patterns are essentially blueprints for software engineers to follow to build the foundations of their code. WODs were the tests given throughout the course and utilizing design patterns efficiently was key to ensuring passing them. Many of the WODs featured recreating or implementing specific aspects of website and ensuring that it maintains all necessary functionality. Unfortunately we had limited time during these tests so every second counted. Thankfully this is where design patterns came in. I found them to be incredibly useful going forward even into our final project. Where a lot of the key aspects and functions used were based on structures we’ve already used throughout the class.

Coding Standards

I’ve known of Coding Standards since my first experience with Java a few years ago. It was promoted as a commonly used tool that is equivalent to grammar. It forces programmers to write in a uniform manner that makes code universally comprehensible. While it seemed a bit tedious at the start, it is vital in a team project setting and thankfully is becoming easier to use with modern plugins and IDEs. ESLint is an example of a tool we used heavily in the class. ESLint standards forced our code to be maintained neatly and sensibly. It required perfect indentation, spacing, formatting, and more. While it may sound restrictive it actually proved to be very useful and ensured that there was no redundant code or typos in functions. My experience with it under the direction of the class was very positive overall especially for our team final project. Through it I’ve learned that coding standards establish the regulations and principles that connect teams. Allowing us to develop code that is not only more efficient but also easier to comprehend, scrutinize, upkeep, and expand upon. Despite myself learning this under a coding context, I’d argue that having uniform methods of productivity can be applicable in other fields. Education is a huge field that focuses on uniformity. Where school districts determine the parameters the teachers need to be following.