Live data from Hacker News

Uber lays off 435 people

techcrunch.com

581–590 of 611 posts

Re: Uber lays off 435 people

#581
post #455

Earlier quoted context omitted.

I setup an enterprise-grade Mattermost server in a weekend. The hardest part wasn't even Mattermost itself, but getting SMTP working reliably in the age of DKIM/SPF/DMARC policies. This could be sidestepped by using any of the well-established email providers. No reason to use Slack when such options exist, but also no reason to write your own chat app, either.

Uber have talked about their internal chat app, uChat. When OP says they built their own internal chat app, that's not entirely accurate - uChat is built upon Mattermost. https://eng.uber.com/uchat/

That kinda sucks the air out of this whole thread. "that's not entirely accurate" is a bit of an understatement. But, don't let facts get in the way of a good rant!

Mattermost has been rock solid for the last couple of years for my team BTW.

Re: Uber lays off 435 people

#582

Earlier quoted context omitted.

If the only defense of capitalism is competition, why not market socialism? As in, markets, competition, and entrepreneurship still exist, but all firms must be worker-owned.

Because then you would be forcing everyone to be an equity partner, even if they would rather take a higher salary than share in the risk. Doesn't sound like freedom to me.

The "freedom" to monopolize capital is not a meaningful freedom, any more than the freedom to starve in a ditch is a real freedom.

Re: Uber lays off 435 people

#583

Earlier quoted context omitted.

If the only defense of capitalism is competition, why not market socialism? As in, markets, competition, and entrepreneurship still exist, but all firms must be worker-owned.

It is too fragile.

Did I miss when Denmark elected Trump because the people completely distrust the elites and wanted someone to burn it all down?

Re: Uber lays off 435 people

#584

Earlier quoted context omitted.

Let's not pretend that hosting an OSS chat server is a walk in the park for every enterprise just because you personally got one up and running in a weekend.

Let's not pretend that building one from scratch isn't at least an order of magnitude harder, either.

I'm not necessarily in the 'build one from scratch' camp either, I'm just pointing out that there's a trilemma in enterprise systems. How fast you're able to get something up and running is just one factor and not always the most important one.

Re: Uber lays off 435 people

#585

Earlier quoted context omitted.

So they're paying 26 cents per ride on all compute resources across their entire company? That doesn't really sound that bad, considering that rides can easily cost dozens of dollars. Just about any other non-tech business would kill for such low overhead.

> 26 cents per ride That's terrible. Other non-tech businesses, hell EVERY business that I've ever worked in that used AWS did better per transaction - healthcare, digital advertising, virtual office tooling, gaming. If you can't do better than a credit card processing fee per paid customer interaction across the company on AWS, you might as well be selling retail goods...and depending on age, your company might be s…

Thank you, my point exactly. Their infrastructure costs are terrible. Especially considering how easy their data is to shard etc (buyer and seller belong are in the same geo physically).

Re: Uber lays off 435 people

#586

Earlier quoted context omitted.

Let's not pretend that building one from scratch isn't at least an order of magnitude harder, either.

Looking at this from Spain, you did do this over the weekend. I also work 6 days a week—but my hope is that this didn’t take the place of building a family, having a relationship, finding a relationship going for a hike in the mountains, citizen science, or making art. Your weekend is valuable!

My comment isn't concerned with using 'personal' time for such endeavors. My concern is with the implicit conclusion that how fast you can get something up and running (a 'weekend' in this case) is an argument that you can and should deploy a new stack in any given enterprise.

You'll find a lot of times the champion of the new hotness moves on and leaves someone else to maintain the old hotness at costs that were never factored into the original deployment.

As I noted in another comment, it's a trilemma where you have to pick and choose your battles. The initial deployment time is rarely the most important factor when introducing a new stack within an organization.

Re: Uber lays off 435 people

#587

Earlier quoted context omitted.

Let's not pretend that hosting an OSS chat server is a walk in the park for every enterprise just because you personally got one up and running in a weekend.

When large MMO guilds have had a mostly trouble free chat client that supports a few thousand concurrent users on the free time and good will of admins I'm loathe to believe that this shit is impossible

I'm not sure how you read from my comment that I'm saying 'this shit is impossible'. I'm simply saying in many organizations 'how fast the intern got it up and running' is not always a valid indicator of how ready it is to be deployed to a few thousand concurrent users.

