The Foundation to Every Software Development Project

07 May 2022

ICS 613 has been an extremely helpful class for learning software engineering and web development. Numerous different topics were covered that have applications beyond web development. Functional programming, development environments, and coding standards are ICS 613 topics that I can see myself using the most in different projects throughout my software engineering career.

Functional programming is a programming paradigm that uses expressions to produce a value from a function. Functions perform some computation and a value is returned at the end of the function. Libraries, such as Underscore, perform functional programming. Functional programming is relevant to many of my other coding projects. In my machine learning class, we use functional programming to execute mathematical computations on datasets. There are various methods and each method does some computation that another method uses to return some value at the end. Similarly, at my software developer job, functional programming is used on a variety of data, such as GPS coordinates and speed, to transform it into something more useful.

Every programmer uses some kind of development environment to do their work. A development environment is a software development tool that has language-aware editing, project definition facilities, integrated compilation, and a debugger, to list a few. In ICS 613, we used IntelliJ. For an internship interview I had recently, there was a technical coding problem I had to complete. I used IntelliJ and functional programming to solve the problem. The skills learned in this class helped me solve the problem. Furthermore, at my job, I use Visual Studio to complete my tasks. Without using a development environment, I would not be able to run my code and view the application that I’m helping make. Development environments and a coding career go hand in hand.

Similarly, coding standards are another essential part of software engineering. It is important that there is a standard for how people code to ensure readability by others and yourself. Enforcing coding standards is nearly impossible without automated tools to help. Luckily, development environments come with tools to help ensure good coding practices. In any coding project I take, I have to have code that conforms to coding standards. I check my projects for interviews, work, and homework assignments. This is important especially on team projects because if there’s an issue, you may ask a colleague. If your code does not conform to coding standards, other people will have difficulty reading the code and may be unable to help.

Overall, the topics taught in this class will be relevant to other coding projects I work on. Functional programming, development environments, and coding standards serve as the foundation for all software engineering. Every and all coding project implements these concepts.