Humans have come this far due to our ability to socialize and leverage the skills of other people in order to survive.

One thing I believe helped us was our capability to build organized hierarchies among ourselves in society.

For most countries, there is a pattern for the ruling:

The main ruler (the dictator or president)

The regional ruler (the governor)

The local ruler (the mayor)

The local people

While a traditional society represents a group of people who work together to survive, a company represents a group of people who work together for a goal.

A company is just like a small society.

As time goes by, this small society tends to follow the same pattern we see in the world around us:

The main ruler (the CEO)

The regional ruler (the manager)

The local ruler (the team lead)

The local people (the team members)

One can’t tell if a traditional society works well because we don’t have anything else to compare to. However, we still tend to copy it, even though some contexts may not be optimal for a traditional society based on hierarchy.

In traditional societies, there’s a huge tendency for control. Police and laws are created because people don’t trust each other. The centralization of decision-making happens in various levels, driven by politicians who don't know the details of the day to day work in the areas they are making strategic decisions for.

In traditional societies, there’s a huge tendency for control and centralization

Same goes for traditional companies. Micromanagement and processes are created because they don’t trust their own employees to do the job they were hired for. Executives make strategic decisions without day to day context which negatively affects the outcomes of the ones producing the work.

The software industry has learned over the years that control is evil and we should leave the decisions to those who participate in the day to day work (Product Owners, Developers, Designers). They are the ones who understand the customer better than anybody else. Better than any traditional CEO will ever do.

If we keep copying the attributes of traditional societies in our ways of working we won't make progress.

A lot of people hate politics. Unfortunately, in a real society, we have no better way of doing things differently. We can’t run away from politics.

In a company, though, we might have that option. When we’re building a small society, we’re responsible for building it the way we want or make small changes one step at a time towards some direction, shaping the culture in a slow pace.

It's everyone's job to shape the culture.

That means if you're in a management position:

Shield the team out of external pressure and allow them to work at their own pace

Let them sort out the best way of working

Do not let anyone report to you, but to the team

Let the team decide who they want to work with instead of somebody else deciding for them

A cartoon of a group of people in suits around a table. In the wall, there are two boards showing one graph of profits and other of sales, both are declining. The caption says “What if we don’t change at all and something magical just happens?”

As a developer:

Train your skills of being able to raise expectations regarding effort as much as possible

Start saying "we" instead of "me", preferably for things where the credit should be yours

When critique is needed, criticize the general act, not the individual

When praise is convenient, praise the individual and the team, not the general act

This way, we will show to the corporate world that what’s really a problem is not the culture of the companies, but an outdated mindset many traditional people still insist to defend.

Brave are the ones who dare to be different, in this world of sameness

You are also responsible for changing this.

A culture that doesn’t do anything else other than using natural selection for the survival of the fittest, instead of working collectively for the survival of the goal.