Why Working on Monoliths Is Bad for Your Career
lightstep.com
lightstep.com
A monolith's tests need not take all day to run. Features don't need to take weeks or months to ship—one can practice agile even inside a monolith. A monolith does not preclude the use of modern tooling—we adopted CI/CD and distributed tracing despite having a monolith, and use them to great effect.
In some cases scaling a monolithic codebase may be _more_ instructive about how to scale, because it's not as simple as "pay AWS more money and use more instances." Instead, you're forced to understand bottlenecks and consider how to solve them with algorithmic changes. Circuit-breaking is a critical feature in a monolith, even more so since one bad type of request could otherwise ruin the day for everyone.
The inability to "rewrite your business" has more to do with how well-architected your platform is than whether you have microservices. Both monolithic and microservices can be built well and built badly; a clean monolith is straightforward to rewrite the same way that cleanly-designed microservices are.
My personal opinion aligns with that of the author and greatly favors microservice architectures. But the usual hatred of monoliths strikes me as more dogmatic than well-reasoned, and I find this post to ultimately fail in defending its claim by falling victim to that.