Engineering Software, Engineering Soft Skills

18 Dec 2019

My initial assumption of software engineering was mostly programming. I couldn’t find a common thread throughout each ICS 314 module until the final project, but the class, even though it was flipped, was structured in such a way that it entailed a decent amount of coordination with others, and I’ve realized that collaboration is an aspect of software engineering that is important but overlooked. I think that this structure actually might capture the nature of working a software engineering job in that you work with others to create things to enhance the lives of people in some way.

By the People for the People

ICS 314 says goodbye to Eclipse, the IDE that we used for about a year in ICS 111 and 211. The first month actually doesn’t involve a new IDE and the coding is done on JSFiddle, a website that runs JavaScript, HTML and CSS code. We are then introduced to IntelliJ IDEA and GitHub. IntelliJ allows users to do everything Eclipse allows, but has a bunch of plug-ins to do so much more. In IntelliJ, we also installed a plug in called ESLint, which ensures that the code is error and bug free, and is well organized. This is especially helpful if the code will be viewed by others. GitHub works like a cloud meant for code. Gone are the days of zipping files and sending them via email or pasting the code onto a text document to share via a cloud! GitHub also access for people to view others’ code, and allows users to fork code that they like if they wish to modify it too.

Why Software Engineering?

My high school chemistry teacher said that we could program the quadratic formula into our graphing calculators to save time on the test. The potential to improve something that already exists is one of the most attractive aspects about computer science to me. On the other hand, coding feels overwhelming knowing that there are several ways to accomplish a task and that one bug could prevent the program from functioning properly. Regardless, one of the most interesting parts of ICS 314 was being able to see something tangible–the final project–come about from something intangible, the code.