DEV Community


Posted on

A small philosophical consideration of the connections between code quality and team satisfaction

I want to share a few thoughts on the connection of code quality and the good cooperation among teammates with you. These are based on my personal experiences in work life and on some articles I recently read, dealing with difficulties and conflicts with teammates.

Do these two topics share any connection? I think: Yes.

Let's start with the topic of good cooperation. I think that most of you will agree that software development includes team work for a large proportion. And, although this is not a guarantee that the result will be a good one, it is way more fun and there will be minor stress, if everyone gets along with everyone else.

But this is not always the case. It can't be because we all have different mindsets, different culture, education and different notions on what is good and what is bad. No wonder that there will be minor or major conflicts that disturb a nice working environment. However, in a professional environment we somehow have to deal with this. There are lots of articles and books written about this topic (even some here on Thank god, because our daily work takes so much lifetime and it would be a pity if we waste it on only dealing with personal conflicts every day.

I recently thought that the code quality has a major influence, not only on the software quality, maintainability, etc., but also on our being together as human beings.

As I already mentioned before, software projects can be stressful (or most often are). And when we are stressed, we don't want to lose time. And this is where code quality comes into play.

In a stressful situation (e.g. time limits in a project, tc.) we don't want to lose time having to understand what our teammate did. We don't want to lose time by having to ask, getting a technical explanation that we don't understand immediately. This makes us nervous, stressed and angry. Often resulting in things that we say that we don't mean, up to thinking that our teammate didn't understand anything and is a complete idiot. And here we are: Serious conflict!
Does it help us in making progress, feeling good or work in a peaceful environment? I don't think so ...

By keeping our teammates in mind when we produce source code and try our best to keep it read- and understandable, we are able to reduce a great source of conflicts in our team. It also has some positive effects on the software itself (maintainability, extensibility, etc.). If we try our best to write our code in a readable way (and the readable way most often is not the one that is shown in tutorials, or technical explanations of new technology, etc.), we allow our teammates to better deal with stressful situations. Allowing them to quickly understand what we did and therefore removing a source of conflict. We give them back time that they are longing for! And having more time for other things reduces stress.

It is the same with books. Do you want to read books that are difficult to read or that you don't understand? No! Do you want to read books to get angry? No! Do you continue to read books that are difficult to understand? Normally not! (Ok, normally you don't have time constraints on reading a book, but I think the comparison is still a suitable one).

Focus on your work, use the existing technologies, apply your skills, but also think about the other teammates that will have to work with the source code you produce (the ones that represent you when you are on holiday, the ones that subsequent you when you move on and the ones that have to maintain your work).

A professor of mine once said when I attended a lecture in university: Wouldn't it be great if we would be able to write source code in the form of poems by Goethe or Shakespeare? This would be the ultimate goal of writing source code. Of course this is a total utopia, but I never could forget this sentence because it really has some truth in it.

Therefore, every time you write some code, also think about your teammates: Put your own ego back, avoid complicated constructs that show how brilliant you are. It will result in a much more productive and peaceful work environment.

I hope you could follow my thoughts and grasp the idea behind my thinking. Don't focus too much on new technology, also try to improve your code writing skills and therefore provide you and your teammates a peaceful and respectful co-working time!

I'm looking forward to your comments and thoughts about this!

Top comments (0)