[Epistemic status: Fiction, satire]
“Tell me about FooCorp,” says Brian. “I’ve heard it’s one of the greatest software companies in the world, and I’m interested in working for you guys, but I’ve also heard the rumors and I was hoping you could explain.” Brian and Amy are having coffee. Brian doesn’t actually like coffee but it’s a good social pretext. Amy is a software engineer at FooCorp.
“Yeah, it’s unusual, but that’s what makes it so great!” says Amy, suddenly very passionate in a way that one rarely sees these days. “I guess, for starters, we have a really well-rounded group of engineers. Half the engineers only code in C, and half only code in Haskell.”
“Oh, that’s nice,” says Brian. “So I suppose they work on different parts of the product?”
“No,” says Amy, gesturing, “no, there’s only one codebase – a big monorepo. Right now it’s all in C. So all the Haskell engineers keep making massive PRs to change it over.”
“What?”
“Right, right. It sounds crazy, but we’ve actually had to develop some really good consensus policies to handle this. So to merge in a PR, it has to be approved by a majority of the engineers in the company. Makes the codebase super stable, actually!”
“Woah. How does that play out?”
“We really focus on the important stuff, you know. We try to get in one or two big PRs a year that people can get behind. The Haskell guys usually don’t go for it but a few will usually compromise so the company doesn’t fail and fire everyone.”
“What do your users think of this release cycle?”
“I think at this point they’ve really accepted it. Some of our users would obviously prefer to see the product implemented in a functional way and some would prefer it in an imperative way but, hey reaching consensus takes time. They get it.”
“No, no, I mean what do your users think about bugs never getting fixed?”
“I think that’s not a very practical question. In the real world you have to choose a programming language for your PRs and that’s a highly contentious choice.”
Brian was confused but afraid to press the point. “I’m more of a Python engineer, you think I’d fit into your team?”
“Absolutely! You won’t be writing much code anyway, obviously. How are you at flame wars, IRC trolling, that sort of thing?”
—————
FooCorp is fictional. At least, it’s not a software company. You might like working on my team, which is hiring, instead though!