In the House of Commons of Great Britain, Edmund Burke once stated, “There were Three Estates in Parliament; but, in the Reporters’ Gallery yonder, there sat a Fourth Estate more important than them all.” As the 21st century dawned, we observed media houses displaying biases towards their respective lobbies. The ’truth,’ which should be absolute, now has shades of well-crafted absolution. “Whose truth is the truth?” is a question I often ask myself while reading news articles on the internet. With the government in power controlling the first three estates, it’s not an exaggeration to say that Orwell’s “1984” no longer seems like fiction. This blog explores the hypothetical “00 Estate” that encompasses all estates and dictates the terms for writing code.
I recently watched an inspiring talk by Uncle Bob on the future of programming, where he stressed the importance of writing ‘good code’ and the dangers of neglecting it. The ’neglect’ part is particularly alarming. With the world leaning towards automation, dependency on machines has increased. Ideas like voice-activated control of fans, lights, and televisions are now common in households. What once belonged in science fiction movies is now reality, all powered by billions of lines of code. Therefore, if we, the software engineering community, don’t prioritize code quality, the repercussions could be severe. Faulty code has caused loss of life due to machine failures, automobile hacking, privacy breaches, and more.
Soon, the government may regulate what code is used in machines, given the stakes involved in public safety. The problem lies in the fact that policymakers often lack sufficient knowledge about software. These individuals are elected based on their experience in public policies, not their technological expertise. Unfortunately, the code we write today deeply impacts daily life, merging into a single operational concept. In such cases, these elected officials may seek expertise from external parties. Outsourcing decision-making about software can open a Pandora’s box of problems. The law of diminishing returns suggests that adding a flawed system to fix another can worsen the situation. Granting an organization the power to label software as ‘good’ or ‘bad’ introduces hierarchy, which undermines the egalitarian nature of the software industry. For instance, organizations publishing ‘best practices’ in books, blogs, and whitepapers tend to offer suggestions rather than directives.
Earlier this year, I believed software quality was measured solely by the number of test cases or code coverage. However, it’s also about how software performs during outages and maintaining test suites. Concepts like chaos testing are gaining traction, with defined roles in scalability, load, performance, and configuration testing for SDET positions. Writing good code is crucial, especially if government intervention dictates not just coding practices but also allows backdoor access for governments and organizations. Edward Snowden has discussed the dangers of over-surveillance if an organization decides to track every user. I also believe that success stories, like those emerging from Harvard dorms to become billion-dollar companies, may become rare. Ironically, even a democratic system can stifle the democratization of software in unimaginable ways.
It’s time for software engineers worldwide to commit to writing good code. It’s not just about avoiding poor performance, but also about facing the potential for major catastrophes that could bring sweeping regulations.