I am sure Carmack himself encourages debates and discussions. Lionizing one person can't be expected of every employee (unless that person is also the founder or the company is tiny).
But I agree that civil discussion is good.
Don’t think so.
If it comes down to someone saying “I’ve been doing this for 30 years, I’ve shipped something very similar 5 times, and we ran into a problem with x each time”. Unless you have similar counter experience, you should probably just listen.
What happens in tech is you get a very specific kind of junior who wants to have HN comment arguments at work constantly and needs you to prove every single thing to them. I don’t know man it’s a style guide. There’s not going to be hard quantitative evidence to support why we said you shouldn’t reach for macros first.
I remember this guy wanted $20 million to build AGI a year ago (did he get that money?), and people here thought he would go into isolation for a few weeks and come out with AGI because he made some games like that. It’s just embarrassing as a community.
That’s a pittance for such a project. I wish we could see what he’d have come up with.
https://www.youtube.com/watch?v=52hMWMWKAMk&t=1s
This is a guy who figures that what he wants to do most with his 3 free weekends is to port his latest, greatest engine to a Cortex-A8. Leading corporate strategy? Maybe not. But Carmack on efficiency? Just do it.
John Carmack, David Cutler, Tom West, Cameron Zwarich, etc. There are about maybe 50 of them.
Worked on DEC Alpha, AMD K7 & K8, Broadcom, P.A. Semi, was in turn purchased by Apple. Jim spent four years at Apple before first returning to AMD, then on to Tesla, Intel and finally Tenstorrent.
Keller keynoting TSMC's 2022 Open Innovation Summit: https://www.youtube.com/watch?v=32CRYenTcdw
Still, I saw this demo at that time and I felt it was impressive considering the toy level performance of 2010's smartphone.
Dude just seemed frustrated with the lack of attention to things that mattered.
But...that honestly tracks with Meta's past and present.
Meta Quest 3 feels like sci-fi tech with badly executed UI design from the 90s.
impact is facebook for “how useful is this to the company” and its an explicit axis of judgement.
Why is complaining to HR even an option on the table?
Why the fuck is he even hired there if you are not going to listen to him.
Dude has forgotten more things about game development than you will ever know...
They finally have feet now, right?
Only light fun. I'm just a little perplexed at their progress and direction over the past 7-8 years. I don't understand how they can have so many high caliber people and put out...that.
This is true of course, but this is also true for the “search for truth” in science. Do we fail to point out the flaw in the reasoning of someone’s life's work for fear of offence? The truth is the higher ideal that must be strived for!
In the same way, an idea is only good once it has been challenged. It may fail and dissolve, it may survive, it may morph into something that can no longer be assailed. This is the forgers fire, and it is necessary.
I know this isn’t as black and white as I’m painting it, but the ideal is still something worth striving for.
Also, software engineering is a field where there’s rarely some ideal truth we’re trying to achieve, and indeed even in science, people do often fail to point out flaws in reasoning for fear of offense.
When your emotions over your work become more important than the quality of the work you're outputting, you become a problem for people who use your work.
No wonder they used any means necessary (including HR) to defend their source of money.
They probably knew very well they are a net loss for the company.
Lots of big orgs have such crooks. It's a failure of management not to fire them.
If he doesn’t believe in something, he can sometimes be over critical and it’s hard to push back in that kind of power imbalance.
Maybe you know something they don’t; it’s actually very likely. But maybe what you think matters actually doesn’t at all and ultimately they’re right.
In either case, they were shipping, so best to listen and be prepared if you disagree.
Not some new OS so you can start making the glasses 2 years later.
Just like when you want to bake a cake, you dont start by designing an oven, or creating an universe from scratch
This is Meta. Let the kids build their operating system ffs. Is he now more concerned with protecting shareholder value? Who cares.
It doesn't sound like he's concerned with waste. It sounds like it's a typical Carmack argument - distilled and hyper logical, and his conclusion is more to do with the pointlessness of it. He actually concedes the point that the project may have been highly efficient (which it may or may not have been, he was steelmanning).
His main points seemed to be:
If every cycle matters and efficiency is paramount, just make the project monolithic C++ code. If every cycle matters, that is somewhat incompatible with general purpose OSs, and if it doesn't, the existing landscape is more than good enough. Presumably, he's calling out the absurdity of counter-arguments which are being unrealistic about the objectives of creating a new general purpose OS, while also focusing on extreme efficiency. He states that the requirements to fully achieve these objectives would require a "monastic coding enclave" like Plan 9 OS, and it wasn't realistic even with the high talent in Meta.
And that plays into the second point, which seems to essentially be "new OSs aren't a draw for developers, they are a burden". This is painfully obvious when looking at the history of OSs and software, and it's the obvious reason why "let the kids build their operating system ffs" should result in a reflexive "noooo..." from the greybeards. The deeper point though is that if A. is achieved, the B. Burden on devs will be even more onerous. Therefore unless the entire project is committed to truly moving crowds to new paradigms (good luck, literally billions have been lost here), just use the proven, faily high performance options that have widespread support.
The conclusion is "on balance, it's a bad idea." He's arguing it sharply (although I understand a Carmack steelman is intimidating to attack), but in essence it's a fairly banal and conservative conclusion, backed with strong precedent.
XROS was an org that hired for specific specialist positions (as opposed to the usual "get hired into FB, go through the bootcamp, and find your place within the company"). At one point we got two separate requests from the recruiting execs: - Your tech screen pass rate is way too low compared to other teams at FB. Please consider making your tech screen easier to expand the pool of candidates. - Your interview-to-offer rate is way too low compared to other teams at FB. Please consider making your tech screen more difficult to reduce time that engineers spend on interviewing and writing feedback.
Anyway, IMO it was a very strong team in a very wrong environment. Most of the folks on the team hated the Facebook culture, despised the PSC process (despite having no problems with delivering impact in a greenfield project), had very little respect for non-technical managers coming from FB proper (the XROS team saw themselves as part of Oculus), and the majority I believe fled to other companies as soon as the project was scrapped. The pay was good however, and the work was very interesting. My overall impression was that most people on the team saw XROS as a journey, not a destination, and it was one of the reasons why it was destined to never ship.
If you want to be the dominant player in the market in 10-15 years, build the OS and keep funding it.
iPhones and Macs share a kernel and a large portion of user space and syscalls, right?
If the GPL is a problem just fork some BSD like the PS3 did, and pretend you're maintaining code that you already spent five years on
I know you need low latency for XR + VR + AR - everyone needs low latency for everything. So they could build on whatever has been done for audio and networking and Android touch screens that all want low latency too
I'm speaking foolishly from outside but making "an OS for" something is more commonly marketing speak than a good idea. Like this fucking "OS for cities" and "OS for work" stuff. That's an OS the way a cookie recipe is an OS for a fucking oven. The casual insistence on misunderstanding important things really gets my goats
the problem was, it was holding back products. Because if youre going to make your own OS, it changes what chips you put in. If you don't know what chipset you're going to have, you don;t know what your pixel budget is, you can't plan features.
It takes about 2 years to get hardware out the door, and another 1.5 years to iron out the bugs and get a "finished" product.
and also, it wasn't enough to "win" against a den-of-wolves place filled with power-players like meta.
Or it’s an appeal to authority in that if a person of authority says it then they must be right so there’s no reason to push back in the first place.
the good news is that in this hypothetical i'd be skilled and talented enough to be working with john fucking carmack so i wouldn't exactly be concerned about my ability to find a new gig in about 3 days. that's my point. now if there were evidence he'd be liable to blackball me in some way (no evidence of that to my knowledge), then the power disparity argument has more legs in my opinion.
Imagine being able to build an operating system, basically the end-game of being a programmer, and get PAID for it. Then some nerd tells on you.
Damn, I'd pay to work in some serious OS/Compiler teams, but hey why should they hire me? Oh well...Yeah I'm doing a bit of projects on my side but man I'm so burnt out by my 9am-5pm $$ job + 5pm-10pm kid job that I barely have any large chunk of time to work on those.
In theory, it’s better to sleep early, get up around 5 and get 2 hours of quality time, but man he sometimes gets up around 6:15 and earlier, and I found it difficult to get good sleep anyway, so I tried to switch to 2 hours of night time, but he wants to sleep with me for 30 mins around 9pm before going to my wife’s bed, and I usually fell sleep sooner than he did…
Girls are much easier to raise. They sleep earlier and don’t fight too much, as far as I heard from friends.
Definitely depends on the specific children!
> If the platform really needs to watch every cycle that tightly, you aren't going to be a general purpose platform, and you might as well just make a monolithic C++ embedded application, rather than a whole new platform that is very likely to have a low shelf life as the hardware platform evolves.
Which I think is agreeable, up to a certain point, because I think it's potentially naive. That monolithic C++ embedded application is going to be fundamentally built out of a scheduler, IO and driver interfaces, and a shell. That's the only sane way to do something like this. And that's an operating system.
Exactly! I picture the choice being grandfathering in compatibility with existing OSes (having the promised performance of their product in fact indirectly modulated by the output of all other teams of world's smartest throughout computing history and present day), vs wringing another OS-sized piece of C++ tech debt upon unsuspecting humanity. In which case I am thankful to Carmack for making the call.
I can understand how "what you're doing is fundamentally pointless" is something they can only afford to hear from someone who already has their degree of magnitude of fuck-you money. Furthermore in a VC-shaped culture it can also be a statement that's to many people fundamentally incomprehensible
Anyway, if anyone reading this gets a chance to build a custom OS for bespoke HW, and get paid FAANG salary to do so, go for it! :-D
(Mind you, Carmack himself was responsible for Oculus' Scheme-based VRScript exploratory-programming environment, another Meta-funded passion project that didn't end up going far. It surely didn't cost remotely as much as XROS though.)
But it turned out nobody cared. People who envisioned doctors using VR glasses to look at MR images in 3D, architects, modelers, mechanical engineers, who people thought would use 3D to do work turned out to not want it.
Immersive games were created, that looked and ran amazing, and afforded a never-before-seen level of interactivity, but after a few standout successes, people just moved on.
It's like Apple got to about the iPhone 4 level (where most people would agree the experience was decent), then everybody decided to go back to their old Nokias.
I even found myself letting really bad things go by because it was just going to take way to much of my time to spoon feed people and get them to stop.
(Especially if it's an "API" persisted to disk)
And the Sr was generally a very nice person who did not give much weight to levels, willing to engage with anyone.
I've had to coach people and help them understand the entitlement involved in demanding that everyone adjust and adhere to their personal preferences and communication style. In my experience, it's about seeking to understand the person and adapt accordingly. Not everyone is willing to do that.
If I’m kinda sensitive but also hyper-ambitious, I acknowledge that Facebook has
1. Some of the highest pay in the industry. 2. Ultra-competitive environment. 3. Low moral principles.
Seems like the strategy would be to use every lever at your disposal to manipulate your environment, rather than leave and risk getting paid less.
If I understand the hypothetical you've proposed, my advice would be for you to adapt and learn to be less sensitive rather than have you believe that you can manipulate the environment, or worse, directly manipulate people.
It's possible that you could be a positive influence for change, so I don't want to completed discount any effort there, but I also think it's worth being realistic about what you can actually affect.
But like it works for Musk and Trump, and probably hundreds of other leaders today, why not take their example? (Assuming again, your highly ambitious and competitive, I’m more pro social, so I’d take your route)
I mean maybe, but maybe Carmac is just an ass hole... He can be a "legend" in the software development world and also just not be a super great person socially. The two things aren't mutually exclusive.
I don't disagree with you entirely, but being "direct" isn't a get-out-of-jail-free card for poor interpersonal skills. It's not always about "fragile egos" or "entitlement", it's about basic professionalism and communication.
I'm not saying that there's no space for direct communication and that everyone needs to be formal and socially polite during every interaction. But I've met many people who act like you describe John does who very much do not appreciate getting it back, implying some level of awareness that their directness is hurtful on occasion.
I've only met a few direct people who can take it as well.
It makes me want to reframe this a little with your statement 'understand the person and adapt accordingly.' As someone who has learned their social skills later, I think it's usually more of a responsibility of the abrasive person to adapt their communication style and know when it is best used.
Specifically, I think abrasive and direct works great in high trust environments. It has served me well as well. It does sometimes relate to autism for me, ymmv.
Anyway the reason why it doesn't work outside of high trust environments is that people have feelings, and their feelings matter. Ultimately you do have a responsibility to try and be considerate. So like, for me I try to separate the high trust and low trust environments in my life, and keep the part of me that's direct and abrasive (often among peers in technical context) less vocal in the low trust environment.
When I intentionally want to push back in a low trust environment, I try to check in more with the person, look to where they seem uncomfortable, and double check I understand what their insecurities might be in a certain context as that often increases defensiveness.
Sometimes in low trust environments I might not notice, or I might identify it as low trust and just not care. In those contexts yeah I'll be the disgruntled aspie ;) but in other contexts I want to connect to people and really think through the impact of my words not the righteousness.
You’re right that direct and/or abrasive communication is better received in high trust relationships or environments. So the goal should always be to try and take steps to cultivate that.
In my experience, some people are legitimate assholes. but many are simply misunderstood and what I’ve learned throughout my life is that you’ll learn a lot and gain a lot simply by looking past your initial emotional response and approach things with an open mind.
In Doom Guy, though, Romero says that after he left iD, he heard from others still working there that the company had become something of a dictatorship under Carmack, and that within X months (I forget how many), half the company had quit. Romero also qualifies several times that they were all in their early/mid-20s and didn't have the requisite life experience to be handling business situations well
There are many factors on whether to use a one handed or two handed backhand in tennis. It's subjective which one feels better, but there exists an objective answer to whether it makes a particular player better or not.
And just because it's hard and experts can get it wrong, doesn't mean expertise means nothing and "it's all subjective".
The fact that there exists a right and a wrong definitially means it's objective.
And for the business, or the project, there is a right and a wrong, on whether to build an OS or not. Even if it's very hard to predict, and not feasible to A/B test.
So that's like saying there's no right or wrong answer on whether to leave your 15th floor apartment a normal morning via the stairs, or by jumping out of the bathroom window. Yes, actually, there is. Unless your goal is to go splat.
"Will this make the product better", "will this make the product deliver sooner", "will this be a net positive to the company's bottom line" are all objective, though hard, questions.
> Very related to https://en.wikipedia.org/wiki/Is%E2%80%93ought_problem
Nonsense. The company already has many many oughts already. Otherwise words mean nothing, and the "right answer" to an interview question about hashmaps is to strip naked and start humping the trash can.
And on my tennis analogy, it's objective that one way or the other allows a gives player to win more games. So we can call it "better". Even though you can still argue whether you "ought" to try to win.
No, because it's subjective whether your interpretation of "fiduciary duty" precludes them from developing an OS. I think it does not, for example.
> Unless your goal is to go splat.
Yeah, goals are subjective too.
> Otherwise words mean nothing
Words do mean nothing, they are pointers to ideas. And for you "objective" points to a different idea than it does for most people.
We can disagree in our best assessment if "developing an OS" is a good strategy for achieving our goals.
But no, that is not subjective. There's a right answer. We can try to use our experience and place subjective weights on probabilities, but if we could A/B history, there's definitely an objective right answer.
Boiling down "building an OS" to the math of spending dollars on OS development and the return on this investment in dollars, this is objective.
In your estimation of how much it'll cost, you turn to experts who use objective and subjective resources to try to estimate the true objective numbers.
> for you "objective" points to a different idea than it does for most people.
Me, the dictionary, and the world disagrees with you.
> It is very much not an objective discussion if you are discussing whether it makes sense to develop a new operating system.
I don't know what kind of discussions you have, but if you were in the room would you be saying "I just have this gut feeling that we need to develop an OS"?
I would hope that instead you would be making objective arguments such as "The cost of this OS development, because we control the hardware and will need drivers for video, audio, bluetooth, and inertial sensors, is (based on similar projects here) about $X in labor cost. The benefits are (just making this up) battery times because we won't need a write path and cache coherence on the storage system, which per this benchmark consumes Y% of clock cycles. And this should cause our product to be better to the tune of $Z based on these previous product statistics"
Now, an objective counter argument could be that the cost isn't $X, it should be $X2, because the people working on this have an opportunity cost. And there's another cost $W, which is delayed time to market. And $X in any case would need to be compared with patching the Linux kernel for the needed features.
And so on, and so on.
It's also an objective discussion to appeal to your experience, or experience of others: "Look, when company X, Y, and Z did this, the eventually abandoned that approach. It never worked for those companies. Why would it instead work for us? How is the problem space different?".
A subjective discussion would be "I just feel like it'll be cleaner if we had our own OS, and that should allow us to leapfrog competition", being countered with "well Linux is battle tested and just works".
"I don't think anybody cares about battery times" — subjective. "Game Boy Classic was good for 30h play time, whereas Game Boy Color only for 10. Here's sentiment analysis on the Game Boy forum indicating with so-and-so error bars that people did care for that use case, and people returned their puchases indicating battery life at a rate of so-and-so higher for Color" — Objective. — "Well, we're not making Game Boy" — Subjective.
If you're having the latter discussion, then you're not actually having a discussion whether it makes sense to develop a new operating system. Whatever you decide will just have the rationale "it felt right".
Having seen Carmack's talks and writings, it's my assumption that his case against writing an OS was not "just trust me bro, I'm experienced". It was likely painfully specific both about the technical complexities, and how those are connected to the bottom line (the end goals).
Your argument seems to be one against the idea of expertise. Experts need to be able to communicate objectively, but the other end of the spectrum where it appears you are, is that "it's all subjective, your data is as good as my guess, there's no such thing as truth".
Subjective is of course not wrong. My examples above may imply that, but just because a visionary can have a subjective vision that predicted the future correctly, doesn't make objective counters not objective. Just objectively wrong.
"You have a one-in-a-billion chance to win the lottery" — "Well I felt I would and I did!" — "Congrats. I was not wrong though".
> Words do mean nothing, they are pointers to ideas.
Are you a philosophy student? Seems a bit entry level.
You don't know someone or how they really behave because they are a public figure.
FWIW I like carmack from what I have seen publically (and Romero, who I have interacted with) but I wouldn’t pretend to know who either of them really are from my observation of them.
There weird hagiographies need to go. Carmack is absolutely not known to be kind. I have no idea what happened here but the idea that's he's this kindly old grandpa who could never, ever be rude or unprofessional is really out there.
There is a difference between “this project is not going to work” vs “these people are incompetent and the project should be cancelled as a result”. The former needs to be said, the latter is a HR violation.
Sorry if I wasn’t clear; this was the point I was actually trying to make. Direct and to the point should not a HR incident make. I was trying to contrast with something that would.
Interestingly, he was pulling the same bs at Google until reason prevailed and he got pushed out (but allowed to save face and claim he resigned willingly[1]).
[0] https://x.com/yewnyx/status/1793684535307284948 [1] https://x.com/marklucovsky/status/1678465552988381185
Facebook VR never needed a new OS in the first place. It needed actual VR.
This is one of the reasons I’m sick of working pretty much anywhere anymore: I can’t be myself.
Appreciating people for their differences when they are humble and gifted is easy. I side with liberals, but I have a mix of liberal, moderate, and conservative friends.
But there are only so many years of pretending to appreciate all of the self-focused people that could be so much better at contributing to the world if they could quietly and selflessly work hard and respect people with different beliefs and backgrounds.
I’m happy for the opportunity I have to work, and I understand how millennials think and work. But working with boomers and/or gen X-ers would be so much less stressful. I could actually have real conversations with people.
I don’t think the problem is really with HR. I think the problem is a generation that was overly pandered to just doesn’t mix with the other generations, and maybe they shouldn’t.
a little bit a negative feedback at high level can domino quickly too. massive pivots, reorgs, the works.
I got angry emails from people because I wrote "replacing a primary page of UI with this feature I never use doesn't give me a lot of value" because statements like that make "the team feel bad". It was an internal beta test with purpose of finding issues before they go public.
Not surprisingly, once this culture holds root, the products start going down the drain too.
But who cares about good products in this great age of AI, right?
Supposedly you were meant to have you disagreements in private, and come to support what ever was decided. "hold your opinions lightly" The latest version of it was something like "disagree and commit".
This meant that you got a shit tonne of group think.
This pissed off Carmack no end, because it meant shitty decisions were let out the door. He kept on banging on about "time to fun". This meant that any feature that got in the way of starting a game up as fast a possible, would get a public rebuke. (rightly so)
People would reply with "but the metric we are trying to move is x,y & z" which invariably would be some sub-team PSC (read promotion/bonus/not getting fired system) optimisation. Carmack would basically say that the update was bad, and they should feel bad. This didn't go down well, because up until 2024 one did not speak negatively about anything on workplace. (Once carmack reported a bug to do with head tracking[from what I recall] there was lots of backwards and forwards, with the conclusion that "won't fix, dont have enough resources". Carmack replied with a diff he'd made fixing the issue.)
Basically Carmack was all about the experience, and Facebook was all about shipping features. This meant that areas of "priority" would scale up staffing. Leaders distrusted games engineers("oh they don't pass our technical interviews"), so pulled in generalists with little to no experience of 3D.
This translated in small teams that produced passable features growing 10x in 6 months and then producing shit. But because they'd grown so much, they constantly re-orged pushed out the only 3d experts they had, they could then never deliver. But as it was a priority, they couldn’t back down
This happened to:
Horizons (the original roblox clone)
video conferencing in oculus
Horizons (the shared experience thing, as in all watching a live broadcast together)
Both those horizons (I can't remember what the original names were) Were merged into horizons world, along with the video conferencing for workplace
originally each team was like 10, by the time that I left, it was something like a thousand or more. With the original engineers either having left or moved on to something more productive.
tldr: Facebook didn't take to central direction setting, ie before we release product x, all its features must work, be integrated with each other, and have a obvious flow/narrative that links them together. Carmack wanted a good product, facebook just wanted to iterate shit out the door to see what stuck.
I've only seen John Carmack's public interactions, but they've all been professional and kind.
It's depressing to imagine HR getting involved because someone's feelings had been hurt by an objective discussion from a person like John Carmack.
I'm having flashbacks to the times in my career when coworkers tried to weaponize HR to push their agenda. Every effort was eventually dismissed by HR, but there is a chilling effect on everyone when you realize that someone at the company is trying to put your job at stake because they didn't like something you said. The next time around, the people targeted are much more hesitant to speak up.