52
Root
5y

Less a rant, more just a sad story.

Our company recently acquired its sister company, and everyone has been focused on improving and migrating their projects over to our stack.

There's a ton of material there, but this one little story summarizes the whole very accurately, I think. (Edit: two stories. I couldn't resist.)

There's a 3-reel novelty slot machine game with cards instead of the usual symbols, and winnings based on poker-like rules (straights and/or flushes, 2-3 of a kind, etc.) The machine is over a hundred times slower than the other slot machines because on every spin it runs each payline against a winnings table that exhastively lists every winning possibility, and I really do mean exhaustively. It lists every type of win, for every card, every segment for straights, in every order, of every suit. Absolutely everything.

And this logic has been totally acceptable for just. so. long. When I saw someone complaining in dev chat about how much slower it is, i made the bloody obvious suggestion of parsing the cards and applying some minimal logic to see if it's a winning combination. Nobody cared.

Ten minutes later, someone from the original project was like "Hey, I have an idea, why don't we do it algorithmically to not have a 4k line rewards table?"

He seriously tried stealing a really bloody obvious idea -- that he hadn't had for years prior -- and passing it off as his own. In the same chat. Eight messages below mine. What a derpballoon.

I called him out on it, and he was like "Oh, is that what you meant by parsing?" 🙄

Someone else leaped in to defend the ~128x slower approach, saying: "That's the tech we had." You really didn't have a for loop and a handful of if statements? Oh wait, you did, because that's how you're checking your exhaustive list. gfj. Abysmal decisions like this is exactly why most of you got fired. (Seriously: these same people were making devops decisions. They were hemorrhaging money.)

But regardless, the quality of bloody everything from that sister company is like this. One of the other fiascos involved pulling data from Facebook -- which they didn't ever even use -- and instead of failing on error/unexpected data, it just instantly repeated. So when Facebook changed permissions on friends context... you can see where this is going. Instead of their baseline of like 1400 errors per day, which is amazingly high, it spiked to EIGHTEEN BLOODY MILLION PER DAY. And they didn't even care until they noticed (like four days later) that it was killing their other online features because quite literally no other request could make it out. More reasons they got fired. I'm not even kidding: no single api request ever left the users' devices apart from the facebook checks.

So.
That's absolutely amazing.

Comments
  • 10
    Their countless previous failed game endeavors were never closed, either, just left to rot until Apple/Google finally pulled them for being too old and/or riddled with malware due to hijacked ads and dependencies. But that's a subject for another rant.
  • 9
    Lol... 18 million per day... Christ. I wanna say something witty but this has left me speechless. Was it written in COBOL, too?
  • 6
    That just made my day feel less shit, thank you 🥰
  • 7
    regarding ths first story: i sincerely believe the original dev might have been telling the truth in saying he didn't understand what you meant by parsing the cards. because if he was smart enough to understand what you meant, he would probably also be smart enough to have done it that way in the first place.
  • 2
    WOW really what else is there to say. So sorry @root
  • 2
    wow...just...wow 👌
  • 3
    @Root Fucking morons...
    Were they kicked out or are they still commiting code?
  • 5
    @jotamontecino They've been given 45 days to assist with the migration. If any of them are decent, they get to keep their jobs. Kind of goes without saying that very few will remain.
Add Comment