> So what have we now? A “mono repo” codebase, because clearly a Git repository per function in your system would be too much, a large deployment descriptor per fine-grained component, which Spring maybe called “Controller” but is now called “Function”, and instead of combining them all on your desktop, you send them off to someone else’s mega-mainframe [AKA "the cloud"]. You deploy, get an error message, and login t…
Yes, a technology probably won’t live up to its marketing.
Yes, what works is probably good enough.
Yes, changing has switching costs and sacrifices institutional knowledge.
Yes, we’ve seen these technologies before and switched away from them from various reasons.
That’s all fine and sometimes frustrating as an engineer. But it’s not the only reason decisions are made.
Sometimes pitching your exec team on The New Hotness gives cover for changes that actually do need to happen.
Sometimes adopting The New Hotness is marketing to recruit engineers who want to try something new.
Sometimes adopting The New Hotness is because some people are bored and uninspired in their jobs and just want to believe in something good again.
The success of things like MongoDB and blockchain are not because they are better or even very good at most things people use them for. They’ll never live up to the hype. But people need things to get excited about. It’s psychological. Attacking them purely on technical points can lead one to miss the actual point.