Don't Take the Black Pill: Agency and Optimism in Software Engineering
Don't Take the Black Pill: Agency and Optimism in Software Engineering
Technology as a Human Amplifier
Technology is neither inherently good nor bad; it functions as a force multiplier for human values and collective ambitions. The "black pill"—a state of total cynicism and hopelessness—suggests that because humans are flawed, technology will inevitably amplify those flaws to create a dystopia. However, adopting this worldview is self-fulfilling because it leads to a surrender of individual agency, which is the very mechanism required to prevent such a future.
The Tension Between Engineering Quality and Management
Software quality often suffers not because of a lack of technical capability, but because of misaligned incentives between engineers and management. While engineers may prioritize reliability and the reduction of technical debt, management often focuses on other priorities, leading to a systemic production of "bad" software.
Benevolent Noncompliance
To combat these pressures, some engineers engage in "benevolent noncompliance." This involves taking actions to improve the software without explicit permission, often using strategies such as:
- Asking for forgiveness instead of permission.
- Maintaining secrecy regarding technical improvements.
- Using misdirection to shield quality-focused work from management interference.
These actions carry professional risks, including reprimands or termination. The ability to exercise this agency has shifted over time; as the supply-demand ratio of software engineers has changed, many developers now feel they have less negotiation power and are more afraid of job loss than in previous eras.
The Ethics of Software Sovereignty
There is a fundamental argument that software should serve the user, but this is often contested by the realities of corporate funding and market forces.
The Role of Free Software
While free software is often viewed as a path to sovereignty, some critics argue it has inadvertently concentrated corporate power by providing the infrastructure that large monopolies now use to dominate the industry. Others maintain that owning the source code is the only way to ensure true control over one's digital life.
Conflicting Worldviews on Software Purpose
While an idealist view suggests software must serve the end user, a more pragmatic view argues that software often has multiple "masters," including the author, the funding body, and the user. In this framework, the purpose of software is not a principled stance but simply a reflection of what the software actually does in practice.
Perspectives on Professionalism and Purity
The pursuit of "purity" in software development—such as avoiding AI or adhering to strict ethical frameworks—is viewed by some as an inspiring rebellion against corporate mediocrity and by others as a contradictory stance. Critics point out that many "pure" projects are paradoxically funded by the very big-tech corporations they critique, suggesting that the ideal of the "rockstar" developer may be a symbol of vicarious satisfaction for those working as "cogs in the machine."
Key Takeaways for the Next Generation
For experienced engineers, the primary responsibility is to protect the next generation of developers. As noted in the discussion, the goal is to "shield the young from those who would exploit their naïveté without infecting them with our own accumulated pain and cynicism."