Flat Earth

Xi Jinping Thought on Software Engineering with Chinese Characteristics for a New Era

Best practices for software engineering teams, derived from writings and speeches of Chinese Communist Party general secretary Xi Jinping.

Communist-style Xi Jinping propaganda poster
This message was not approved by the Holy Xi, but I’m sure He doesn’t mind.

Xi Jinping, general secretary of the Chinese Communist Party, chairman of the Central Military Commission, and president and paramount leader of the People’s Republic of China isn’t just a universally liked political leader – He’s also a thought leader; one who has written several best-selling books and given countless inspiring speeches about His political policies and ideas, which are collectively known in the West as Xi Jinping Thought.

In this article I’d like to argue that His thoughts are not only useful for those wishing to gain a better understanding about China, but might also benefit software engineers and product owners.

Ideally, I’d do this by analysing His original writings, but unfortunately it’s all in Chinese, which I speak (and read) about as well as Ancient Greek. So I’m basing all of this on an article published by BBC Monitoring, BBC’s OSINT division that provides information about world affairs in bite-sized chunks to organisations (and dim-witted people like me).

The 14 principles


, Xi Jinping Thought can be summed up using 14 principles or policy points:

Party supreme


It is necessary to adhere to the leadership of the party over all work. Among the party, the government, the military, the people, the academia and all circles, the party leads all.

There is no I in team: once an individual joins a team, they are a member of that team and thus only act on behalf of that team in that team’s best interests. A team is an autonomous entity that other stakeholders can rely on, i.e. it is independent, knowledgeable, and takes ownership of its work.

People-centric approach


The people are the creators of history as well as the fundamental forces that determine the future and destiny of the party and the country. We must adhere to the principal position of the people, adhere to building a party that serves the interests of the public and to governing the country for the people.

A software development team does not exist for the sake of existing, but must always serve the interests of its broader organisation. Technology decisions must be made such that they maximise utility for the organisation – not for the team’s individual members. Teams must also actively elicit feedback about their products and services.

Note that this does not mean that team should only do what they are told. On the contrary: a good team provides vision and direction, in accordance with the needs of its stakeholders.

Deepening reform


It is necessary to adhere to the comprehensive deepening of reforms. Only socialism can save China, and only reform and opening-up can develop China, so develop socialism, and develop Marxism.

As the world changes, so must the team. Teams must stay up-to-date with not just technological improvements, but also the latest best practices and important societal issues. Only through continuous improvement can teams achieve true socialism.

New development ideas


It is necessary to adhere to new development concepts. Development is the foundation for and the key to resolving all the problems of our country. Development must be scientific development, and we must persist in unswervingly carrying out the concepts of innovative, coordinated, green, open and shared development.

Engineers must stay up to date with the latest developments in their field. The team must of course use newer versions of programming languages, frameworks, libraries, and platforms once they have become sufficiently mature, but it must also be aware of new technologies and paradigms (e.g. artificial intelligence, quantum computing) that may prove useful to it in the future.

Representative institutions


To insist on the organic combination of the party’s leadership, the people as the masters of the country, and governing the country by law is an inevitable requirement for the political development of socialism. We must adhere to the political development path of socialism with Chinese characteristics; uphold and perfect the people’s congress system, the Communist Party-led multi-party cooperation and political consultation system, the system of regional ethnic autonomy, and the grassroots mass self-government system.

Choose a software process model and framework (e.g. Scrum, Kanban) that is appropriate for the team and its stakeholders. Feel free to experiment within the chosen framework and encourage team members and stakeholders to suggest improvements.

Rule of law


The principle of comprehensively governing the nation according to law is the essence and important guarantee of socialism with Chinese characteristics… Great efforts must be made to deepen the reform of the judicial system and enhance the quality of rule of law and the quality of morality of the whole nation.

Team members must hold each other accountable for their behaviour and performance. Team agreements, once made, must be followed to the letter. No code changes may be merged into the mainline without extensive reviews and explicit approvals from the team, automated test suites, static analysis tools, and other continuous integration tools.

Socialist values


