[Off-Topic] Opinions, Truths, Democracy and Ethics
Many people perhaps didn’t understand my position in the previous article Mea Culpa: Democratic Organizations Don’t Work. I recommend you try reading the previous article carefully to understand the correct concept of Democracy. But to complement, I must explain. The biggest problem everyone has is believing that “democracy” is the only and best way to govern or, more generically, to decide anything because “the majority,” “the people,” “the masses” are always right and what was decided collectively must prevail. And this is the greatest mistake of all time.

To summarize what I said before: Liberty is important, defending liberty is important, and the most important liberty that must be defended is that of the individual. The majority must never tyrannize the minority. And the smallest minority is always the individual. If an individual is deprived of his liberty, there is no liberty for anyone.
With that said, in a state of liberty, everyone has the right to formulate and express their opinions. The confusion comes when an opinion is uttered by a “majority.” Democratically speaking, this “opinion” seems to have great value. And this is another great mistake.
Again, let’s define:
Opinion: a view or judgment formed about something, not necessarily based on fact or knowledge.
True: according to fact or reality. Accurate, exact. Real.
Opinion is not fact nor truth.
And an opinion of a majority will never automatically be a truth. Any opinion of a majority will never be greater than the proven truth uttered by a single individual, no matter the volume of that majority.
This is important. Precisely for that reason I said that the best way to think about organizations is not in a “purely” democratic way. In our particular niche of software development, many assume that agilists and agile methods are “democratic.” If you read the Wikipedia about Scrum, we will have this definition for “team”:
A Team is responsible for delivering the product. A Team is typically made up of 5 to 9 people with cross-functional capabilities who perform the actual work (analysis, design, development, testing, technical communication, documentation, etc.). It is recommended that the Team be self-organized and self-led, but normally work with some form of project or team management.
At no point does it say that the Team can be anarchic. But people read the concept of self-organization incorrectly as “we do as we want.” And that is completely wrong.
It’s the same problem as a purely democratic system of government. The majority can indeed decide among themselves the implementation of some law, or principle, or truth. For example, an inviolable and indisputable principle is that an individual must be able to keep for himself the products of his own work. The community can decide, democratically, whether the implementation will be in the form of a police force whose cost will be divided equally among all, for example.
This is the point that’s missing when we talk about agile organizations or teams. Teams can decide democratically how to execute the implementation, but everyone needs to understand that there are inviolable principles that limit what decisions this “democracy” can make. Ignorant voting in large volume, for me, just means a large volume of ignorance. Want to define what is truth? Study, research, demonstrate, prove. It only takes a single individual with the correct demonstration to shatter any opinion of any majority, but never the opposite.
For example, the goal of a company is to obtain as much profit as possible. There is no other goal in a job that is not to have profit. Therefore, it doesn’t matter if you make the best software – in your personal opinion, by the way, which doesn’t make this a fact – if it generates loss instead of profit.
Profit is a premise, but it’s not the only one. Remember the previous definition of “Team.” A team must be “accountable,” that is, it must commit to delivering a project in the way the client expects, including managing that expectation (which I will explain in more detail in another article).
A project ordered to a team does not belong to the team, it belongs to whoever is paying for it. A so-called agile team, that takes responsibility for a project, is not merely taking responsibility to code the requested product, but to take care of the client’s expectations, from start to finish.
More than that, the goal of a project is not to make software, it’s to achieve a result for the client. That is, the client doesn’t care if a software uses techniques X or Y that increase its quality – quality is a trivial characteristic already expected by whoever orders – the client’s value comes from the result obtained by that software. That is, the goal of an e-commerce project, for example, is not in the e-commerce software itself, but in the sales generated. If you make the most advanced software in the world, with the best architectures, best technologies, but that never sold a single product, it’s worth nothing. While an e-commerce made with the worst technologies, with all the documented hacks, but that effectively helped generate 1 million direct sales to your client, is infinitely superior, unquestionably.
A software developer must value their technical work. This is great and should continue. A systems architect values their analysis and architecture. Also no problem. An agile practitioner values their processes and rituals. Each professional must really always try to do the best in what they do. However, none of the specific activities of each one is more important than the other and none of them is an end in itself. That is, a software developer concerned only and exclusively with their code, no matter the cost, is a terrible professional.

