3 ms·
But it's not better, it is worse as clearly put forward by this article. ;) We shouldn't attribute Facebook's success to poor quality code, unless we really be
by aaron-lebo 10y ago
But it's not better, it is worse as clearly put forward by this article. ;)
We shouldn't attribute Facebook's success to poor quality code, unless we really believe that 429 people working that that slow sluggish app is productive. Do you?
Maybe Facebook would be in a better situation than they are if they had a firm foundation? What happens when a competitor comes along and knocks on their door? That mess of code becomes an anchor.
They succeeded not because "worse is better" but because ...they succeeded, maybe because they had the greatest social network in the world to expand within, or because of some other reason we don't know. But they didn't succeed because of worse is better, they succeeded in spite of it.
- paganel 10y ago> Do you? It's written between the article's lines, so to speak, but it seems like the bad code quality was generated in part by FB moving at a very fast pace. I think they wouldn't have been as successful as they are had they chosen a slower path with more "correct" code and architecture. > What happens when a competitor comes along and knocks on their door? They successfully managed to "eat" and integrate both Instagram and WahtsApp, both worthy contenders at the time, and they're now on their way to stealing Snap's lunch, so they've proved to be pretty resilient on this front. Not to forget how they successfully kept Google+ in check.
- jheriko 10y agohow would that success have been different if they had used different engineering practices? a big part of their success was delivering results... if they hadn't quickly crapped everything out of the door, how would facebook look today?
- jaredklewis 10y agoNo one is actually arguing that worse is better. It's just a catchy title. A more accurate title would be "worse is faster than better, and being fast but mediocre is better than being slow and amazing." Worse is better makes the observation that doing right thing slows you down. Often, an ok solution is much quicker to get finished than a great one. And it concludes that the projects that prioritize getting stuff done over code quality will suceeed. Would facebook be as successful as it is today if it had taken longer to ship features, but maintained higher code quality? Who knows. But the intuition in worse is better, which matches with my own experiences, is that making that trade off would have cost Facebook, as other faster moving projects closed the gap.
- aaron-lebo 10y agoAs you said, I just don't think anyone can know that alternate history. It's very possible that a better architecture would have allowed them to move quicker and make more changes without breaking as much stuff. It's possible considering features before haphazardly implementing them would be beneficial overall. Nobody can really know that, and to apply intuition to what is an extreme outlier seems off.
- polack 10y agoI agree with you that it's sometimes good to focus on getting things out the door fast instead of the code quality behind it. But surly there must be a point when the pendulum swings back and you should switch focus to quality. I would argue that Facebook have definitely reached the point where they own so much of the market and with their infinite resources they should be able to ship things with good code quality. Sooner or later the costs of supporting all that crappy software will make a dent even in Facebooks chest of gold.
- K0SM0S 10y ago> Sooner or later the costs of supporting all that crappy software will make a dent even in Facebooks chest of gold. I would think that's most engineers gut feeling, at least that's mine too. But reality is vastly different, because market shares are not won solely on quality (it matters, but rarely is the penultimate factor), and software itself isn't always the core product (i.e. it's a medium). We tend to think that success for big tech requires quality code, like Apple and Google produce, but think about Microsoft's history... what a pure software company could get away with. The major reason in that case is probably its quasi-monopoly on several key markets; and that's I wager exactly what plays in favor of Facebook's apps, regardless of the quality of their code we emphasize so much around here: there is no getting access to Facebook without using their apps (webapp included of course). Period. So the question never was "oh, is Fb(the app) good enough?", the question is "do I want to use facebook or not?", and if yes, proceed to use app. Ultimately that's because Fb is providing a service, a social network, and software is just the means, the medium, the tool. It never was about the app, the code, it's about what these enable in the real world --from super-secret groups to circlejerking around fake news and what-have-you-with-your-cats-lulz. We just have to look at a slew of industries that just like Facebook provide a service through software ranging from OK to abysmally painful (like, 80% of set top boxes and TV menus and VHS/DVD UIs... car electronics... ATMs...) I always find the same two culprits: a purely functional design (does the job, sometimes buggily, period) or a situation of monopoly (deal with it, customer!). Or both. Quality-of-life features and user experience are vastly alien to some otherwise pretty tasteful industries, design-wise (the joy of powering up a $10K receiver in the late 90's, hook it up to the TV to be greeted with giant white fonts on a 64x64 blue grid --and that thing does 7.1 DVD yada yada?). So while I tend to agree with you at first and would love to live in a world where that's true (yay engineers all over), I think that's not the way markets operate. Do we enjoy setting the time on most LCD clocks? No. Because that never was the intent, it was purely meant to do the job of letting you set the time correctly, if frustratingly. In much the same way I use software every day that fights against me, but I get to win the function that I seek. There are games like that too, where the reward is part mastering the content and part besting the UI. On a side related note, I don't think the service that would (will, given enough time...) eventually best Facebook would do so on quality or performance or anything of the sort; I think it will be based on a paradigm shift (another way, era of doing 'social stuff'). Otherwise it's pretty locked for this cycle, even if Fb's apps were really bad to use. There's just no alternative present or in sight, and 1.something billion users is a pretty tough lock on a market.
- onewaystreet 10y agoAgility trumps code quality. Stability can be addressed downstream (which Facebook does with heavy testing and rollouts of changes). Code quality problems or not, Facebook has been more stable than its competitors (MySpace, Twitter, etc.) and faster at pushing out changes.
- collyw 10y agoIs it more stable than those two? I can't see the point in Twitter (neither could a number of my colleagues when it was mentioned at a dinner a couple of weeks ago, none of them used it). MySpace was a genuine competitor, but allowing teenagers to style their own HTML made for some horrendous pages. Facebook had a nice clean interface, as well as network effects. I was signed up to a similar service at the time - HighFive I think it was called, but the network effect was what snowballed with Facebook and led to its success. At the time I didn't see either one being better or more stable than the other.