DEV Community

Amir Sabahi
Amir Sabahi

Posted on

The Mindset of Respect in Software Engineering

I respect your time that's why I try to keep this post short and write to the point. Have you seen a messy code? No comments or long unnecessary ones? Have you seen complicated names or jargon around the code base? This list can go on and on. The code that does not follow the clean code does not respect you, the author himself, and the end user! Yes, I want to emphasize the word RESPECT. Why we need respect who is involved and how we can implement it.

Respect is about how we create something. We care about how we and others are going to understand, use, and further enhance it. As developers or software engineers, we create. Creation is not a solitary action. As a team and company, everything is related.

Respect is not just clean coed or following principles like SOLID and DRY. It is about how we have given it enough time and effort to think it through. John Ousterhout talks about strategic programming. He says

The first step towards becoming a good software designer is to realize that working code isn’t enough. It’s not acceptable to introduce unnecessary complexities in order to finish your current task faster. The most important thing is the long-term structure of the system. Most of the code in any system is written by extending the existing code base, so your most important job as a developer is to facilitate those future extensions. Thus, you should not think of “working code” as your primary goal, though of course your code must work. Your primary goal must be to produce a great design, which also happens to work. This is strategic programming.

We see respect through strategic programming rather than tactical programming which focuses on just getting something to work.

Now from experience, we can see that we create technical dept when have no respect. Of course, it can be unintentional. But while we code we can incorporate respectfulness. This is not an easy task. Especially, when we are in a rush to fix or to finish a functionality. Management is agitated and the customer is impatient. It is a tough situation. However, in all this pressure we should remain respectful. How? We should practice it when we are in days of undisturbed tranquility.

As a technical lead, it is you responsiblity for creating the culure of respect. Placing the stepping stones to ensure development teams understand and respect the power of creation. For example a good testing flow or code reviews can bring many issues into light.

In conclusion, the practice of respectful engineering is not merely about writing code but encompasses a holistic approach to the development process. It involves considering the impact on oneself, fellow developers, clients, and stakeholders. Without respect, the sacrifice of code quality is inevitable. Cultivating a culture of respect in engineering and development presents a unique opportunity to create software that is not only functional but also enjoyable for everyone involved.

Top comments (0)