Sunday, November 23, 2025

When developers forget to be developers

Oftentimes, I would be discussing a task with a fellow developer, and when an interaction scenario is brought up, they would say, “Okay, I’ll make sure to test that.” Their implementation seems to be targeted at handling the new functionality that is requested, and they have no plans of handling anything else unless something is detected not to work.

But a developer’s task is to develop a solution that will cover interaction scenarios. While testing is necessary, developers should first develop. 

Some interactions can only be found from the code. This is because they arise from the way the code is implemented, rather than the way the product is used. This is commonly the case for race conditions. While testers can carry out tests where they execute two (or more) functionalities at the same time to see whether everything still works properly, if they do not hit a specific timing, the tests may still pass when there is a bug in the code.

However, a developer can easily detect a race condition from the code, if only they were to think of the interaction scenario in the first place. Then they can handle the scenario properly. 

(I stress the “if” above because it often happens that detecting interactions is overlooked. But that would be a separate discussion…)

To all developers, take note: If a scenario works when you test it, but you don’t know how it works, you did not develop that solution. So remember to do your job as a developer!

When developers forget to be developers

Oftentimes, I would be discussing a task with a fellow developer, and when an interaction scenario is brought up, they would say, “Okay, I’l...