18 ms·
Probably some reality shaking out. Uber's engineering team puts out some impressive stuff, often as OSS. Their engineering blogs are regularly on HN. I've bee
by theincredulousk 7y ago
Probably some reality shaking out. Uber's engineering team puts out some impressive stuff, often as OSS. Their engineering blogs are regularly on HN. I've been genuinely surprised that they churn out some of these things and release them for free given their relatively extreme financial situation.
In contrast to companies like Google, Apple, Microsoft, Amazon etc. that have mountains of their own money to burn (rather than investors') on research and OSS side-projects, it always seemed to me that Uber was trying to play the same game, but far too early. Paying lavish SF engineer salaries to generate cool, but not revenue generating, software is probably excellent for morale, culture and recruiting, but a dubious use of resources when you are losing money seemingly faster than it would be logistically possible to literally burn it.
Saying they're ~ "culling the low performers" can be entirely true, but it is also a Silicon Valley, meritocracy-culture-friendly way of saying "we're losing far too much money to pay bloated growth-stage poaching-game salaries to engineers, so if you're not working on something that generates revenue, glhf"
- simonrobb 7y agoIt doesn't really cost anything to open source something though. These are all projects which are developed for a reason: the commercial version might be prohibitively expensive at Uber scale, or not technically capable of operating at Uber scale, or just plain doesn't exist yet. At that point you can engage with the tech community and offer it as OSS (not to mention make your engineers happy), or you can keep it to yourself and eventually lose that opportunity to somebody else.
- sbarre 7y agoThat's not true. It costs quite a bit to open source a product if you're a commercial entity.. It needs to be reviewed (by legal, security, engineering, etc) and approved.. You're not just flipping the public/private flag on the repo.
- on_and_off 7y agoAlso, the doc, blog posts, feedback from the community, evangelization at conferences, thinking out the API design so it answers enough cases, not just yours, all take engineering time, that's not free.
- simonrobb 7y agoOf course. But compare that cost to (say) six full time engineers pumping out code for a couple of years. It's not the dominant cost by any means. Not to mention you're paying those other folks a salary regardless. If it helps you attract better talent, well - there's a financial incentive there through increased efficiency which I'm sure on its own is more than equal to the review cost.
- est31 7y agoNot disagreeing but elaborating: The costs are higher when it's an already existing product of which parts the company doesn't fully own enough rights of for publishing. Even higher when it's not known which parts are fully owned by the company and which parts are of foreign origin. The costs are lower when it's meant to be open sourced from the start and it's been a project constraint since before the first line was written.
- gowld 7y agoWhy would you give your open source code a tighter security and engineering review than your in-house code? Are you hoping for security through obscurity? And quality through obscurity?
- VBprogrammer 7y agoIf you are going somewhere where you have to get changed in public, say the gym, do you make sure you are wearing your good underwear?
- sbarre 7y agoI'm pretty sure I didn't say anything like that?
- CydeWeys 7y agoWe open sourced my team's project a few years ago ( https://nomulus.foo https://nomulus.foo ) and it was a substantial amount of work. There's everything you're saying plus a fair amount of engineering to get the darn thing working externally; we were built/hosted within the Google monorepo which is obviously not externalizable. And you end up spending lots of time writing documentation that you hadn't ever gotten around to when it was just a project being worked on by a handful of engineers all sharing adjacent desks.
- dougk16 7y ago> It doesn't really cost anything... Depending on context, sure this could be true. Like if you're comparing the cost of releasing some small OSS module of Uber's to Uber's annual revenue, sure, it's going to be a negligible cost. But if you compare against the cost of developing the module in the first place, it can easily be an equal expense. For example I spent several months on a BLE library for Android (https://github.com/iDevicesInc/SweetBlue https://github.com/iDevicesInc/SweetBlue) and asked my company to open source it. It took several more months to get the library to a point that was suitable for a proper OSS release. So cleaning up code, making sure no sensitive info, swear words and such, documentation, lawyery stuff, icons, PR copy, blog post, basic website, wiki, and much more nitty gritty I'm glossing over. I mean a company can just throw code over the wall into GitHub and call it OSS, but I associate a basic level of polish with a proper OSS release that does indeed take a good amount of effort. And that's just initial effort! If it becomes at all popular then you have further ongoing overhead. I'd say a general rule is that open-sourcing something is at least 50% of overall cost of the project.
- xmichael999 7y ago100% agreed, I started doing this for a small project my company has. We don't really use it anymore, but it would be helpful to many hobby projects however we are now sitting here saying 3 weeks work to just give this code away? ick.
- novok 7y agoA lot of this work is self made at companies although.
- simonrobb 7y ago> So cleaning up code, making sure no sensitive info, swear words and such, documentation, lawyery stuff, icons, PR copy, blog post, basic website, wiki, and much more nitty gritty I'm glossing over. I'm the manager of one of Uber's OSS projects, and all that the things you listed here ring true. I just know that in our case at least, OSS prep absolutely pales in comparison to the feature/operational work put in by the team. To be clear, when I added "really" to that first sentence it was meant to communicate that there is some cost, but in the sense that it's negligible to Uber's losses, as you point out. I was responding to OP's "dubious use of resources" comment. But I can see that wasn't clear.
- rifung 7y ago> It doesn't really cost anything to open source something though. Yes, it costs next to nothing to just open source a project if you mean literally just putting the source on some hosting site. However, open sourcing something properly, where you respond to issues, document things properly, and provide build/test infrastructure to external developers is much more work. Not only that but you have to be much more careful when creating APIs and be much more vigilant about keeping backwards compatibility.
- theincredulousk 7y agoThere was the fixed cost of developing it, and then the potential lost revenue of not selling it, similar to an opportunity cost. If the presumption is that the software would be useful ("developed for a reason") economics suggests there is some price people would be willing to pay for it, and you forfeit that when you make it OSS. That absolutely costs something. Sure you may not want to be in the business of commercial software (support, maintenance, ultimately just responsibility) which is a completely sane thing to avoid. However when you are bleeding money at the rate of a small country's GDP per year, avoiding opportunities to generate profit based on intangibles like community engagement can come off as ill-advised. In fact, if your company is declared bloated, it stands to reason that you should have the capacity to take on the additional overhead of selling the software. It is not that contributing to OSS is wrong, or that your points are wrong, just that there is a time and situation for this kind of strategy. Contrast with Amazon, whose entire development of AWS was for the reasons you point out. Instead of open-sourcing it, to the extent that would be possible, they made it into a product and almost in a single move turned consistent overall loss into a massively profitable company. So this is not at all to argue against the merits of having healthy OSS contribution at a company, but more to say that a company can't contribute to OSS if they are bankrupt - so avoiding the latter should be prioritized over the former.
- hintymad 7y agoThey did some impressive stuff, but internally the eng org was bloated as hell, thanks to Thuan's leadership. Ironicaly, Thuan recently asked his directors to tell him which departments are bloated so he could decide who to cut. So much for the "amazing leadership".
- jacquesm 7y ago> Saying they're ~ "culling the low performers" can be entirely true Even if it isn't they have just branded everybody with 'Uber' on their CV that is on the market a low performer. Think before you speak.
- notatoad 7y agoIt's especially a dick move when everybody already knows they're hurting for cash, and the official position could be "we just can't afford all these people" without the company losing any face. They aren't fooling anybody by pretending it's not about the cost.
- datapunk 7y agoUber's stock has been going down the drain. Why would they give more reason's for investors to cash out?
- lliamander 7y agoYou can just say something like "we're restructuring to focus on our core competencies". If you fire a bunch of non-critical staff, you just told investors "our revenue to cost ratio is about to get a lot better" and so if anything investors who have been watching the decline are going to recognize you are doing something about the problem.
- objektif 7y agoIn most situations market reacts positively to layofss unless there is a BK looming.
- lliamander 7y agoIndeed, HP (or HPE and HP Inc.) has done many layoffs in the past few decades. I just narrowly dodged one a number of years ago. Pretty much always the goal is to simply reduce costs without reducing revenue (as much). Investors don't care how much staff you have, they just care if you are making money.
- dheera 7y agoMaybe the 435 people should get together and start a Uber competitor?
- glup 7y agoOr they can start driving for Uber!
- dcolkitt 7y ago> that have mountains of their own money to burn (rather than investors') I totally agree with everything you're saying. But I'm going to quibble with your phrasing. Apple's cash reserves belong to the shareholders just as much as Uber's funding rounds. Too many CEOs operate under the mistaken belief that retained earnings is "play money" in the way that paid-in-capital is not. For investors, retained earnings are subject to the same opportunity cost of capital as funds raised by equity or debt. Its management's responsibility to deliver returns exceeding the firm's weighted-average cost of capital. If they can't do that, then they should return capital to the shareholders, who can then use it an alternative higher-returning venture.
- lovich 7y agoWhy would someone whose been tasked with a job that is involved with gathering as much money as possible, be willing and able to just turn that part of their personality off and start giving money to someone else? Why would they do this just because its investor's money rather than customer's money?
- lliamander 7y agoPresumably because the board (which represents the investors) would be displeased.
- theincredulousk 7y agoGood point. I didn't have that perspective in mind so the wording was off. My sentiment was that if a company is losing money consistently and egregiously, they are on borrowed time and a borrowed dime in very real terms as the trajectory is towards 0 - but the context is largely psychological. To your point, waste is waste. I agree wasting cash generated from profits is equivalent to wasting it from earnings. I'd insist there is some practically relevant difference in there though. Wasting money during a trajectory to bankruptcy creates a narrative of negligence that accelerates failure, while wasting it during a consistently profitable trajectory seems like sub-optimal management. The kind of thing that is theoretically identical, but in the real world of behavioral economics, the former seems more certain due to how easily the trajectory to failure can be estimated. The latter creates a weak narrative because of hidden information - nobody will ever know what "could have been" and so can never quantify how sub-optimal the management was. E.g. nobody is dragging GE executives out of retirement/the grave to answer for long-term effects of sub-optimal management, and further nobody could prove at the time it was sub-optimal, only hypothesize. On the other hand, everything Elon Musk does at Tesla is torn apart and front page news, because they have a trajectory towards failure a high school student could easily calculate. So "management's responsibility" to optimally allocate capital is sound in theory, but in the real world of imperfect and outright unknowable information, nobody ever really knows what optimal is. Sub-optimal comes to be expected as normal, but accelerating a trend towards failure is a powerful defining narrative. Somehow this matters.
- pmart123 7y agoAirbnb seems to do similar things, but has a better business model to support it. I kind of get it from a recruiting standpoint and they probably did need to build some customized software given the scale they have. My guess is they spent far more money trying to conquer rideshare in multiple countries, self driving, and side businesses. At the same time, they did look like they were also developing some pretty low level software that was probably not necessary.
- rainyMammoth 7y agoCan someone explain to me what are the technical challenges at Airbnb? They need to handle less requests than the top airlines or hotel booking websites. Airbnb is a business innovation with a shiny website frontend. But I really don't get all the hype around Airbnb engineering.
- dannyw 7y agoYou don't need immensely challenging technical problems to make hiring good engineers worthwhile.
- StreamBright 7y ago>> In contrast to companies like Google, Apple, Microsoft, Amazon etc. that have mountains of their own money to burn (rather than investors') on research and OSS side-projects You are assuming that these companies are letting engineers to do side-projects that are unrelated to their day to day work? As far as I know the OSS projects these companies put out are in line what they use internally for day to day work and it is absolutely core to their business. Examples: - Amazon: https://firecracker-microvm.github.io https://firecracker-microvm.github.io - Google: https://github.com/google/guava https://github.com/google/guava - Microsoft: https://github.com/microsoft/vscode https://github.com/microsoft/vscode - Apple: https://github.com/apple/foundationdb https://github.com/apple/foundationdb Am I missing the point? Are OSS projects from these companies that are side-projects? While on the subject, I am not sure about Uber's contribution to OSS. Their projects tend to be outside of my purview. >> Paying lavish SF engineer salaries to generate cool, but not revenue generating, software Nobody is forcing Uber to employ people in California.
- theincredulousk 7y agoA side-project isn't by definition irrelevant, and of course by sheer probability the engineers at those companies are, on average, going to create things that are within their area of expertise which is usually related to what the company they work at does :). The motivations for making software OSS are varied and often strategic. For example software is often open sourced to: * deliberately commoditize it - to eliminate competition and differentiation in that area / stack layer * leverage additional (free) testing and development. * Drive ecosystem / platform adoption * Literally free up customer budgets to be spent with them, rather than on licensing 3rd party software * Intangible benefits like community image, employee satisfaction, etc. * Some combination of above when the software is useful internally, but simply not in a market that the company wants to compete in, or a market worth their time In any case, the point was that they are "side-projects" from a business perspective in that they cost money but don't generate revenue - the benefits are hard to quantify. Successful, stable companies have much more breathing room for strategic and the "hard to quantify" ROIs than does a company on a trajectory towards bankruptcy. It is kind of like an individual out-of-work engineer with a month's expenses left in the bank choosing to contribute to OSS instead of seeking out paid work. It is not that contributing to OSS is wrong, it is that the priorities in that situation are backwards. RE: "Nobody is forcing Uber to employ people in California." That is entirely true, but I'm not sure what your point is. My comment is a post-mortem on what led to the layoffs. It is a priori that nobody has forced Uber to do anything that it did...
- rainyMammoth 7y agoI have also been impressed by everything they are producing and I'm actually really wondering why do they need all of those new OSS projects. They need to scale but to an order of magnitude lower than most other webscales. None of their application is data heavy I have said this before but they seem to have a strong "must be built here" culture. You typically see this in highly political environments where engineers are trying to create projects as a career highlight and as a justification for promotion.
- tln 7y ago> None of their application is data heavy Really?? They have O(thousands) of drivers in O(hundreds) of cities with the app open, sending and receiving data approximately all day. What companies in your mind are data heavy?
- disordinary 7y agoNot to mention the hundreds of thousands of passengers waiting for and riding in vehicles. The "data heavy" businesses often have the ability to cache their data in CDNs. Uber's data is realtime and dynamic, you scale that the hard way.
- drblast 7y agoWhile not a "tiny amount of data" Uber's problem seems like one of those embarrassingly parallel ones where partitioning by location is trivial, and accuracy of all the data isn't as important as knowing everyone's location right now. I'd guess any relatively popular MMO deals with similar things under much tighter latency constraints. Data heavy to me means terabytes of data with potentially multiple dimensions, like Google or Facebook. Not to say that Uber's problem isn't challenging, but I don't expect that the amount of data is necessarily the problem.
- theincredulousk 7y agoCan't speak for OP, but I'd imagine most of the data in the system is metadata - i.e. very tiny. Sure they're moving a lot of packets, but an entire ride's data could probably fit in 100KB. If they have a million drivers active, what data do they actually need on them? Profile, GPS location, type? Few KB. Keeping the log of all rides probably takes up the most, but still, relatively small. In any case they essentially deal with small, highly compressible metadata. Think of that vs. a company like Instragram where people are uploading probably terabytes of media content every day, and they have to maintain/host all that content to be served on-demand basically forever. This is probably a low-key reason for pushing "stories" - they get a reprieve by only having to store that for 24 hours. In any case, you're looking at orders of magnitude larger data usage in all aspects.
- disordinary 7y agoMaybe, but the problem is that in a restructure like this the high performers often leave in protest to the culture problems that a restructure creates and austerity measures. Often though they don't cull low performers, they give each department a budget or a head count they have to hit. A department made up of high performers will have to cull a high performer to hit budget, a department which is overloaded will become more overloaded and people will quit in response. In a company the size of Uber a restructure is often a pretty blunt instrument.
- deleted 7y ago[deleted]