Thread
FAANG promo committees are killing Kubernetes: A Short Thread 🧵
For those outside my teeny tiny social and media bubble, "FAANG" means "big tech company" (originally Facebook+Apple+Amazon+Netflix+Google, now a bit broader), "promo" means job promotion, "promo committees" are the panels which decide who gets promoted and who doesn't.
The promo process isn't exactly the same everywhere, but most of the FAANG-o-sphere has settled on a similar pattern of:

1. write up a document that says why you should get promoted, your "promo packet"
2. get your manager to submit that to the committee
3. wait
4. maybe profit
Packets have become huge manifestos at this point. You need to describe why your work is important, how you've made money for the company, how you've been a leader, internal letters of recommendation from high-ranking peers, and for top titles often external recommendations too.
This takes a mildly ridiculous amount of time and effort to put together, not to mention the ongoing time to lobby for yourself once the documents are assembled (first to get your management to submit it, and then usually lots of time advocating for yourself to Important People).
If you get denied for a promotion, you often can't try again for a while so the system naturally incentivizes "go big or go home" for these documents. Plus even if they don't say it, you're competing with all the others trying to advance so you need to stand out from the field.
And this is a live-fire environment, going L6->7 at Google is worth ~200k/year, 7->8 is ~400. Similar patterns at other places. This isn't just about a title, ridiculous amounts of money are on the line.
Okay, so what, Machiavellian capitalism is nothing new, what does this have to do with Kubernetes? Because promo committees have, for years now, been consistently undervaluing the work of full-time Kubernetes contributors. Or really of open source work more broadly.
Attributable revenue has been taking over as one of the most important factors at most companies. And Kubernetes has very little of that. It's happened gradually, and I don't think this was ever an intended outcome but it's a thing and we have to live with it.
It's too indirect, fixing a bug in kube-apiserver might retain a GCP customer or avoid a costly Apple services outage, but can you put a dollar value on that? How much is CI stability worth? Or community happiness?
And then add on top of it, the time cost. "FOSS maintainers are overloaded" should not be news to anyone, but now add 20/hours a week of campaigning to other high-level folks to "build buzz" for your work and let me know how that goes.
Amazing people put their blood, sweat, and tears into Kubernetes and projects like it, big wonderful impossible projects that make the world better. But if they can't take care of their own needs, eventually that will have to win out.
People have kids, mortgages, student loans, and on top of that most of these companies see not getting promoted as a failing. There is no prize for doing the right thing when everyone tells you otherwise, trust me, I checked.
So people move on, sometimes to other teams at the same FAANG that work on more prestigious (read: more billable revenue) projects, sometimes to small startups to try and monetize their niche expertise, many just burn out from the stress of it all.
Kubernetes looms large in the industry but there is no Kubernetes Inc. Every person who works on it either does it in increasingly rare spare time (like me) or works for one of our vendors, mostly FAANG-y companies.
We, as a project, can't control hiring or really even what people work on. Some high-level contributors get a lot of of their time left undirected to work on things decided on by their SIGs but that's increasingly rare. And as people leave there is no way to replace them.
So here we are, a rapidly shrinking pool of maintainers mostly working on really esoteric features because someone worked out how to connect them to revenue numbers. This is not a sustainable situation.
This is not the only problem facing Kubernetes sustainability but I'm convinced it is by far the biggest one, a huge external incentive pressure that we have zero control over. I honestly don't see a solution here.
If you are on a FAANG promo committee, think long and hard about how you've valued this kind of work, please. I don't know what to say to the rest of us though. I normally bang the drum of UBI and grant programs but neither is close to enough to sustain something at this scale.
And I don't think there is any world in which these companies would give up sovereignty over their people for the greater good. In fact a trend lately is to move dev time to single-vendor projects like Istio so the company doesn't have to share control over direction and goals.
And the sad thing here is this work *does* benefit the companies. I know there is a contingent who says "we never should have open-sourced K8s, look at all that money we left on the table", but that's simply not how reality works.
All the revenue across hundreds or thousands of businesses can only exist because Kubernetes is a big tent, a community-governed standard that everyone can build on together. Fragmenting back into little vendor-specific toolkits is against their own interests.
I guess this wasn't a short thread in the end, but I really hope we can find a way to reverse this trend. I believe strongly in Kubernetes both as a sound technical base to build on for the future and as an amazing community I want to see continue.
tl;dr big tech promotion incentives are pushing people away from multi-vendor-project open source contribution as a full time job, so work is slowing down and I don't know how to fix it.
Mentions
See All