The Pain-Driven Workflow

A recent post from System Initiative, “AI is an Amplifier, Why Engineers Need Better Foundations,” got me thinking about my own workflow. You wonder why I love what they’re building? Let me walk you through the speed of pain in my current process. It’s a masterclass in inefficiency.

The Task: A “Simple” Terraform Module

It all starts with a seemingly simple task: develop a Terraform module. This module, of course, lives in its own isolated repository. I work on the happy path, the idealized scenario where everything goes according to plan. But then comes the reality check.

The journey begins with a bureaucratic dance. Every single change, no matter how trivial, requires two approvals from colleagues who may or may not have the context, a pull request (because process is king), and a prayer to the CI/CD gods for a green build. Only after this gauntlet can the module be published to the Terraform registry. But we’re not done yet.

Next, we need to make this module usable. Enter Backstage, our internal developer portal. This means another mono-repository, another set of YAML templates, and a bit of glue code to create a new Git repository. And, you guessed it, any changes to the Backstage repository require another two approvals and a pull request. The irony? The owners don’t really scrutinize the code for errors; it’s a rubber-stamp process.

So, I use Backstage to create a new component—a shiny new Git repository with my Terraform code and the same variables. I try to run it, and it breaks. Of course, it breaks. To fix it, I have to go through the same tedious process: two approvals and a pull request. If the issue is in the original module, I have to go back to the first repository, fix it there, trigger a new deployment, and then repeat the whole process. It’s a never-ending cycle of “rinse and repeat.”

Flying Blind

And the final insult? I can’t even test my code against a real account because my role lacks the necessary permissions. Only the CD system has the keys to the kingdom. I’m flying blind, pushing code that I can’t even validate myself.

This isn’t engineering; it’s a slow, painful crawl through a maze of approvals and permissions. It’s a perfect illustration of the blog post’s point: without a solid foundation, AI will only amplify the existing broken processes.