Discussing the Issue of "Should You Fix Other People's Bugs?"

Discussing the Issue of "Should You Fix Other People's Bugs?"

Daily short news for you
  • One thing I find a bit confusing is that Postman requires an internet connection to function, everyone. This has probably been the case for several years now; back then, many people complained about it, but it’s still the same, still needing the internet to work.

    They must think that IT folks always have internet access, which is why they added the requirement for a network connection just to be safe. Indeed, I am rarely or never affected since I always have internet while working. However, I believe many others find this issue extremely frustrating. Proof of that is that after this incident, quite a few open-source projects have been created to replace Postman.

    Among them, I see the most notable one is hoppscotch. The interface looks quite similar to Postman, but it seems "nicer" 😁

    » Read more
  • Have you ever tried reading the Google Analytics (GA) API documentation? The first time I read it, I was completely lost, not understanding what they were presenting, what the next steps should be... in general, the way it was presented was so convoluted that I couldn’t read it all at once to get immediate results.

    However, if you interact with it more, you'll find that it follows a certain standard. This means that the next time you read it, you'll know what to read first and what to read next, and then move on to the steps to get results, which makes you a bit more proficient. While I was fumbling around with the GA API, I discovered this website that helps me quickly test queries for results, and then I just need to copy the query and put it into the API. Quick and easy! 😅

    GA4 Query Explorer

    » Read more
  • Aha! I'm leaving this here so I don't forget. act is a tool that helps us run GitHub Actions on... our own computers.

    There are two reasons to do this. The first is speed; you can immediately check if the GitHub action configuration in the workflows file is correct instead of having to commit and then wait to see. The second is that you can completely build a system of actions that works right on your machine without needing to use GitHub Actions anymore 😆

    » Read more

The Issue

Hello readers of 2coffee.dev, today let's take some time to have a conversation. The topic of today's article is "Should You Fix Other People's Bugs?" Well, this question might seem simple. Of course, when you work for the same company, on the same team, and the same product, everyone collaborates and fixes bugs together, right? Why even ask this question?

That might be the thought of many when it comes to fixing other people's bugs. But I believe that, aside from that, there are still people, including myself, a few years ago, who found this somewhat "hard to accept."

During my working years, all the companies I worked for were involved in some product, often referred to as "Products" companies. Being responsible for a position in a project, for example, a Backend or Frontend developer, means ensuring the development of features in their respective areas.

Typically, when making a decision to develop a new feature, after going through numerous steps to reach the "dev" team, the next step is to plan and assign tasks to each team member. For example, if a feature involves four main tasks after analysis, I might take on two parts, while others handle the remaining two. During the development process, I have to take full responsibility from start to finish until the feature is completed and released to users. This means that if there are bugs, QC will assign them to me, and I need to fix them.

However, when moving to a different team, the development process changes, especially when bugs are not assigned to the person who developed the feature but are randomly assigned to equivalent team members or at the discretion of the manager.

At this point, many issues start to arise. Trying to fix other people's bugs feels like having to fully understand their code before touching it. It took me more time to understand what others were thinking, more time to communicate, and even more time when the bugs I introduced outnumbered those I fixed. It was indeed a terrible experience, and I felt unreasonable for a long time.

The issues mentioned above only occur when intervening in deep logic, not to mention simple errors like syntax errors or missing filter conditions. If it's a simple error, anyone can recognize it and quickly fix it. But what I want to emphasize are more complex errors related to business logic. Yes, just hearing about it is already giving me a headache.

So, the question I asked at that time was: Why should I fix other people's bugs? Isn't it their responsibility, as they understand the code they wrote and should be responsible for correcting their mistakes?

Why Should You Fix Your Own Bugs?

Setting aside the emotionally charged question above, let's analyze the benefits of fixing your own bugs.

Firstly, I am the one who created the bug, so I need to take responsibility for it. Having to be accountable for the mistakes I made will make me more thoughtful when writing code because I know it's a mistake I caused and have to "punish" myself by fixing it. Imagine if a programmer, for whatever reason, keeps creating errors, and you are the one who has to bear the consequences. Would you be happy to accept that?