And here comes the difference between a professional and an amateur: professional ethics.
The professional carries additional moral responsibility to the general population and society. This is because professionals are capable of performing and acting in informed decisions in situations where the general public could not, because they didn’t have relevant training. For example, an ordinary person of the public could not be responsible for failing to act to save the victim of a car accident because he couldn’t perform an emergency tracheostomy. This is because he didn’t have relevant knowledge. In contrast, a fully trained physician (with the correct equipment) would be able to perform the correct diagnosis and perform the procedure and we would judge as incorrect if he stayed still without helping in this situation. You cannot be judged guilty for not performing something you don’t have the capacity to do. Ethics are rules and values used in a professional environment.
The tradition of medicine, for example, is in the inheritance of the Hippocratic Oath, for millennia being updated and the following is the modern version:
- I pledge to fulfill, to the best of my ability, this alliance:
- I will respect the scientific gains hard-won by those physicians whose steps I follow, and I will share such knowledge with pleasure as is mine, to those who will follow.
- I will apply, for the benefit of the patient, all required measures, avoiding the two-edged swords of overtreatment and therapeutic nihilism.
- I will remember that there is art to medicine as well as science, and that warmth, sympathy and understanding can overcome the surgeon’s scalpel or the chemist’s drug.
- I will not be ashamed to say “I don’t know” nor will I fail to call my colleagues when others’ capabilities are necessary for the patient’s recovery.
- I will respect my patients’ privacy, for their problems are not revealed to me for the world to know. More specifically I must treat carefully cases of life or death. If I am given the task of saving a life, many thanks. But it may also be within my power to take a life; this incredible responsibility must be faced with great humility and awareness of my own fragility. Above all, I must not play with God.
- I will remember that I don’t treat a fever chart or a growing cancer, but a sick human being, whose disease can affect the person’s family and economic stability. My responsibility includes these related problems, to treat the patient adequately.
- I will prevent disease whenever I can, for prevention is preferable to cure.
- I will remember that I continue to be a member of society, with special obligations to all my human companions, those healthy in mind and body, as well as the sick.
- If I do not violate this oath, may I enjoy life and the art, respected while I live and remembered with affection after. May I act only to preserve the fine traditions of my calling and may I appreciate for a long time the experience of healing those who seek my help.
http://www.youtube.com/embed/IiQNx2YP8CQ
It’s not even remotely a “definitive” version, but I’m going to take advantage to adapt very closely to the Hippocratic Oath what could be a draft oath for programmers, just to make clear the idea that every professional has greater responsibilities than merely their general work activity:
- I pledge to fulfill, to the best of my ability, this alliance:
- I will respect the scientific gains hard-won by those programmers whose steps I follow, and I will share such knowledge with pleasure as is mine, to those who will follow.
- I will apply, for the benefit of the client, all required measures, avoiding the two-edged swords of excessive application of technologies or prejudice against brands or technologies I don’t know.
- I will remember that there is art in software development as well as science, and that warmth, sympathy and understanding can overcome the programmer’s code or the analyst’s diagram.
- I will not be ashamed to say “I don’t know” nor will I fail to call my colleagues when others’ capabilities are necessary for the benefit of the client’s project.
- I will respect my clients’ privacy, for their problems are not revealed to me for the world to know. More specifically I must treat carefully projects of my company or my clients. If I am given the task of delivering a project, many thanks. But it may also be within my power to recover a failed project; this incredible responsibility must be faced with great humility and awareness of my own fragility. Above all, I must not play around at work.
- I will remember that I don’t deal with a code file or an editing tool, but a project, whose result can affect the client’s economic stability, the client company’s employees and their families. My responsibility includes these related problems, to develop the project adequately.
- I will prevent bugs and technical problems whenever I can, for prevention is preferable to correction.
- I will remember that I continue to be a member of society, with special obligations to all types of projects, those I can start from zero in my way, or those I inherit with others’ style.
- If I do not violate this oath, may I enjoy life and the art, respected while I live and remembered with affection after. May I act only to preserve the fine traditions of my calling and may I appreciate for a long time the experience of developing projects to those who seek my help.
My point with this text is to remind the following:
- stop using “democracy” with populist connotations. It’s not merely the “team” that must be “protected” or “benefited,” but rather the client’s result and their projects. Never forget that.
- certain principles are inviolable and are not open to voting, business objectives at one end, professional ethics at the other.
- everyone has the right to have and express personal opinions, but opinions are just that: opinions, not facts. And votes will never turn opinions into truths. 2 + 2 will be 4 no matter how many people vote saying it’s 5.
- show a little respect and dignity to your profession. You work, in fact, for your own benefit, but never causing harm to others. I will repeat this ad nauseum: you only have work because there’s someone willing to pay for it, be ethical, be professional.

Honestly, it bothers me a lot to think of a world where an ignorant majority can decide, by voting, that the earth is flat, that sympathies work, that an employee “deserves” a compulsorily higher salary than a company has conditions to pay, that the entertainment of a “professional” is above their responsibilities. Swear to yourselves – not to me or some third party – that you will be professionals, or give up working in the same area we are to stop embarrassing us, us who take this seriously.
