Very often we program in isolation, and our programs reflect both our personal interpretation of the problem and a very personal solution to it. We can work in a team, but even then we are isolated as a team. We easily forget that the code created in such isolation will be executed, used, and extended by other people. It’s easy to overlook the social aspect of programming. Creating software is both a technical and a social endeavor. We should look around more often to understand that we do not work in isolation and that we share a common responsibility for the potential success not only of the group of developers but also of every person around us.
It is possible to write high-quality code in isolation from reality, completely detached. in oneself. On one hand, this is an egocentric approach (ego not in the sense of arrogance, but in the sense of personality). This is the philosophy of Zen, and at the moment of creating the program In this case, only you truly exist. I always try to live at the present moment, as it helps to get closer to better quality, but at the same time, I live in my current moment. What about the current moment of my team? Do my moment and my team’s moment coincide?
In the Zulu language, the philosophy of Ubuntu is defined as “Umuntu ngumuntu ngabantu,” which can be roughly translated as “A person is a person through other persons.” through (other) personalities." I become better because you make me better with your kind deeds. But, on the other hand, you do your job worse if I do mine poorly. For developers, it comes down to “a developer is a developer through (other) developers.” If we lower ourselves to “iron,” then “code is code through (another) code.”
The quality of the code I write affects the quality of the code you write. What if my code is of low quality? Even if you write very clean code, wherever you use my code, the quality of your code will drop to approximately the level of my code. You can apply many templates and techniques, to limit the damage, but it can no longer be completely avoided. I made you do more than necessary, simply because I wasn’t thinking about you when lived in his moment.
I can consider my code clean, but it can still be made even better by adhering to the spirit of Ubuntu. What does code in the spirit of Ubuntu look like? It looks like good, clear code. And it’s not even about the code as an artifact. It’s all about the act the creation of this artifact. Programming for your friends in the spirit of Ubuntu will help your team live in accordance with their own values and strengthen their principles. The next person who touches your code in any way will become better as a person and as a developer.
Zen is a personal matter. Ubuntu is Zen for a group of people. Extremely rarely we We write programs exclusively for ourselves.