top of page
Search
  • Writer's pictureRafael Sanches

Is Coding Society Building?

I was reading about the S principle of the SOLID acronym the other day when Robert C. Martin affirmation stroke me: “The best structure for a software system is heavily influenced by the social structure of the organization” [1]. Immediately a question that follows me since I was a grad student came back to (life) my mind: is coding a society building action?

I am sure that not all coding is society building. My learning coding side projects, for instance, does not directly affects any people, since its not in production state. Hence, needless to say, our focus are on coding that builds systems which affects other (group of) people behavior.


For example: let’s think about the team who designed and deployed Facebook’s like button: they engendered not only a game changing feature into social media market but a ‘social’ changing feature into society itself, since it passed to affect Facebook's (billions of) users actions, emotions, behavior, thinking and so forth.


The SOLID principle itself is kind of a society building framework. In another words, it is a blueprint to better achieve optimal and desirable relationships between classes, data structures, functions and other components. Building blocks of software engineering.

It’s kind of a society building framework since Uncle Bob himself shows us that the arrangement of this building blocks are directly correlated with the social structure of the organization behind the code. Good software might directly reflects social structure from the perspective of SOLID. And I may add: social structure and dynamic reflects code/software after deployment as well.


Some systems becomes so large and distributed through society that become dimensions of social systems by itself. MAGMA (Meta, Apple, Google, Microsoft, Amazon), for example, their network of services-systems affects more people than nation-states by themselves.

The contemporary famous documentaries such as ‘Coded Bias’ and ‘The Social Dilemma’ are masterpieces of information about it: their core shows us how code reflects society and how society are influenced by code in terms of what individuals are able to do from/upon coded structures. Its a two-way road, no doubt.


Sometime ago (1999), Lawrence Lessig, argued that code is the equivalent regulator of our era such as law. If we look from the political philosophy perspective, laws are social norms encoded into written devices and enforced by the social organization that legitimately holds the monopoly of force (the State) and by this means, laws rule collective life, establishing the overall architecture of society. It is the technology deployed by governments to assure that social life runs by certain way or another.


Are contemporary societies being built by its computer code? It’s not properly a brand new question. We are facing it collectively from a variety of perspectives, be it algorithm justice, AI ethics, digital technology policy-making and others.


Nonetheless, I could not not mention the provocative article written by the Computer and Political Scientist Randy Connolly [2]. There, Connolly have argued that computer science are becoming so intensively interconnected with social and political life that even its academic dimension might learn from social science theoretical and methodological corpus.

His argument shows that since social life are too plural and social sciences methodologies are also multi-diverse to be able to grasp social reality pluralism, computer science might as well be methodologically more diverse and face its pursuits with more consciousness about its role into society building.


Are we going to have some type of merge between this two apparently distant sciences in the short term future?


Would it be beneficial to both domain of science and societies itself to have more retroalimentation gathered from the collaborations between these fields of scientific knowledge?


Robert C. Martin show us from SOLID principle perspective that software architecture that are aware of their organizational and social dependencies are better architectures. So, conscious coding would lead us to more conscious social systems? Or does conscious coding directly reflects a conscious society?


From a business perspective, the consciousness of the coding social building aspect may lead us to better products solutions since it might strengthen the relationship between solutions, social needs and social effects desirability.


[1] Martin, R. C. “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” Prentice Hall, 2018. p. 59

14 views0 comments

Recent Posts

See All
bottom of page