For the Love of Software

11 Dec 2023

For the Love of Software!

Software Engineering

Down the Road…

After coming thus far into the semester and closing up the books on my first software engineering class, there is much that I have learned. Whether it be something that I have learned, or something that I have learned that I yearn to learn. From open source coding to software design patterns, there are many aspects about software that I am still trying to wrap my head around. Although proving difficult, the content covered within this course was an eye-opener. Everything that I have learned so far via ICS 111 all the way up to now have been connected in ways that I never thought possible.

Code Style

Code style was one of the very first things covered in this course and I appreciate how significantly noticeable my code is now compared to my 111/211 semesters. Visually seeing the change in way of how I organize my thoughts into code as well as how I would approach different problems is astonishingly pleasing. Although University forced me to jump around multiple languages, I have gotten used to changing gears for syntax and semantics, but the fundamentals prevailed.

The Power of WODs

The fundamentals of my programming capabilities were surely tested throughout all of the WODs within this semester, but have proven beneficial. Not only am I able to ethically use all resources available to me, such as chatGPT and other sources, I have also developed the skills to find errors within my code and swiftly correct them. Of course, as I have stated in previously published essays, WODs have had many more impacts onto my skills as a developer, which may be found in respective essays.

Project Management

Within the last month (roughly) I have learned what works and what doesn’t work within a group of developers that are concurrently working on a project. Github has powerful tools to help organize the work that needs to be done, who is available to do work, and the action of actually splitting up the work. It is also helpful how Github allows us to see what changes are made to what files and the last update for the files. Consequently, tracking bugs within a branch push and the ability to review code before pushing a branch to the main branch of the repository was crucial for putting together a final version of the software.

Given Tools

One final aspect that I wish to share, is the use of all tools within IntelliJ, VSCode, etc. can drastically improve work efficiency. From wrapping elements with ‘<>’ or something as simple as refactoring, everyone should learn and abuse these tools.