Where is the love (in Tech)? | Part I
It is the Information Age after all — the world’s knowledge is at our fingertips, distant friends are one click away, theaters and markets reside inside our homes, taxis are out there waiting for us all day and in case we happen to live somewhere far away we can still talk to a doctor no matter that.
The World Wide Web was invented by the the English scientist Mr. Tim Berners Lee when he created the first browser while employed at CERN in 1989. But after three decades we are least bothered with Tim, we know the power of the web and we are hungry to use it.
On the 20th anniversary of the WWW, Tim wrote an essay titled “Long Live The Web: A Call for Continued Open Standards and Neutrality”.
“The Web is critical not merely to the digital revolution but to our continued prosperity — and even our liberty. Like democracy itself, it needs defending”
He emphasizes two principles in his essay which I wish to present here, namely:
- Universality — “When you make a link, you can link to anything. That means people must be able to put anything on the Web, no matter what computer they have, software they use or human language they speak and regardless of whether they have a wired or wireless Internet connection.”
- Decentralization — “You do not have to get approval from any central authority to add a page or make a link.”
Even though he is speaking of websites and content, in my opinion these principles can be applied not only to technology, but also to the teams building this tech. The hypothesis of this article is based on the idea that we can apply these same principles, which have led to the success of the WWW, to our Tech Teams.
Universality — Ensure Equality
“The opposite of a fact is falsehood, but the opposite of one profound truth may very well be another profound truth.” — Niels Bohr
There are no truths in science, only facts which can hold as temporary propositions till one day they are proved inaccurate by a new discovery. Similarly, there are no Ten Commandments of Software Engineering passed down to us by God. We can conclude then that, true wisdom lies in a kind of collaborative intelligence rather than a singular intelligence.
Even though diversity includes many things other than gender, I bring gender up because women form 50% of our world’s population. By not including 50% of our world’s population into our software engineering teams we are missing out on 50% of the truth! If you don’t believe me, look at Tracy Chou’s article illustrating the very problem in Where Are The Numbers?
Besides gender, we would also need to seriously look at factors like class, race, religion and caste which can contribute towards an unequal diffusion of technology among the different strata of society. If you want to read further on how to cultivate an inclusive culture inside your team, there is a brilliant article on the SvN blog.
Decentralization — Make Information Accessible & Processes Transparent
“Power tends to corrupt, and absolute power corrupts absolutely.” — Baron Acton
Yes even Linus Torvalds, the creator of Linux & Git, is not above being corrupted. He was recently removed from the Linux Software Foundation after his abusive emails were found out. But even before that he has been famous for verbally abusing programmers who contribute to the Linux operation-system kernel. Such dictatorships may or may not be the status quo in tech, the point being how does one create great software without the need for centralization of power.
A solution now exists in OSS, where a Code of Conduct is published, which needs to be followed by all maintainers even if they are a BDFL (Benevolent Dictator for Life), in short meaning that nobody is above the law. Check Django’s Code of Conduct for reference, it is a beautiful piece of work.
Besides such a code, it is important to define the processes and make them as transparent as possible. Most software work is still done under corporate umbrellas where secrecy is required. But even that is changing now, with more tech teams publishing blogs — opening up how they work. But transparency inside a team is of more paramount importance: how work gets assigned, to whom it gets assigned, why it is assigned, why is a ticket rejected, why is a ticket prioritized, why are someone’s changes merged and deployed, whereas someone else’s not?
This transparency will then also permeate into the code through proper documentation, because darkness is the enemy of truth — and what documentation will do is shed light on dark places of the code illuminating knowledge, making it easier for new contributors to question old assumptions or if the old assumptions hold, to improve them.
Please drop in your comments and thoughts on the article. To know more about DocsApp check out our website, and if you like what we are doing and want to join us — feel free to write in to us at careers@docsapp.in