Legendary Doom and Quake programmer John Carmack leaves Meta citing inefficiency cover image

Legendary Doom and Quake programmer John Carmack leaves Meta citing inefficiency

John Carmack has departed Meta citing the company’s extreme inefficiency, self sabotage, and squandered effort.

John Carmack has resigned from Meta, releasing an official version of a previously-leaked internal resignation letter. The news broke officially on Carmack’s social media late on Dec. 16.

In the extended post on Facebook, Carmack explains that this is the end of a decade working in virtual reality (VR). Citing Quake 2 as an example of a fully realized project for him, he goes on to state that while Meta is a “good product” the issue he has is with efficiency. He calls the Meta company inefficient, self-sabotaging and states that they squander effort. “I think our organization is operating at half the effectiveness that would make me happy.”

In late October, it was reported that Meta had spend over $100 billion on research and product development for the Metaverse. This was in contrast to product demos that looked shoddy, out-of-date, and didn't even have legs (although they announced them, only for that to later prove to be a lie). In all possible metrics, Meta and the Metaverse looked inefficient.

Efficiency is a no joke to John Carmack

Doom was a triumph of efficient programming (Screenshot by Esports.gg)
Doom was a triumph of efficient programming (Screenshot by Esports.gg)

Carmack explains his frustrations were made worse by the fact that he cares "...deeply about efficiency."

"When you work hard at optimization for most of your life, seeing something that is grossly inefficient hurts your soul.” This is no empty statement, as Carmack has consistently optimized and pushed the boundaries of efficiency in software and gaming throughout his career. 

In 1989, Carmack created a technique called “adaptive tile refresh” which made smooth side-scrolling graphics created by software rendering on the PC possible. At the time, side-scrolling graphics were something only consoles could do using hardware acceleration. id Software's Commander Keen became one of the first games to use this technique.

In 1993, Doom, programmed by Carmack, became the first game to use Binary Space Partitioning, a formerly theoretical process whereby a map is effective broken down into hundreds of sectors. This completely reduced the processing power needed for them to render a 3d plane. As a result, Doom rendered huge maps with extremely limited hardware.

Ray casting, Carmack’s Reverse (sometimes known as z-fail stencil shadows), MegaTexture tech, fast inverse square root algorithms—were all pioneered by Carmack in the name of optimization and efficiency. And if he says your organization is inefficient, you should definitely listen.

John Carmack’s tumultuous time with Meta and VR

John Carmack entered the world of VR in 2013, joining the Oculus team, which later became part of Meta. However, his previous position at id Software, then owned by ZeniMax Media, became the foundation of a lawsuit. ZeniMax accused Oculus of stealing their VR intellectual property. Oculus were held liable for in court, but Carmac was absolved of liability. In 2017, Carmack sued ZeniMax, claiming the company had refused to pay him the remaining $22.5 million owed to him from their purchase of id Software.

In 2019, Carmack began moving away from the Oculus project, by then owned by Meta, instead focusing on artificial general intelligence with his new startup Keen Technologies. Now Carmack leaves Meta and VR behind. 

John Carmack's statement on Facebook
John Carmack's statement on Facebook

The departure marks the end of a tumultuous relationship with Meta and John Carmack. The programmer has frequently aired his grievances with the company, as he describes in his recent tweets: “As anyone who listens to my unscripted Connect talks knows, I have always been pretty frustrated with how things get done at FB/Meta.  Everything necessary for spectacular success is right there, but it doesn't get put together effectively.”

However, his statement is also tinged with regret at not being able to do more. “I have a voice at the highest levels here, so it feels like I should be able to move things, but I’m evidently not persuasive enough.” Part of this sounds like the disappointment of a senior programmer who isn’t able to get higher ups to understand “I could have… tried to wage battles with generations of leadership, but I was busy programming, and I assumed I would hate it, be bad at it, and probably lose anyway.” His sentiments echo the frustration of any skilled employee who’s had to attempt to navigate the ugly bloodbath of corporate culture.

Carmack signs off with a call to arms of such: “Make better decisions and fill your products with “Give a Damn!”” We can only hope Meta listens to the veteran programmer’s plea.