John Carmack on lead time to push fixes in startups
twitter.com
twitter.com
Yeah but like, I get that startups are better at listening to customers and adjusting quickly.
But I can confidently say.. if John Carmack himself legit sent me an email pointing out some problem with something I made. You bet your ass I would respond and listen to what was on his mind. Regardless of the size of my company and the amount of work on my plate :p
However, being able to implement it, having the infra to facilitate, and the internal quality of the deliverable not to incur more tech debt by being quick … this is just not as simple as size of company and work on plate.
Yes, I am not humble but we work hard :)
I wish we were building for customers instead of building for my or someone in my leadership chain’s promotion. I think most companies start with that focus then lose it after a certain size. Most of the engineers working on projects don’t even care about the product.
I've only ever heard that phrase or something approximating it used to excuse bad practices.
I also found out we were funded just to light a fire under another team that moved very slowly. Whatever we made would be taken back to that team and we'd have to sell them on using it, and also show them what was possible.
Ultimately, we were just a cog in this larger machine. Nowadays I don't really trust anybody at big companies that says "our team is like a startup".
I find it astounding that this could be true for someone as senior and respected as Carmack. Is it because he's working in a hardware division? What takes so damn long?
Side note - its interesting how Carmack has come out and publicly bashed Meta so much. I guess you can do that when you're in his position.
Maybe because they suck and deserve to be criticized?
> Isn’t staying quiet the right thing to do?
It's certainly the easier thing to do. It's a sad world we live in where being 'professional' means being dishonest.
Source: worked at Meta on Quest system software with Carmack 2018-2021
Likely? Certainly from all appearances from the outside there are many legitimate bones to pick about Meta's organizational sclerosis, but part of this is structural to the product itself.
"I can fix the image quality issues with X relatively easily, I know exactly what needs to be done"
elicits (rightfully!)
"We operate on an intensely compute-constrained device where every cycle matters. Over-consumption of compute causes battery life to degrade significantly and the device to become uncomfortably warm to wear. How much compute will this solution cost?"
Then you have to balance the additional compute with drawing down compute somewhere else. Maybe the tracking camera algorithms can be optimized to consume less compute, which opens room for additional usage elsewhere, but now you've introduced a blocking dependency to delivering this enhancement.
Even in a well-functioning organization this prevent shipping as fast as a startup. Part of why startups ship fast isn't just organizational, it's because the products are simpler with fewer technical constraints.
Hardware (particularly embedded hardware - which Meta Quests are not precisely, but are pretty close) presents intense levels of constraints that most people who write code on servers (or even PCs) don't often appreciate.
More like a phone from 2020. The Samsung Galaxy S20 base model has 8GB of RAM (the S20FE has 6GB)
There are things you can do that can help. The biggest in my experience is robust automated testing combined with robust automated deployments
Continuous deployment (any code that passes the tests gets deployed) is incredible if you can get there, but the next best thing is continuous deployment to a staging environment followed by one-click-deploys by trusted release managers to production.
Large orgs can be pretty nimble too if they are properly set up and have the right people btw
At Meta you have hundreds of millions if not more users and any issue largely isn't so obvious that you can just go and fix five lines of code. When someone comes around and says "hey I'm Bob xyz isn't working" you probably need to figure out first if that's a real issue at all and if fixing it doesn't break ten other things.
The potential downside is much, much larger if you overreact to individual complaints at that scale.
I love a quick fix where I tell the customer “try it again” done.
Unless someone from the org comments here, which I doubt considering the animosity HN has at VR or Meta, we’ll never know why oculus didn’t work like that, if it was a real issue there or if Carmack is exaggerating, if it was an issue are tweets like going to help the org rethink itself?
The only signal we’re getting, from the outside, are the releases. I had the go and the quest and the gap in technology between the two were amazing.
I don’t know about quest to quest 2, or quest 2 to quest pro, and I guess we’ll see what the quest 3 delivers. Maybe other people know?
Meta on other hand could care less about John Carmack’s opinion as it has no impact to their business. In short John Carmack’s opinion was ignored it had no impact for a large company.
The mistake John Carmack is making is that he thinks his views are special, they are not.
I know that I got some really responsive work from startups we purchased from, and it was very nice, and we were just one of their customers.
Sadly, once they pivot away from whatever it was then it all goes away.
Anyway, no, the report did not lead to a scramble. As a matter of fact, it was not even treated as critical because it was not “business down” and no event different than business down is worth introducing (even potentially) more problems that it is solving.
Lead time isn't about "startups", it's about code complexity, side effects and blast radius.
The time it takes to push code when you have 10 use-cases and 1,000 users, is very different from the time it takes to push code when you have 1,000 use-cases but 10,000,000 users. At that scale, it takes A LOT of effort to keep fix times small. It isn't going to occur naturally.
Some times the effort to keep that fix time small may not be worth it, some times it might.