The Platform Engineering Delusion: Why You're Just Building a Broken Heroku
Platform engineering is the newest vanity project for the bored senior architect. It is a siren song promising developer velocity while delivering nothing but a bureaucratic shadow government. Organizations are currently pouring millions into internal developer portals, custom CLI tools, and proprietary YAML schemas under the guise of 'reducing cognitive load.' The reality is a grotesque theater of infrastructure empire-building. We have traded the hard work of shipping product for the self-indulgent hobby of building mediocre internal clouds. This is not progress; it is an architectural black hole.
Most teams are not building a platform. They are building a fragile, undocumented, and feature-poor version of Heroku as it existed in 2011. They are wrapping mature, battle-tested cloud primitives in layers of brittle abstractions that no one asked for and few understand. The result is a system that works only when the creators are in the room to perform the ritual incantations. When the abstraction leaks—and it always leaks—the product developers are left staring at an inscrutable error message from a custom controller. They are more trapped than they ever were before.
Your Internal Developer Portal Is a Tombstone for Velocity
The internal developer portal is the centerpiece of this collective delusion. It is sold as a 'single pane of glass' that simplifies the complexity of the modern cloud. In practice, it is a glorified spreadsheet that acts as a gatekeeper. It masks the underlying infrastructure until the exact moment a developer needs to actually understand it. By shielding engineers from the reality of their environment, you are not empowering them; you are lobotomizing them. You are creating a generation of developers who cannot troubleshoot a network timeout because the 'platform' handles everything behind a proprietary button.
This obsession with 'self-service' usually results in a system that is harder to use than the raw cloud APIs it replaces. We see platform teams spending six months building a UI to trigger a Jenkins job that could have been a simple script. They prioritize the aesthetics of the developer experience over the reliability of the system. This is a catastrophic misallocation of engineering talent. Instead of solving business problems, your most expensive employees are playing dress-up with Kubernetes controllers. The portal is a monument to the fear of the terminal.
Complexity cannot be destroyed; it can only be moved. When you build a platform, you are simply shifting the complexity from the product developer to the platform engineer. This would be acceptable if the platform team were actually more efficient at managing it. Instead, they become a bottleneck. Every new feature request for the product now requires a corresponding feature request for the platform. You have successfully recreated the ticket-based ops culture of 1995, just with a more expensive tech stack and better fonts.
The Great Escape from Product Reality
Platform engineering has become the ultimate hiding spot for senior engineers who are tired of the grind of product delivery. It offers a sanctuary where they can solve 'interesting' technical challenges without the pesky interference of customers or revenue targets. It is a form of professional procrastination. Building a distributed tracing system for a CRUD app is much more intellectually stimulating than fixing a checkout flow. This is how organizations lose their competitive edge. The talent is focused on the plumbing while the house is on fire.
This retreat into the infrastructure stack creates a culture of detachment. Platform engineers begin to view the product teams as 'internal customers' rather than colleagues. This linguistic shift is a warning sign of organizational decay. It creates an 'us vs. them' dynamic where the platform team optimizes for its own convenience rather than the success of the business. They build systems that are elegant in theory but unusable in the heat of a production outage. The platform becomes an ivory tower built of YAML.
There is a religious devotion to the 'golden path.' It is the idea that there is one true way to deploy software, and any deviation must be punished or prevented. This rigidity kills innovation. It prevents developers from choosing the right tool for a specific problem because that tool isn't supported by the platform's custom SDK. We have traded flexibility for a false sense of order. The golden path is actually a pair of golden handcuffs. It ensures that every service looks the same, even if that uniformity is a liability.
Rebuilding a Feature-Poor Ghost of Heroku
We have spent the last decade trying to recreate the experience of 2011 Heroku using 2024 technology. The irony is staggering. We use Kubernetes, Crossplane, Backstage, and a dozen other tools to achieve what we used to get with a simple git push. The overhead of managing these tools is a tax on every line of code written. We are using a sledgehammer to drive a thumbtack and then complaining about the state of the wall. This is a self-inflicted wound disguised as a sophisticated strategy.
Modern cloud providers have already solved most of the problems platform teams claim to address. When you build an internal platform, you are betting that your five-person team can build a better interface than a company with a multi-billion-dollar R&D budget. This is hubris. Your custom abstraction will never have the documentation, the community support, or the stability of the raw provider APIs. You are creating a proprietary island of technical debt that will eventually drown the organization. It is a slow-motion disaster.
Instead of building abstractions, we should be building standards. A standard is a set of guidelines; an abstraction is a set of constraints. Developers need the freedom to use Vultr or any other high-performance provider directly when the situation demands it. They do not need a middleman who adds latency to their decision-making. High-performance teams value direct access to bare metal and raw compute over the comfort of a GUI. They want power, not a padded cell.
The Cognitive Load Lie and the Shadow Janitor
The most common justification for platform engineering is the reduction of 'cognitive load.' This is a lie. You haven't reduced the cognitive load; you have just changed its nature. Instead of learning AWS or Kubernetes, developers now have to learn your bespoke, poorly documented internal platform. They have to learn the quirks of your custom CLI and the limitations of your template engine. This is a net increase in the mental tax required to ship a feature. It is a bait-and-switch.
When things break, the 'reduced cognitive load' evaporates instantly. The developer who was told they didn't need to understand networking now has to figure out why their service mesh is dropping packets. Because they were shielded from the reality of the stack, they are completely unequipped to debug the issue. They have to call in the platform team, who now act as 'shadow janitors' cleaning up the mess created by their own abstractions. This is the opposite of autonomy. It is a state of perpetual dependency.
True empowerment comes from knowledge, not from its suppression. A senior engineer should understand how their code interacts with the CPU, the disk, and the network. By hiding these details, you are stunting the growth of your engineering organization. You are creating a tier of 'application assemblers' who can only function within the confines of a pre-approved template. This is a path to mediocrity. If you want a high-performance culture, you need engineers who are comfortable with the raw machinery of computing.
Infrastructure Sovereignty Demands Actual Infrastructure
We have reached a point of abstraction exhaustion. The layers of software between the developer and the hardware have become so thick that they have their own gravity. This mass slows down everything. It makes debugging impossible and optimization a fantasy. Infrastructure sovereignty is about reclaiming the ability to see and touch the hardware. It is about removing the middlemen who provide no value but extract a massive toll in complexity. It is time to return to first principles.
- Direct control over compute resources is more valuable than a 'self-service' button.
- Standardized infrastructure-as-code is better than a proprietary platform API.
- Engineers who understand the full stack are 10x more valuable than those who don't.
- The goal is to ship software to customers, not to maintain a platform.
Sovereignty means having the choice to move your workloads without rewriting your entire internal platform. Most organizations are currently locked into their own custom-built jail. They cannot move to a more cost-effective or higher-performance provider because their platform is tightly coupled to a specific cloud's quirks. This is the ultimate irony of the platform engineering movement. It was supposed to provide flexibility, but it has delivered the most rigid form of lock-in imaginable: the lock-in of your own making.
Efficiency is found in simplicity, not in more software. If your deployment process is too complex, the answer is to simplify the process, not to build a portal to hide the complexity. We must stop treating infrastructure like a shameful secret that needs to be hidden from 'regular' developers. Infrastructure is the foundation of everything we build. It should be visible, understandable, and accessible. Anything less is just a distraction from the mission.
The Maintenance Tax Is Your New Default State
Every line of code in your platform is a liability. It is a piece of software that needs to be patched, updated, and secured. It is a potential source of bugs and security vulnerabilities. When you build a platform, you are committing to a perpetual maintenance tax that will only increase over time. Within two years, your platform team will spend 80% of their time just keeping the platform itself alive. They will have no capacity left to actually improve the developer experience. This is the point of ossification.
This tax is rarely accounted for in the initial 'business case' for platform engineering. The focus is always on the hypothetical 'velocity gains' of the first six months. No one talks about the 200 open tickets for the internal CLI three years down the line. No one talks about the nightmare of upgrading the underlying Kubernetes clusters because the custom platform controllers are incompatible with the new version. The platform becomes a millstone around the neck of the entire company. It is a debt that can never be fully repaid.
Stop building platforms. Start building tools that solve specific, documented pain points. If the developers are struggling with secrets management, give them a secrets manager, not an entire deployment ecosystem. If they are struggling with observability, give them a standard library, not a custom dashboard builder. Focus on the smallest possible intervention that provides the highest possible value. The best platform is the one that is so thin it is almost invisible.
We must demand a return to engineering reality. The era of the platform engineering delusion must end. We need to stop rewarding engineers for building shiny toys and start rewarding them for delivering value to the business. The glowing obsidian cube of pure compute power is right there, waiting to be used. Stop burying it under a mountain of rusted wire and mismatched gears. Stop building a broken Heroku and start shipping your product.
Not sure which tools to pick?
Answer 7 questions and get a personalized stack recommendation with cost analysis — free.
Try Stack AdvisorEnjoyed this?
One email per week with fresh thinking on tools, systems, and engineering decisions. No spam.

