azylman

Joined 15 years ago

Karma
1,351
Submissions
248
Member since
Aug 22
Sr Staff engineer at Uber working on commerce systems. Former Google engineer. Former engineering manager, tech lead, and founding engineer at Clever (YCS12). My comments are my own, I don't represent any employer, past or present.

I do not put disclosures in my comments, my background is fully disclosed here. Per HN commenting guidelines: assume good faith.

View on Hacker News

Recent submissions

Comment · 3 years ago
This isn't really true, some languages handle I/O much better than other languages. We migrated a Python application to Go that was about as simple as you can get and mostly blocked by I/O (call DB, transform storage format to Thrift, respond to caller with Thrift) and saw SUBSTANTIAL improvements in performance. Approximately 40% improvement in p99 latency and, more notably, 15x improvement in throughput.
Comment · 4 years ago
There's an important nuance there which is that they don't have to prove that the person knew the actions they were taking were illegal, just that they intended to take those actions. As an example:

Knowingly driving a car someone else stole is illegal, even if you don't actually know it's a crime to drive a car someone else stole (after all you didn't steal it, maybe you bought it from the person). Driving a car that was stolen that you didn't know was stolen is not illegal.

Comment · 4 years ago
> I mean what is uber processing payments itself too?

https://underhood.blog/uber-payments-platform

https://underhood.blog/assets/images/uber_payments/overview....

Usually the way these kinds of things evolve is it will start with some business requirement: "We want to launch in country <X> but our existing PSP <Y> doesn't support the country's most common payment method <Z>" (Uber operates in 71 different countries).

So you build out a system to abstract over multiple different PSPs (such as Stripe, though Stripe isn't listed in that graphic so not sure if Uber uses it at all) to unlock new business growth. Then you find out that some PSPs are cheaper than other PSPs, so you can save the business money by supporting additional PSPs. Then you find out that some PSPs are more reliable than others so you can increase availability by dynamically selecting PSPs based on availability and transaction costs etc. etc., layering on complexity over time.

All these things are actually built for very good reason (in this example, built to grow the business and reduce costs), but the reasons aren't obvious to the outside observer. But the work easily pays for itself many times over.

So could you run Uber with <100 engineers? Probably, if you were okay running in just a single country instead of 71. But that would be a very different Uber.

Comment · 4 years ago
You can only run Uber with <100 engineers if you cut out a substantial amount of the systems Uber requires to actually function as a company. Goodbye Fraud, Risk, Safety, Insurance, Compliance, etc. That may be true for things like Whatsapp with a simpler feature set, but is certainly not generally true. For instance, people often underestimate the amount of ongoing engineering effort to stay up to date on changes in tax law in all the countries Uber operates in.
Comment · 4 years ago
> Should be max 100 devs and everyone else in sales and support.

People with no experience running systems at scale often underestimate the amount of effort required.

Comment · 4 years ago
Comment · 4 years ago
If this still builds a dam, doesn't this have the same environmental concerns as any hydro project? Or is there something that makes this less of a concern?
Comment · 4 years ago
Sourdough is made with yeast
Comment · 4 years ago
Yup, that's a lot closer to the kind of numbers I would have expected. And if you look at peak it's probably at least 10k tps for each of them.
Comment · 4 years ago
That doc is from 2013, so it's pretty out of date.
Comment · 4 years ago
Comment · 4 years ago
DC and LA are both infamous for having bad public transit systems, so don't base all your decisions on your experience there. Within the USA, Chicago is really good - taking the L is way faster than cars because you get to skip road traffic and the trains come very frequently. I've heard mixed things about NYC (some very positive, some very negative, likely depending on where you're traveling from/to), but have no experience there myself. Outside of the USA, there are lots of countries with fantastic train systems (e.g. Hong Kong) that are way better than driving.
Comment · 4 years ago
Comment · 4 years ago
> Here in city (Seattle) most people drive because transit tends to be spotty and slow for most people...So, what's the solution? Make driving worse of course. Speedbumps everywhere...Transit still mostly sucks, but now driving sucks too...the transit folks realized it's hard to compete with driving, so they've just given up entirely on making transit great. It's easier to ruin driving.

The claim was that they put up speed bumps (and other measures) _with the intent of_ making driving worse to encourage public transit. That's obviously false. Speed bumps get put up to discourage unsafe driving.

If, when forced to drive safely, people would rather take public transit, that's kind of scary, but also a good thing I guess to get unsafe drivers off the road? However, that's not what the claim was (and in reality is unlikely to be true, though I have no data to back that up).

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton