“It’s not my code” Syndrome

Multiple times in my career I stumbled upon a phenomenon. It always goes on in exactly the same way:

I am working on some legacy code and I find an issue with performance, lack of comments, bad practices, etc. Then I discuss the issue with my colleagues. Usually the people I talk to just shrug their shoulders, saying “It’s not my code”. They use this phrase to dismiss the conversation and leave the things as is. I call this “It’s not my code” syndrome.

In my opinion high staff turnover is typical for software companies. There are so many job openings on the market that people come and go. That’s especially true for old projects. Typically a lot of different people have worked on projects, that have been developed for many years. These people have different skills and at the end the quality of the software ends up inconsistent. Issues accumulate with time.

Broken windows (image by Jason Stephens)

Broken windows (image by Jason Stephens)

I believe in the “Broken windows theory“, applied to software. According to the theory:

Consider a building with a few broken windows. If the windows are not repaired, the tendency is for vandals to break a few more windows. Eventually, they may even break into the building, and if it’s unoccupied, perhaps become squatters or light fires inside.

The bottom line of this theory is that you should fight small problems, to prevent bigger ones.

Back to software – issues tend to accumulate with time. That’s why it is important to fix small issues when found, no matter who the original author of the code is. The purpose of reporting issues is to improve the software quality and not to point fingers. Everyone makes mistakes, but the mistakes should be fixed when found and not ignored. Ignoring issues leads to the accumulation of more issues:

  • why bother writing comments when the existing code doesn’t have any?
  • why bother about performance, if the code has poor performance already?
  • etc.

If you are working on a project, then it’s your code and you’d better fix it. So next time when someone reports you a problem, please think twice before dismissing him/her with the phrase “It’s not my code.”

You can leave a response, or trackback from your own site.

Leave a Reply