5.1 KiB
There is a difference in scale of space and time between our biological and social selves, and the internal clock of a computer, or the reach of its network. This often leads us to picture wrong images of the technological complexity we are participating in. That's why in order to debug complexity we probably first need to debug software (Shirky, 2014). Understand how does it work, or why it doesn't work the way we expect, either in its technical, cultural, or environmental outcomes. Unpack what can be changed and adjusted, and being able to reason about it.
To participate in the making of software it's a way to attune with the troubled times we are living in. A chance to gain some understanding and agency on systems that often slip away from our awareness because too big and slow, or small and fast. Relying on the unthinkable speed of microprocessors and the phantasmal aura of wi-fi, we can make sense of the unknown of software (Chun, 2022), and the alien and convoluted knowledge it constitutes.
This process does not stop with programming, and it is both more and less than just an engineering problem. It is more because of its relational nature, the thick mesh of exchanges and compromises in communication between people and machine, and between people and people, and between people and resources, and resources and time, and so on. But is it also less than that because when it works it works, and code disappears.
1.2 Introduce issues around software
This economy of interactions and interfaces results in a bestiary of bugs, glitches, and issues that affect and effectivly shape what we do call software culture. Far from being caused just by the intersection of life and code, many of these problems root into ideologies and forms of violence that plague the world long before Google. The problem of toxic masculinity and gender gap in the IT it's the first elephant in a room that should be, at this point, called natural reserve. Uneven distribution of access, evergrowing hunger for resources, extractive and neo-colonial practices, etc.
These critical questions relate with software from different angles and distances, so it is useful to draft a map of the swamp we want to navigate into. Writing from the eye, there are three main aspects in sight: the violence of bias and hostile environments, the challenges of complexity, and the empty promises of techno-solutionism.
-
Biased and hostile environments
- Toxic masculinity
- encoded chauvinism
- western monoculture
scrib scrib scrib
-
Evergrowing complexity
- Intimidating learning curve
- disproportion of means
- mistification
Software development is a disease, writes Ellen Ullman (Ullman, 2017), and this disease has several consequences. First is that it comes in forms that are basically alien to us. It's a virus that works and thinks differently, and to get your head around it requires a lot of effort. It's not just mnemonic knowledge, but, as learning a foreign language, a radical change in the way one organizes their thoughts.
This often comes with intimidating learning curves, that get twisted even more with the tangled list of dependencies that every project carries on its back. Where to start is always a rabbit hole: there is always something more low or high level, and the linked list of references seems a Moebious strip.
Another symptom of the developer disease is found on the other side of the gradient: in the fever of coding easy problems generate complicate solutions. Probably over-engineering comes with the current perceived abundance of computational power of modern machines. Probably programmers back in the days would have been hesitant of reserving 2GB of RAM on their machine to run a todo list app written with the brand new reactive framework in a browser with a list of external dependencies that fade far away on the horizon of a package manager.
This evergrowing structure is fascinating and scary, and resembles the kind of architecture that Nihei imagined when drawing the city of Blame! An unsupervised and perennial construction site assembled by IAs, surpassing the diameter of the Jupither's orbit. Complexity is really keen to aesthetic explorations, but it also lends itself to processes of mistification and mis-representation that often characterize processes of propaganda, populism and marketing.
- The universal solution™
- Techno solutionism
- gray tech
- ideology
Some people live in the year 3000, but commute everyday to 2023 to bring us solutions for all our problems. Their approach is straightforward: map one to one obstacles and fixes, and pave the road for progress & prosperity. Ah ah ah!
From high-budget cinematic advertisements to late night bugfix releases, technology is offered as key to unlock specific situations. The conflict of good against evil is solved by the divine intervention of software, that slaps a patch of duct tape on the sinking boat.
scrib scrib scrib
a. programming is already difficult without involving ideologies b.
Without guidance seems impossible to orientate in this maze.