Moreover, they are the ones who created the logic and understand it. If there's a bug, they can quickly deduce where the error is or how to find it most efficiently, rather than guessing and spending more time on debugging.

Another part of it is due to the company's or team's culture. Depending on the way things have been done historically, each manager has a different management style, believing that whoever created the error should be the one to fix it to save time. In this workflow, QC also automatically assigns bugs to the person responsible for the feature. Doing so streamlines the process and saves a significant amount of time.

Why Should You Fix Other People's Bugs?

So, is fixing other people's bugs really as "terrible" as I once thought?

Firstly, one thing needs to be established: the source code belongs to the company or organization. Therefore, everyone is responsible, or in other words, everyone may have to take responsibility for the code in the project. Everyone needs to be prepared to fix any arising bugs. This places emphasis on personal responsibility and teamwork.

While it takes time to understand the logic before fixing bugs, in return, you can grasp someone else's work. If, by chance, the author of that code gets sick or, worse, leaves the job, other team members can step in and continue the work without interruption. When new team members join, the process repeats, and they quickly grasp the work culture, making it easier for them to adapt.

Improving the workflow is another aspect. Remember the advantages of fixing your own bugs; it can highlight an uncomfortable truth about an unstable workflow. Ask yourself: Why can't person A, who is on the same level as person B, fix B's errors? Suppose A says that B's code is hard to read and understand. Where does the problem lie when it comes to code review? Why allow B to write code that is hard to understand and still approve it? Perhaps there is no common rule for coding in the team? Similarly, maybe people didn't discuss the logic before starting the work? Only when the person primarily responsible for that logic is absent does no one understand what they wrote anymore.

So, Should You Fix Other People's Bugs?

From my perspective, you should, but it's not mandatory.

As mentioned, it depends a lot on the team's culture and the company's history. If your team allows individuals to fix their own bugs and finds everything smoother and faster, there's no reason to change. On the contrary, a team with a culture of "sharing" bugs among peers will transition to a more continuous workflow.

Conclusion

As I shared my story, I had never thought about fixing other people's bugs before. At the beginning, it felt irrational and uncomfortable to spend a lot of time re-reading someone else's logic, not understanding some parts, or being afraid to fix them because of the fear of introducing more errors. However, over time, the difficulties will pass, and you will gain a better understanding of the project. How about you? What do you think about this issue? Leave a comment below!

Premium
Hello

The secret stack of Blog

As a developer, are you curious about the technology secrets or the technical debts of this blog? All secrets will be revealed in the article below. What are you waiting for, click now!

As a developer, are you curious about the technology secrets or the technical debts of this blog? All secrets will be revealed in the article below. What are you waiting for, click now!

View all

Subscribe to receive new article notifications

or
* The summary newsletter is sent every 1-2 weeks, cancel anytime.

Comments (2)

Leave a comment...
Avatar
Huy Tùng1 year ago
Blog của bạn rất thú vị nhưng mình tìm mãi ko có chỗ subcribe để nhận & noti bài viết mới :(
Reply
Avatar
Xuân Hoài Tống1 year ago
Xin lỗi bạn vì sự bất tiện này, thực ra là blog có phần nhận thông báo tuy nhiên nó hơi "ẩn" một chút xíu. Nếu muốn nhận notification cho bài viết mới bạn có thể thao tác: Ngay lần truy cập đầu tiên, góc phải phía dưới màn hình có một thông báo sử dụng Cookie, bạn bấm vào đồng ý, sau đó tải lại trang hoặc đọc một bài viết khác thì một thông báo khác hiện ra nhắc nhở bạn bật thông báo bài viết mới. Sở dĩ mình làm thế vì những người quay lại lần 2 hoặc đọc nhiều bài viết sẽ có nhu cầu theo dõi cao hơn so với người chỉ đọc một lần. Tuy nhiên thì với gợi ý của bạn, mình sẽ xem xét bổ sung thêm tính năng nhận thông báo rõ ràng hơn trong tương lai 😄.
Avatar
Thành Đỗ1 year ago
Tóm lại là nên kết hợp cả 2, vừa sửa lỗi mình, vừa sửa lỗi người khác :))
Reply