Confidence in our culture is a basic, profound and lasting force for the development of a country and a nation. It is necessary to adhere to Marxism and firmly foster the great ideal of communism and the common ideal of socialism with Chinese characteristics. We must cultivate and practise socialist core values and continue to strengthen the initiative and the right of speech in the ideological field.

Foster an engineering culture that is safe, open, and professional. Be diverse and inclusive. Recognise that a team can only function well when its members fully trust each other, and are willing to admit mistakes, weaknesses, or needs for help.

Social welfare


Improving people’s livelihood and well-being is the primary goal of development… We must build a safe China, strengthen and innovate social governance, maintain social harmony and stability, ensure long-term peace, order, and stability in the country, and ensure that people are content with their lives and jobs.

Design and build systems that are reliable, easy to use, and fulfil the needs of its users and other major stakeholders. Proactively take care of potential problems and small annoyances that might cause unrest or even trigger revolts against the team.

Coexistence with nature


We must establish and practise the philosophy that lucid waters and lush mountains are invaluable assets, uphold the basic national policy for energy conservation and environmental protection, treat the ecological environment as we treat life, coordinate the systematic management of mountains, waters, forests, fields, lakes, and prairies... build a beautiful China, create a good production and living environment for the people, and contribute to global ecological safety.

Sustainability has rightly become an uncomfortably hot topic in most domains – but not in tech, which is still actively contributing to climate change. Teams should embrace the practice of green computing (alternatively: green IT). When deciding between solutions, teams should always consider the environmental impact of each alternative.

Stronger national security


It is necessary to adhere to a comprehensive national security concept. Coordinating development and security, strengthening our adversity awareness, and preparing for danger in times of peace are major principles held by the party when administering state affairs.

Any software that is built or deployed by the team must be secure. This requires that the team is both knowledgeable and passionate about software security. Dependencies must be regularly audited and updated, and security best practices must be followed for any and all services and processes.

Party’s authority over army


It is necessary to adhere to the party’s absolute leadership over the people’s armed forces... We must adhere to building the armed forces through political work, strengthening them through reform, reviving them through science and technology, and managing them in accordance with the law.

Technology should always be in service of the team and the organisation. Teams must not let their past or current technology decisions dictate what they can and cannot do.

Vigorously protect the architecture of systems, liberally apply SOLID design principles throughout the system, and continuously take care of technical debt in order to ensure maximum flexibility at any time.

Reaffirming national unity


On Hong Kong and Macau:

It is necessary to adhere to the “one country, two systems” principle and push forward the reunification of the motherland. Maintaining the long-term prosperity and stability of Hong Kong and Macau, and realising complete national reunification is an inevitable requirement for realising the great rejuvenation of the Chinese nation.

On Taiwan:

We must adhere to the One China principle and the 1992 consensus, push forward the peaceful development in the cross-Strait relations, deepen cross-Strait economic cooperation and cultural exchanges, push forward the compatriots on both sides of the strait jointly opposing all separatist activities, and jointly strive to realise the great rejuvenation of the Chinese nation.

The best-performing teams are teams in which every member works towards a shared common goal. Achievement of collective goals is all-important and takes precedence above personal needs, including but not limited to ego, career development, and recognition.

Common human destiny


The dream of the Chinese people is closely connected with the dreams of other peoples of the world. Realising the Chinese dream is inseparable from a peaceful international environment and a stable international order. [We must] always be the builder of world peace, the contributor to global development and the defender of the international order.

A team does not exist in a vacuum, and neither does the organisation which it is part of. Reach out to the wider community and actively take part in it. Contribute to open source, either directly or financially. Share your insights and wisdom at meetups, congresses, and universities.

Party discipline


[We must] strengthen inner party supervision, develop positive and healthy inner party political culture, comprehensively purify the political ecology within the party, resolutely correct all kinds of unhealthy tendencies, crack down on corruption with a zero-tolerance attitude… and always maintain the party’s flesh-and-blood ties with the masses of the people.

Internal disagreements are strongly encouraged when their goal is to achieve a better outcome. However, the team must always speak with one voice when it communicates with its environment.

More concretely, each team member may have preferences for specific solutions or styles, but once the team has made a decision, that decision is final and every member will do their best to execute that decision as well as possible.