Important Software Engineering Topics

10 May 2021

Topics every software developer should know

Software engineering is a vast topic consisting of numerous languages, frameworks, database management, and many other technological stacks. As an undergraduate student pursuing a degree in Computer Science, the class ICS-314 has been the most exciting and fruitful class that I’ve taken so far. Not only was I able to brush up my knowledge in programming, but I also learned lots of newer concepts that are practical and mainly applied in real life. Out of all those concepts, I’ve briefly explained my take on the few that helped me grow as a software developer.

Configuration Management:

Learning configuration management is a crucial skill in software development that I’ve acquired in class ICS-314. Configuration management is a prevalent yet straightforward and valuable topic that helps us manage configuration in an effortless and sophisticated way. I’ve used Git and Github to manage the project files, allowing me and my group mates to access, update, or refactor our source files easily. Furthermore, it helped us keep track of the entire history of our project. In the extreme case when our program breaks, we can quickly revert to the previous version and easily identify the malware by comparing two versions of the same program.

Another remarkable feature of Github is that it is like a social networking site for developers. It provides us the ability to share codes, acquire skills by looking at other people’s code, and most importantly, show off our works in hopes of getting recruited by top-notch companies. Github provides the feature to work on the same project as a team where each team member can simultaneously make changes to the application, create project boards where team members can keep track of the progress, and assign tasks to each other.

Coding Standard

Coding Standard is one of the essential skills that a developer must-have. It provides a set of guidelines that a developer should follow while writing code in any language. The importance of coding standard often gets overlooked because it doesn’t make or break things directly. However, it is a very critical attribute of software development.

To put things into perspective, say that a developer develops a program that is working as it should, suddenly the program breaks, and another developer has to fix the bug by making changes in the source code. If the program is poorly written without maintaining coding standards, that would be a nightmare for any developer to fix whether the developer has basic or advanced skills in the particular language. Coding standard ensures that the code is well organized and easier to understand. It’ll save a significant amount of time while debugging and also prevents frustration and unnecessary stress. In addition to that, it’ll boost the developer’s credential.

The coding standard tool that I use to maintain the quality of my Javascript-based code is ESLint. ESLint runs numerous checks to ensure that my code is well organized without errors and unnecessary variables and imports. It verifies that the code is more consistent and free of bugs.

These are the two concepts that are most crucial for every software developer. There are few other topics that are equally important, which I’ll add to this page in the future.