[Off-Topic] Opinions, Truths, Democracy and Ethics
A lot of people probably didn’t get my position in the previous article, Mea Culpa: Democratic Organizations Don’t Work. I recommend reading that one carefully to understand the correct concept of Democracy. Here I’ll fill in the rest.
The biggest problem everyone has is believing that “democracy” is the only and best way to govern, or to decide anything, because “the majority,” “the people,” “the masses” are supposedly always right, and whatever was decided collectively must prevail. That’s the greatest mistake of all time.

To recap what I said before: liberty is important, defending liberty is important, and the most important liberty to defend is the individual’s. 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.
In a state of liberty, everyone has the right to form and express their opinions. The confusion starts when an opinion is uttered by a “majority.” Democratically speaking, that “opinion” seems to gain a lot of weight. And there’s another great mistake.
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.
The opinion of a majority will never automatically be a truth. Any opinion of a majority will never be worth more than the proven truth uttered by a single individual, no matter how large that majority is.
This matters. That’s exactly why I said the best way to think about organizations stays far from the “purely” democratic model. In our niche of software development, many assume that agilists and agile methods are “democratic.” If you read the Wikipedia entry on Scrum, you’ll find this definition of a “team”:
The Team is responsible for delivering the product. A Team is typically made up of 5–9 people with cross-functional skills who do the actual work (analyse, design, develop, test, technical communication, document, etc.). It is recommended that the Team be self-organizing and self-led, but often work with some form of project or team management.
Nowhere does it say the Team can be anarchic. But people read the concept of self-organization wrong, as “we do as we please.” And that’s completely wrong.
It’s the same problem as a purely democratic system of government. The majority can decide among themselves the implementation of a law, a principle, or a truth. One inviolable and indisputable principle, for example, 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 a police force whose cost is split equally among everyone.
That’s the point missing when we talk about agile organizations or teams. Teams can decide democratically how to carry out the implementation, but everyone needs to understand that inviolable principles limit which decisions this “democracy” gets to make.
Ignorant voting in large volume, to me, just means a large volume of ignorance. Want to define what’s true? Study, research, demonstrate, prove. It takes a single individual with the correct demonstration to shatter the opinion of any majority. The reverse never happens.
Take a company: its goal is to obtain as much profit as possible. A job has no other goal than to turn a profit. So it does you no good to build the best-made software (in your personal opinion, by the way, which doesn’t make it a fact) if it generates loss instead of profit.
Profit is a premise, but not the only one. Remember the definition of “Team.” A team must be “accountable,” meaning it has to commit to delivering a project the way the client expects, including managing that expectation (something I’ll detail in another article).
A project commissioned to a team belongs to whoever pays for it. A so-called agile team, when it takes on a project, takes on the client’s expectations along with it, from start to finish, far beyond simply coding the requested product.
More than that: the goal of a project is to achieve a result for the client. The client doesn’t care whether the software uses technique X or Y to raise its quality, because quality is a trivial trait already expected by whoever orders it. The client’s value comes from the result the software produces.
Think about an e-commerce project. What matters is the sales it generates, far more than the software itself. If you build the most advanced system in the world, with the best architectures and technologies, but it never sold a single product, it’s worth nothing. Meanwhile an e-commerce built with the worst technologies, full of every documented hack, but that helped generate a million direct sales for the client, is infinitely superior, no argument.
A developer should value their technical work. That’s great and should continue. A systems architect values their analysis and architecture, no problem at all. An agilist values their processes and rituals. Every professional should always try to do their best at what they do.
The thing is, none of these activities is more important than the others, and none of them is an end in itself. A developer worried only and exclusively about their own code, at any cost, is a terrible professional.

