A Reflection on Software Engineering

13 May 2021

User Interface Frameworks

I can vividly recall back to the beginning of the current semester when myself and my fellow students were asked to create an aesthetically pleasing webpage to display information regarding iconic surfers. The page was to be written using only html for the layout and css for the styling. The task was difficult to say the least. Getting some text to render to the page was easy, but the issue came with making it not look like something that came straight out of the internet’s formative years. Aligning images and associated text into a grid proved to be tedious, and really only worked for aspect ratios within a certain range. As soon as the window size changed words would bleed off of the page and the illusion of aesthetically pleasing webpage was broken.

Luckily my classmates and I weren’t left stranded with our poorly formatted html documents — our Professor Johnson arrived with the promise of the Semantic UI framework. You see, somewhere along the way software engineers realized that the process of creating webpages contained a lot of tedious elements — elements that could be simplified. Just like how I described in my essay regarding software design patterns, software engineers recognized many reoccurring tasks that appeared in the domain of web development. Instead of reinventing the wheel everytime they wanted to display an image or align text into columns, software engineers developed a set of tools to aid with those tasks. This is what the Semantic UI framework does — it provides software engineers with a set of tools to easily display elements to an html document without unneccessarily wasting the time to reinvent the wheel, or in this case a grid.

Ethical Webpages

As the semester progressed our knowledge of software engineering principles grew, and we began to dip our toes into the waters of web application development. It was sometime during our final project where I began to realize how important it was for me to consider the ethical responsibilites that came with creating a product for the world. I recall back to a reading regarding a malicious webpage targeting women in order to push a product. The website was disguised as general information site that recommended a medical treatment for young women who compelted a questionnaire, except regardless of the answers the user would always be recommended the paid client’s drug. The practice wasn’t illegal but the drug contained some pretty severe side effects such as depression and suicidal thoughts, which ended with some very major and unfortunate consequences. Growing as a software developer means more than just gaining the technical know-how to build an aesthetically pleasing webpage; it means understanding how the presentation of information and development of projects released in the world can have serious and lasting impacts. It is important to work together with others towards creating helpful and useful projects instead of creating harm, and that is a lesson I plan to carry with me moving forward.