> someone unknowingly spends a ton of money on reinventing something that already exists.
I think it’s worse than than. Amongst the people doing the work, someone usually knows that there is a product out there that already does the job, but the higher ups think they know better.
That works the other way too.
Somethings the higher ups don't know anything in detail, and just believed the new hire guy who said "I can't believe you're still using jQuery! We need to throw this all out and re write it in Angular!".
And then believed the next new hire a few years later who said "I can't believe you're still using Angular - they screwed up the 2.0 to 3.0 migration so badly how can we trust them any more? We need to throw this all out and re write it in React!".
And then believed the next new hire a few years later who said "I can't believe you're still using React, Facebook are awful! We need to throw this all out and re write it in Flutter!".
And then believed the next new hire a few years later who said "I can't believe you're still using Flutter - Google are bound to graveyard it any day now! We need to throw this all out and re write it in React - its new features are _amazing_!".
And today they're 2 years into the latest rock star new guy's 6 month rewrite of the entire front end using Rust and wasm. He's _almost_ got it working on his laptop, it'll be ready for testing with the staging backend platform any day now.
Meanwhile the company's B2B sales team are doing several million dollars of MRR from clients using the "legacy" jQuery front end from 2012. And the backend Java guys are all WFH and haven't had a single bug fix of feature request ticket in 3 years. They cosplay "scheduled maintenance" every 3 months by sending out notification emails to all customers and then just writing reports to management claiming successful updates with zero downtime and no measurable increase in latency or error rates. Half of them have second jobs or side gigs that pay more than their salary there.