And here’s the difference between a professional and an amateur: professional ethics.
The professional carries additional moral responsibilities to those held by the population in general and in society. This is because professionals are capable of making and acting on informed decisions in situations that the general public cannot, because they have not received the relevant training. For example, a lay member of the public could not be held responsible for failing to act to save a car crash victim because they could not give an emergency tracheotomy. This is because they do not have the relevant knowledge. In contrast, a fully trained doctor (with the correct equipment) would be capable of making the correct diagnosis and carrying out the procedure and we would think it wrong if they stood by and failed to help in this situation. You cannot be held accountable for failing to do something that you do not have the ability to do. Ethics are rules and values used in a professional setting.
The tradition of medicine, for example, inherits the Hippocratic Oath, updated over millennia. This is the modern version:
- I swear to fulfill, to the best of my ability and judgment, this covenant:
- I will respect the hard-won scientific gains of those physicians in whose steps I walk, and gladly share such knowledge as is mine with those who are to follow.
- I will apply, for the benefit of the sick, all measures which are required, avoiding those twin traps of overtreatment and therapeutic nihilism.
- I will remember that there is art to medicine as well as science, and that warmth, sympathy, and understanding may outweigh the surgeon’s knife or the chemist’s drug.
- I will not be ashamed to say “I know not,” nor will I fail to call in my colleagues when the skills of another are needed for a patient’s recovery.
- I will respect the privacy of my patients, for their problems are not disclosed to me that the world may know. Most especially must I tread with care in matters of life and death. If it is given me to save a life, all thanks. But it may also be within my power to take a life; this awesome responsibility must be faced with great humbleness and awareness of my own frailty. Above all, I must not play at God.
- I will remember that I do not treat a fever chart, a cancerous growth, but a sick human being, whose illness may affect the person’s family and economic stability. My responsibility includes these related problems, if I am to care adequately for the sick.
- I will prevent disease whenever I can, for prevention is preferable to cure.
- I will remember that I remain a member of society, with special obligations to all my fellow human beings, those sound of mind and body as well as the infirm.
- If I do not violate this oath, may I enjoy life and art, respected while I live and remembered with affection thereafter. May I always act so as to preserve the finest traditions of my calling and may I long experience the joy of healing those who seek my help.
It’s far from a “definitive” version, but I’ll take the chance to adapt, closely following the Hippocratic Oath, what a draft oath for programmers might look like. Just to make clear the idea that every professional carries responsibilities greater than their general work activity:
- I swear to fulfill, to the best of my ability, this covenant:
- I will respect the hard-won scientific gains of those programmers in whose steps I walk, and gladly share such knowledge as is mine with those who are to follow.
- I will apply, for the benefit of the client, all measures which are required, avoiding the two-edged swords of overapplying technologies or prejudice against brands or technologies I don’t know.
- I will remember that there is art to software development as well as science, and that warmth, sympathy, and understanding may outweigh the programmer’s code or the analyst’s diagram.
- I will not be ashamed to say “I know not,” nor will I fail to call in my colleagues when the skills of another are needed for the benefit of the client’s project.
- I will respect the privacy of my clients, for their problems are not disclosed to me that the world may know. Most especially must I treat with care the projects of my company or my clients. If I am given the task of delivering a project, all thanks. But it may also be within my power to recover a failing project; this awesome responsibility must be faced with great humbleness and awareness of my own frailty. Above all, I must not mess around on the job.
- I will remember that I do not deal with a code file or an editing tool, but a project, whose result may affect the client’s economic stability, the client company’s employees, and their families. My responsibility includes these related problems, if I am 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 remain a member of society, with special obligations to all kinds of projects, those I can start from scratch my own way, or those I inherit in someone else’s style.
- If I do not violate this oath, may I enjoy life and art, respected while I live and remembered with affection thereafter. May I always act so as to preserve the finest traditions of my calling and may I long experience the joy of developing projects for those who seek my help.
My point with this text is to remind you of the following:
- stop using “democracy” with populist connotations. What needs to be protected and benefited is the client’s result and their projects, way ahead of the “team.” Never forget that.
- certain principles are inviolable and not open to a vote: business objectives on one end, professional ethics on the other.
- everyone has the right to hold and express personal opinions, but an opinion is just that: an opinion. And no vote turns an opinion into a truth. 2 + 2 will be 4 no matter how many people vote that it’s 5.
- show a little respect and dignity for your profession. You work for your own benefit, sure, but without causing harm to others. I’ll repeat this ad nauseam: you only have work because there’s someone willing to pay for it. Be ethical, be professional.

Honestly, it bothers me to imagine a world where an ignorant majority can decide, by vote, that the Earth is flat, that folk charms work, that an employee “deserves” a salary higher than the company can afford, that a “professional’s” fun ranks above their responsibilities. Swear to yourselves, not to me or some third party, that you’ll be professionals. Or give up working in the same field we do, so you stop embarrassing those of us who take this seriously.
