Friday 7 January 2022

Five Software Development Takeaways From the COP Saga in 2021

In sunny Singapore, the Committee of Privileges (COP) saga took place last December, just a month ago. It all began when Raeesah Khan, an MP from the Worker's Party, was caught speaking a falsehood in Parliament which directly implicated the Singapore Police Force.

Time passed, and she repeated the lie in Parliament, and subsequently confessed when pressed on it. The fallout from this was that she had to resign from the Worker's Party, and the Committee of Privileges was formed to investigate the possible culpability of Worker's Party leadership in this debacle.

There has been a lot of coverage on YouTube concerning this investigation, with the hearings (the combined durations more than thirty hours in all) of different witnesses publicized. As a Singaporean, I have taken an interest and listened to almost all of the footage. As a software developer, these were the lessons I gleaned.

1. Diversity Hires

When Raeesah Khan first won her seat in 2020, there was this article from The Independent Singapore that made this big song and dance over the fact that she was the first female minority Opposition, and the youngest MP in Parliament. This turned out to age badly, considering what trouble Khan has gotten herself into since.

An MP deceitful enough to lie once in Parliament, and foolish enough to double down on that lie a month later? What really gets me was that there was so little to gain from this. Politicians lie and cheat in order to embezzle huge amounts of money. What were Khan's motivations? She wanted to make the police look bad. Furthermore, the incident she had described in Parliament had not been personally experienced, but something she had read off a WhatsApp chat group conversation. Passing off WhatsApp anecdotes as fact is the province of clueless Boomers, not an MP.

Make the police
look bad.

During her hearing, it was revealed that Khan was against resigning from the Worker's Party because she was worried about how this would impact the image of female minorities in politics. With all due respect, that ship appears to have left the harbor the moment she got caught in the lie. If it's any comfort, unlike those idiots at The Independent Singapore, I never saw Raeesah Khan as a female minority, much less considered her any representative of such. All I ever thought of her, even when she won her seat, was as this dangerous loose cannon with an axe to grind against the police.

This is a valuable lesson for hiring in tech. Stop focusing on age, gender and race - largely immutable traits - of your candidates and instead focus on what they have accomplished, what they are currently doing, and what they can further accomplish. Hiring people for the sake of fulfilling some nonsensical diversity quota can come back to bite you in the ass when they inevitably screw up because you cared more about the color of their skin or their genital plumbing than their actual ability.

2. Explicit Instructions

According to Pritam Singh's testimony, his instructions to Raeesah Khan were to "take ownership and responsibility" and that she would not be judged. Somehow, according to her, these were license to double down on that lie later in Parliament. I'm not sure how "take ownership and responsibility" translates to a choice for anyone to continue lying in Parliament. Maybe to a complete child. But this is not a child we are talking about. This is a democratically elected Member of Parliament.

Clear and unambiguous
instructions.

Could Pritam Singh have been more explicit about ensuring that Khan clarified her falsehood? Sure. Should he have to? Absolutely not. Remember, this is not a child we are talking about.

But this is the thing about operating in a professional environment. Sometimes, you feel that certain things go without saying. And this can go badly.

As a software developer, I find myself having to check the input that users give me via the system. Of course, I feel that anyone with even an ounce of common sense would be responsible about faulty data and do their due diligence before sending me a potential mess that I have to clean up later. Unfortunately, people tend to do what they think they can get away with, especially if their hands are full. Therefore, now my correspondence with users contain explicit (sometimes sternly so) instructions to ensure cleanliness of data before handing it off to me. Should I have to remind people to do their goddamn jobs? Fuck, no. But this is the reality I have to deal with.

3. The Price of Authority

Regardless of whether or not you believe that Pritam Singh was complicit in the lies that Raeesah Khan continued to tell in Parliament, there is one glaring, inescapable fact: he is the leader of the Worker's Party. The buck stops with him. As such, Khan's membership in the party is at least partially his fault. As for her candidacy in 2019, that is definitely his fault. The fact that such a flawed character ended up as a Member of Parliament, is down to his failure in terms of character judgement.

Real leaders
don't play
the blame game.

That is the price of authority. When something happens, you ultimately have to shoulder some of the blame, if not all of it.

In tech, I have encountered CTOs and team leads who love pointing fingers, not understanding how completely stupid this makes themselves look. They are in charge; everything is their fault. Even if they did not personally write faulty bug-ridden code, they are responsible for approving it. If bugs persist in the product, they have to shoulder the blame for not addressing the issue sooner.

They are in charge. The buck stops with them. Failure to accept responsibility is poor leadership. Very poor.

4. Due Process

The long and drawn out process of the COP has had mixed reactions. From supporters of the Worker's Party, mental fatigue and lamentation that this was a waste of time and taxpayers' money. From supporters of the People's Action Party, baying for blood. Both predictably so. But these are simple-minded villagers masquerading as political commentators, and their views are inconsequential.

Instead, consider this: why did the PAP make this public, and publicize these videos on YouTube? Bear in mind that Singapore is a democracy. As such, we are under certain obligations to due process, no matter how onerous and how tiresome the process may be. You cannot claim to be a democracy and yet eschew the portions that are unpalatable. That is simply not how things work.

Due process is important.

Singapore's Government needed to show the rest of the world just how seriously we take democracy. Singapore's image as a stable and conducive place to conduct business, was at stake.

Due process is another big factor in Agile Methodology. Code sprints are capped off with code reviews. System Integrated Testing. User Acceptance Testing. You cannot claim to be "Agile" and yet do away with integral components of said Methodology.

Would I get more work done without having to deal with Sprints? Are Retrospectives a gigantic pain in the ass? Undoubtedly. Yet, they are necessary.

5. Layperson Expectations

There are more than thirty hours of footage on YouTube. Some enterprising souls have created clickbait by making compilations of all the heated moments. Viewers gravitate towards these, so as to save themselves hours of listening to it all, and entertain themselves by pointing out how Edwin Tong stutters at some parts, or jeer at Pritam Singh, depending on which party they support. And hearing Pritam Singh utter "agree" and more often, "disagree" or "completely disagree".

However, if they took the trouble to actually listen to the entire proceedings, they would find it much less adversarial than the short compilations suggest. For the most part, Tong and Singh are pretty respectful and gentlemanly towards each other - cordial even. There are even parts where Singh elicits a chuckle from Tong, and Tong makes a corny joke or two.

But no - viewers just want the political theater from that little "PAP vs WP" narrative they have in their head. As mentioned before, these are pitchfork-wielding, simple-minded villagers at heart, and they're incapable of seeing anything else.

This isn't magic.

It is much the same in software development. Laypeople only see the end result. They do not see the trial and error, the painstaking process, and the mess that results when requirements are unclear or worse, ambiguous.

What we do is not magic. If something does not make sense outside of the system, it will still not make sense in a program. Programs run on logic, not fantasy. But because laypeople are blind to the process, they may have expectations that can be divorced from reality.

To conclude...

I'm not entirely sure how I managed to sit through all that footage, and actually make sense of it all. But like it or not, this is Singapore's Parliamentary process at work. Perhaps I managed to endure all that precisely because I was thinking like a software developer. And as such, this managed to retain my attention.

"Agree? Disagree?"
T___T


No comments:

Post a Comment