I’m a strong believer in dictatorship at companies. Every team has someone with ultimate decision making power, as does every project with a project leader, and above teams are leaders who have authority above them, and so on. Of course there are meetings and discussions but there is always someone with the authority to make a decision that everyone has to respect.
Honestly it benefits everyone. ICs like that authority is clear. Effective companies are mission-focused and they are not democracies. FB sounds extremely bloated and ineffective.
Every company needs a benevolent dictator with exceptional taste who is addicted to simplicity. This can be a platform architect, this can be a product person, etc.
But without that person, with design-by-consensus, you end up with a company that is addicted to complexity, building a product that looks like it was disparate components that have been continually stuck on the end with duct tape.
This is why we have the bystander effect, and why in EMS, you need to point to someone and assign them the responsibility of calling 911. There needs to be one person accountable, otherwise there is no one accountable.
Phrases like “benevolent dictator for life” have become pretty widespread, and they are cute, but I think the slightly obscure the issue or focus on the wrong thing.
A dictator can function with a small, powerful core of supporters (usually the military and then some key demographic or powerbrokers depending on the situation), and then keep the rest of the populace in their place through violence if necessary.
I think when we talk about somebody like Linus or Guido, they aren’t really dictators so much as consensus leaders. Everybody might not agree with their individual decisions, but there’s widespread agreement that somebody has to lead, and everyone can agree that there isn’t anyone who can do a better job.
And we should also note that Democracy isn’t some self-perpetuating system that can actually impose itself. Functionally, we don’t have a democracy because there’s 51% support for the leaders. We have a democracy because there’s broad consensus in the idea that, while we don’t always agree with the individual decisions of the democracy, we don’t have a better way of making decisions.
Honestly I don’t think it really matters so much how the decision making process works. Functional systems are ones in which the decision making process has broad consensus support. It could be tied to an idea, it could be tied to a person, it could even be tied to some abstract idea like following the rules of a religion. What matters is that people broadly think the system is good, follow it when nobody is checking, and are ok with following the spirit of the rules rather than getting hung up on process and technicalities. In open source, these tend to be personalized systems because somebody will just start a personal project and it will grow, but that’s very tied to the nature of programming and the fact that an individual can easily get a minimum viable product for many programming ideas.
> Phrases like “benevolent dictator for life” have become pretty widespread
I dont think anyone said "for life" here. The thing about business "dictatorships" is that they are naturally temporary. These people will leave of their own accord or be fired if they're incompetent at some point. And if the very top doesn't fire these people, making themselves incompetent, then their business will struggle to sustain itself.
It's not like a dictatorial government which can rewrite laws and use military force.
I’m blanking on the name of the essay, but there’s a compelling argument for the only viable alternative to a Benevolent Dictator being a very thoroughly and precisely defined shared terminology of the underlying product/software system. Basically you can achieve a shared vision only by relentlessly checking the assumptions of the group and codifying everything, or using a singular visionary as the stand-in for a cohesive shared vision. Hoping someone here can share the original essay since it does a much better job than I can…
But does "what is" really beget "what should be?" I'm sure what you describe would be very helpful but I don't see how it could eliminate disagreements on direction.
Yeah that’s an important distinction! Iirc, the essay distinguishes between singular visionary vs decision-maker roles. A decision maker is there to break ties and contain bike shedding, and you pretty much always need one, whereas a singular visionary is really there to steer high level design decisions cohesively. There’s a spectrum here of course.
Agreed. Hierarchy is important. Someone asked me to do something? Directly above me in the hierarchy - done. Someone at my level or under me? Add it to the backlog along with 100s of other things.
OP isn't saying that the person with ultimate authority has to be involved in every decision, just that when they do make a decision everyone respects it. You can have the kind of authority that OP is describing while still delegating most decisions to the individual contributors. You just need someone who is officially empowered to make the final call in cases where there's disagreement.
I disagree, they are fundamentally different cultures. You can have a blend of them I suppose. But you are either top down or bottoms up, and one of the top down trade offs is that people begin optimizing for what they think will pass approval by the decision maker.
This can obviously work, see apple under Jobs. But companies kind of have to pick a lane because the culture is either “drive to what I think is impactful” or “drive to what I think boss thinks is impactful”.
When has the decision been made? When the dictator says "make it so" or when the software developers understand the rationale and are able to implement it successfully?
Because the time to the latter is sometimes infinite in the dictatorships I've been in.
(In contrast, when a decision is made democratically, most people are already on board with the implementation details and rationale.)
If you can’t effectively communicate the rationale and intention behind your decisions, you’re failing as a leader. A dictatorship doesn’t work without a competent dictator, just as a democracy doesn’t work without a competent demos.
Yes, especially with big groups. In smaller groups, decision making is usually faster and done by people with more local context in bottoms up organizations. See Team of Teams as a decent reference.
Sure you can have a good dictator, but there is much greater room for a bad one.
Carmack (by his own admission) doesn’t want to be a manager, he wants to be a programmer. So he would probably not make a good dictator. He might have had less sway precisely because someone above him is a dictator who didn’t like his input, no room for decent in a dictatorship.
I think people like the idea of democracy more than they like actual democracy. On some level, most people would agree that pure democracy as in one person one vote in every organization is ridiculous. Any organization of sufficient complexity cannot possibly be fully understood by all of its members. It would be absurd for example to give full voting rights on strategic direction to a new hire. What I think people actually want is the sense that their voice is heard by the decision makers. They also want the opportunity to advance to the level of decision maker in their particular domain as they gain experience.
The problem that I think most organizations face is that they eventually end up with a strategic decision making level that is impenetrable by the rank and file. The people at this level only hire their friends or promote people who have similar viewpoints to them. This is incredibly demoralizing as well as toxic to the organization because you as a person who is actually doing the work have important context that the strategic leaders don't have and won't listen to.
Solving this problem is one of the more interesting systems problems out there. I'm not aware of any large organization that has truly figured this out (including national governments).
As a dev in an XL org, I agree with the parent comment: if decision-making power isn't clear from the outset, people hold important-feeling weekly sync meetings for months and then wonder why they can't hit the deadline. Also everyone disagrees as to what the product that we were building in the first place even was because nobody was in charge of clearly delineating it.
Good leadership feels like a democracy while actually being a dictatorship.
Walk people towards the decision you want using a Socratic method and then let them take the credit for the decision making.
Of course sometimes you will get a situation where someone doesn’t arrive at the solution you want anyway so you need to excise a bit of hard power, but hopefully that is rare enough that people respect it when you do it.
> Walk people towards the decision you want using a Socratic method and then let them take the credit for the decision making.
I've been trying really hard to do this. It is an impressive hack when you can pull it off.
If you have gigantic egos on your team, then getting everyone in agreement can often be expedited with a little bit of inception. My own ego is the biggest reason I have difficulty engaging in the socratic technique. And, as you note there are definitely cases where you kind of have to beat the sense into everyone else.
I am at a point where I kind of don't give a shit about the intermediate decisions and exact correctness anymore. I am far more interested in getting further down the product roadmap and seeing my entire vision unfold. Money has almost become a secondary concern to me. As long as the appropriate steps are taken, I don't even care if my name is on it anymore.
It is a lot easier to move an elephant when it performs of its own volition. The most advanced and effective forms of people management seem to involve manipulation of egos.
People like the illusion of democracy and the stability of dictatorship. As we can see from this and the other thread, when the proverbial shit rolls horizontally instead of vertically effectiveness goes down and leadership becomes impotent. The game becomes 'who can I blame this on adjacent to me?' instead of either up or down.
The best way to make everyone happy is to have the democratic discussion, hear everyone out, and then let the boss acknowledge their help and make their decision. Loyalty to the boss, regardless of their decision then determines performance. Team members did their duty by offering their best insight, whether it was selected or not.
Ask your hiring manager questions about decision making. Some I like:
“How do product/feature decisions get made? Walk me through the lifecycle of a new feature from customer/stakeholder to release and evaluation”
“What’s the org approach to tech debt? How do various proposed fixes get prioritized and worked on?” (In a top-down org even tech debt will be centrally groomed. In a fully distributed org the answer is something like “what? Folks just fix stuff that needs to be fixed.”)
“How do you align your teams to the company’s / org’s objectives?”
Basically you need to treat interviews as two-way. You are interviewing the company too, and you can always ask for another Hiring Manager chat at the end of the process if you still have Qs you didn’t get to.
Not sure as it is more of a culture thing. When interviewing you can ask how decisions are made. “Mission focused” is the term I use but I’m sure it means different things to different companies.
Honestly it benefits everyone. ICs like that authority is clear. Effective companies are mission-focused and they are not democracies. FB sounds extremely bloated and ineffective.