A Software Engineer's Responsibility
Do you remember the last time you regretted a purchase? Maybe you spent your hard-earned cash on a product only to find out that the quality was much lower than expected. Would you consider buying from the same manufacturer again? Probably not.
Here are some examples from my personal life:
- The last fridge I bought started to malfunction after less than a year.
- A time tracking app that I paid for worked great at the beginning but became very slow after about a year.
- Sometimes, a pack of vegetables that I buy is already moldy when I open it at home.
In all these cases, there were serious quality issues. The notion of quality expectations translates well to IT and software development in particular. In my opinion, software engineers have three main responsibilities:
- Understanding business needs and solving problems with technology
- Making efficient use of the given resources by finding suitable tradeoffs
- Ensuring quality expectations are met
We have already talked about the importance of responsibilities one and two. Starting with this post, we are going to talk about software quality.
Why is software quality important? Can’t we just change a few lines of code if we are discontent with the current state?
The short answer is no, software quality is a complex subject, and we cannot simply ‘add some quality’ at the end of a project. Producing high-quality software requires awareness of typical issues and the solution concepts that we have at our disposal.
In the next post, we are going to talk about the consequences of bad software quality.
What is your experience with software quality or bad purchases? Feel free to share your thoughts.
Note: You can also find this episode on YouTube and Spotify.
#SoftwareEngineering #Quality #ITProfessionals #CustomerSatisfaction