For example, large MMO guilds have a quite different regulatory environment from, say, a large healthcare organization in the US governed by HIPAA. It's an extreme example, sure, but a homegrown, dumbed down solution, might be the only way to ensure regulatory compliance.

It doesn't take a lot of imagination to come up with other scenarios. I can't defend Uber doing it because I'm not involved, but large MMO guilds are not archetypal of enterprise systems.

Re: Uber lays off 435 people

#588

Earlier quoted context omitted.

> They might be high performers while being technically unprofitable. Why would you do that vs moving the high performers to the business critical projects?

So you're saying software devs are just cogs that can be easily replaced?

No.

I'm implying that rather than laying off top performers you find them a different role in your organization.

Granted if the skill set is incredibly niche--such as hand optimizing HC12 assembly and you've moved to ARM then perhaps not.

It's hard to imagine a scenario where an entire project teams skillset is so niche that they couldn't find a home for top developers in other parts of the org.

Re: Uber lays off 435 people

#589
post #377

Earlier quoted context omitted.

> and instead anyone with the link who can sneak in has access You don't have to make those links (and you can turn off, per server, the ability to create those links.) You can invite specific users. The user already has to have a Discord account, though. And that's the thing; Discord has a different accounts model. Which is part of what I was referring to when I said they had a more solid tech base: when you're sign…

A dozen web sockets are not the reason for high resource usage. Web sockets take very little to maintain.

It’s not the dozen websockets in a literal sense that are the problem; they’re more an especially-visible consequence of their design choices that is easily noticeable during a design audit—a “canary” that shows the flaws of their model.

Slack has decided that each team workspace must be firewalled off from the others: such that it needs its own websocket, its own client-side sync session, its own open channels, etc. This is because Slack was first-and-foremost a web-app, and in the Slack web-app, you’d just have one browser tab per Slack team. Slack built up its infra assuming this “one tab per workspace” model, and it crept into their backend API design, and now they’re kind of stuck with it. So now, even in the native mobile app (let alone the desktop Electron app), when you have 12 Slack teams open, you have basically 12 copies of the app’s view-controllers open and idling in the background, 12 background sync controllers, etc. In the case of the Electron client, that’s also 12 renderer processes, just as if you had 12 literal browser tabs open!

You might not notice this at first, because Slack won’t initialize all those resource for a workspace’s “tab”-equivalent until you actually focus the given workspace at least once. But if you just skim through all those workspaces once in the morning, and leave Slack open, it’ll be hogging those resources all day.

(And, on mobile, that’s especially a concern, because despite what you say, web-sockets themselves have heartbeats, and 12x the heartbeats is 12x the reasons for your phone’s modem to wake up. If you’re ever wondering why the part of your phone around the antenna is getting hot even when you’re not actively using data—it’s probably that you have several active Slack workspaces in a live Slack app-container.)

Re: Uber lays off 435 people

#590
post #394
post #377

Earlier quoted context omitted.

> and instead anyone with the link who can sneak in has access You don't have to make those links (and you can turn off, per server, the ability to create those links.) You can invite specific users. The user already has to have a Discord account, though. And that's the thing; Discord has a different accounts model. Which is part of what I was referring to when I said they had a more solid tech base: when you're sign…

I don’t think this is an advantage? Work account can be accessed by your IT department, locked out when you leave, investigated for any reason. I certainly don’t want to have any links to my personal stuff at all! As for github.com, our official IT recommendation that people don’t use their personal accounts, but create one just for work. This way there is no worries about personal data there. (This is at a subsidiar…

> I certainly don’t want to have any links to my personal stuff at all!

Keep in mind, putting SSO into Discord’s account system (if that ever happened) wouldn’t be like putting Enterprise MDM on your personal phone. It would be more like having Chrome Sync signed into both your personal Gmail account and your GSuite account, as separate Chrome “People” (or whatever those are called.)

With Chrome Sync, the profiles are still isolated from one another; but updates to them ride in the same sync carrier connection, because that connection is going to Google either way. In this sense, the Chrome installation itself, and its “installation-specific sync client ID”, is like a Discord account. It’s not a personal account, or an enterprise account; it’s a nothing in-and-of-itself, that has those types of objects under it.

Post reply on HN