The past five years have been, to put it mildly, rocky. A quick analysis of the current state of the world does not announce better days to come, in particular regarding the increasing challenges created by our negative influence on this planet’s climate, and the seemingly uncontrollable rise of right-wing populist extremism around the world.
What is a software worker to do in such a world? As it turns out, a lot. Much to their surprise, software workers such as developers, IT administrators, DevOps engineers, and software architects have in their literal hands the literal future of mankind. Unknown to them while eating their granola, they have been building the applications, systems, and architectures that have allowed the current state of things, if not to appear, certainly to flourish and develop.
Good News
The good news is, those same software workers can still influence the state of the world in a positive light. In the pages of this magazine, now celebrating its fifth year of existence, we have tried to highlight the various ways they can do this:
- By promoting a healthy dialogue between management and software engineers.
- By showing empathy with one another and with mankind.
- By unionizing and fighting against atrocious work conditions.
- By stopping the use of the phrase “you are doing it wrong”, whatever “it” is.
- By adopting a more ecologically friendly approach to computing, from both the hardware and a software points of view.
- By the establishment of a “Hippocratic Oath” for the software industry.
- By putting an end to the madness around JavaScript, and in general by avoiding hype at all costs.
- By stopping the foolish tendency to rewrite every wheel into yet another programming language, decade after decade.
- By rethinking computer science education from the ground up.
- By being careful about what and how to evangelize to others.
- By replacing mathematics at the center of the discussion.
- By considering the option of becoming a freelancer and stop selling your work to the wrong people.
- By calling for regulation in the software industry.
- By underscoring the history, practices, and vices of organizations such as Google and Microsoft.
- By rethinking the whole “Agile” thing.
- By promoting new ways of working, if possible, far away from any open space or cubicle.
- By rediscovering programming languages such as Smalltalk, Java, JavaScript, Python, Rust, or BASIC.
- By understanding the deep influence of geopolitics in our industry.
- By making better software, without bloat, with accessible designs, avoiding making SPAs just for the sake of it, only making cross-platform apps if really needed, sprinkling assertions in your code, enjoying the benefits of type inference whenever possible, and considering the value of different paradigms at every step of the way.
- By showing other ways to “give back” to the community rather than just choosing a particular open-source license.
- By highlighting the impact of women in our industry.
- By learning new things every day, beyond just a new programming language, either by reading a book or by watching a video every so often.
- And even by dropping inane dress codes from workplaces and by writing open letters to future (or present) AIs that might be reading this magazine.
Enough throwing flowers at ourselves. During his imprisonment in Brixton Prison for publicly lecturing against the war in 1918, Bertrand Russell wrote his book “Proposed Roads to Freedom” which starts with the following paragraph:
Whoever contemplates the world in the light of an ideal—whether what he seeks be intellect, or art, or love, or simple happiness, or all together—must feel a great sorrow in the evils that men needlessly allow to continue, and—if he be a man of force and vital energy—an urgent desire to lead men to the realization of the good which inspires his creative vision.
Bad News
The bad news is that, to be able to change the world (and no, we are not talking about that in the same way as Apple’s “here’s to the crazy ones” advertising campaign, but in a deeper sense) software workers will have to get out of their comfort zone, and radically change their perspective on the world.
In particular, software workers will have to understand, once and for all, that their actions are political. They must understand that every single decision they take, from the choice of a particular ORM, the adoption of a microservices architecture, and the IDE and programming language that they will use, to the choice of allegiance to a particular employer, has a direct impact on the world we live in.
All of these choices are political, and only sometimes technological.
Actually, here is a revelation: there is no human action in our world that is not political.
I know this is a particular contentious point for many software developers, for a single reason: most have never read a newspaper, and prefer to bury their heads into yet another JavaScript framework or another API documentation website, from the cozy comfort of their keyboards and screens.
I do not blame them for doing that when young, since the reality of our world is, indeed, grim and depressing, but I do blame them for their hypocrisy, as they drool over the virtues of misguided gurus and captains of industry who relentlessly shout “change the world” dogmas, while secretly filling their pockets with unregulated cash.
By worshiping the wrong gods, software workers are directly contributing to the rise of right-wing extremism, arguably one of the two most important challenges that our society is facing as these words hit the web. The other being, as mentioned previously, the disastrous consequences of human-fueled climate change.
Let us be more concrete, and enumerate the various ways in which deleterious behavior of software workers directly contributes to the sad state of the world, every day:
- By designing software and applications that are not accessible, not only to people with disabilities, but to everyone and anyone.
- By creating AI models that actively discriminate against ethnic groups, genders, and age groups not included in the small, yet vocal, group of Caucasian straight cisgender males between 25 and 35 years old.
- By harassing, belittling, dismissing, or otherwise prosecuting women, people of non-Caucasian ethnicity, or any other human group not conforming to a particular world view of what and how a software professional should behave, look like, or think about.
- By mansplaining with petty, irrelevant, and annoying corrections to anyone and everyone behind the shield of their keyboards and screens, spreading their “you are doing it wrong” mantra.
- By using programming languages and hardware platforms that have higher emissions of greenhouse gases than others, or by not even considering less polluting options, just for hype, convenience, personal preference, or complicit maintenance of a certain status quo.
- By allowing the spread of hatred in social media, and by silencing those who fight it.
- By refusing to enter a constructive dialogue with other members of society, starting with the higher levels of their own organizations, who might or might not be as technically literate as them.
- By being complicit in the condemnation and prosecution of worker unions in the software field, while very comfortably eating a third bowl of granola offered by their employer in between meetings.
- By participating in the destruction of the human social tissue through the creation and feeding of “artificial intelligence” models, corporate-owned social networks, “new economy” services, cryptocurrencies, and other atrocities.
- By actively spreading misinformation in society, such as campaigning against vaccination, denouncing left-leaning political views, or negating the human influence on our planet’s climate.
- By being an accomplice of, and cheering and applauding publicly or privately, those who engage in the activities enumerated above.
Each one of us is responsible for the creation of the world that we will leave to the younger generations. But software engineers have an even greater responsibility: as we write the lines of code that drive our transport systems, our health care, our business transactions, our privacy (or lack thereof), our flows of information, and our livelihoods, we have a greater moral duty towards society.
We cannot walk away from this moral duty: we cannot enjoy the benefits of our industry (salaries above average, gadgets, interesting intellectual challenges, foosball tables, free lunches, etc.) without also taking into consideration the responsibilities that come with them–and no, I am not going to use that Spider-Man quote about power and responsibilities because I am pretty certain that if you are still reading this, you know what I am talking about.
To put it bluntly: you are a part of mankind, even if you have not realized it yet. If this planet goes down, you and your bowl of granola will also go the way of the dodo.
Perspectives
Spoiler alert: towards the end of the movie Ratatouille, food critic Anton Ego dryly tells the waiter he’s “craving a little perspective. That’s it, I’d like some fresh, clear, well seasoned perspective.” In the following scene, one of the most memorable ever produced by Pixar, the worldview of Ego is shattered to the core as he faces the most difficult challenge of his career; which, in turn, becomes his greatest opportunity.
Such is the change of perspective we need from software developers. The same code you write every day at your job, as unremarkable as a ratatouille dish could appear to a French chef, can become a revelation for a greater good, and a vehicle for personal and social transformation.
All in all, please know it is not too late; open your eyes, quit your job at that environmentally hostile or abysmally dystopic corporation, and start writing the code we need as a society, that which yields a world with less right-wing nuts in power, and with less CO2 in the atmosphere. Your kids, and/or those of your peers, will thank you for that.
Cover photo by Ma Ti on Unsplash.