Code Review is a Waste of Time

Igor Vorobiov
3 min readFeb 18, 2018

--

Software developers should trust more to each other and be less selfish. Code reviews were introduced with intent to improve quality of the code, but in reality, it is an opportunity for senior developers to show off and increase their self-confidence.

Endless Debates

Humans are selfish, so do the software developers. We tend to love our own code more than anything else, and hate other developers’ code if that is written in different way. Exactly, you might don’t hear that directly from them, but believe me, we hate to see “strangely” written code. We are very sensitive and emotional about that.

There is no perfect code

Code reviews incites endless debates between developers. A developer cannot resist the desire to prove another developer that the way he writes the code is wrong.

Usually, developers do code reviews from their own perspectives and don’t like to consider different approaches as right ones. We prefer to believe that our approaches are the correct ones only. It’s explained by the fact that we as human beings are too lazy, and spending time and energy to solve already solved problem is too painful for us.

Another developer in turn wants to be recognized, and therefore, pitches his arguments and use cases to convince the reviewer that his approach to solve the problem is better and more optimal.

This brings the developers to endless debates which in the end hurts the company and the business. We as developers should trust more to each other and let others make decisions on their own.

Overthinking

The more you look at the code the more you want to change. That’s called overthinking.

Overthinking is another problem appears when doing code reviews. Even if the code looks good from the first glance, subconsciously, we want to find something bad in it. Naturally, we feel good when we are useful in something, and finding something bad in the code makes us feel useful. Whatever you say about the code reviews, in the end, it’s all about finding defects (aka smelly code) in the code.

With that in mind, if you give the “improved” code to the same developer to review it again, he will find more things to improve. Moreover, if you give the same code to another developer to review he will find even more defects. Funny, but if you give the same code to the first reviewer after sometime, he will find much more problems in the code than it was initially.

But, we still need to do code reviews…

Nobody cancels code reviews

One might say that we still need code reviews because it reduces number of bugs in the code. While that could be true that is just a coincidence.

We cannot do code reviews just because we want to have less bugs in our code. For that, we should learn how to write effective tests, but this is another topic to discuss.

We still need to conduct code reviews for newcomers and juniors.

Newcomers could be experienced developers coming from different companies, and therefore they are not well familiar with a new project. At the same time, it doesn’t mean that they have no idea what they are doing, and they must not be treated as junior developers.

Senior developers have already written a lot of code throughout their career and solved a lot of problems. They already have their own established opinion about the things. Therefore, they could be very resistant when it comes to changing their thinking. It’s better to focus on solutions and approaches specific to the project and try to explain why certain things work this or that way.

Additionally, conducting code reviews for the newcomers could be very useful in the very beginning. This will help them to get familiar with already established approaches and solutions in the project. However, one should not be too strict and picky when doing the code review to avoid problems mentioned above.

While senior developers have a big experience behind their back, junior developers are not that experienced and need more supervision. They tend to experiment with the code and might push really messy stuff to a repository. However, I would also limit the frequency of code reviews for them. Doing code reviews to often might undermine the trust in the team and this is not good in the long run.

All in all

Code reviews are not completely useless. It’s not a waste of time when doing them when needed and in right way.

--

--