Platform Engineering

Developers Aren't DevSecOps Engineers (And Shouldn't Have to Be)

Written by a cloud architect who has spent 20 years in technology and over a decade building Google Cloud and DevSecOps platforms — and has watched capable developers get stuck in the same place more times than I can count.

I've watched this exact scene play out at more organizations than I can name. A developer — good at their job, shipping features, nothing wrong with their work — gets handed a Terraform module and a pipeline YAML file and told, in effect, "you own this now." Somewhere in a wiki there's a getting-started doc. Maybe there was a lunch-and-learn a few months back. And the assumption baked into all of it is that this is enough to turn a feature developer into someone who can safely write infrastructure-as-code and reason about a secure delivery pipeline.

It isn't enough. It was never going to be enough. And I don't think that's a controversial thing to say once you actually watch what happens next.

What actually happens when the pipeline breaks

Here's the moment that tells you everything. A developer pushes a change, and the pipeline fails — not on their application code, but somewhere in the deployment stage. A security scan step is blocking the build for a reason the error message doesn't clearly explain. Or a Workload Identity binding isn't resolving correctly, so the pipeline can't authenticate to push an image or reach a secret it needs. To someone with years of DevSecOps experience, this is a familiar shape of problem — you've seen it before, you know where to look. To a developer who was handed this pipeline as an afterthought to their real job, it's a wall.

So they do the only reasonable thing available to them: they go looking for help. First they ask around their own team, in case someone's hit this before. Then they message the DevOps engineer, who's mid-sprint on something else. If that doesn't resolve it, they open a message to security, because the failure is in a security scanning step and nobody's sure whose problem it actually is. A question that started as "why did my build fail" turns into a half-day, sometimes multi-day, scavenger hunt across three teams — not because the developer isn't capable, but because the actual expertise required to diagnose it was never theirs to begin with.

I remember one developer in particular who lost the better part of three days to exactly this. Not because the fix was complicated — once someone with the right background looked at it, it was a five-minute change to a service account's Workload Identity binding. The three days weren't spent fixing the problem. They were spent finding the one person who could look at it and immediately know what was wrong.

The fix took five minutes once the right person saw it. Finding that person took three days. That gap is the real cost — not the bug itself.

Training and documentation don't close this gap

The usual response to this pattern is to invest in more enablement — a better internal wiki, a recorded training series, a DevSecOps 101 course for every developer. I've recommended versions of this myself, and it does help at the margins. But it doesn't solve the actual problem, because the actual problem isn't a knowledge gap that documentation can fill. It's an experience gap.

Terraform, IAM, Workload Identity, secure CI/CD — these aren't things you learn once and then know. They're things you get good at by living inside them, hitting the same category of failure a hundred times across a hundred slightly different situations, until you develop the judgment to look at an error and immediately know where the real problem lives. A developer who's spent their career building application features has a completely different, equally valuable kind of judgment. Expecting a training deck to install years of infrastructure pattern-recognition overnight is expecting something training was never designed to do.

What this actually costs the business

This isn't a minor inconvenience, and I'd push back on anyone who frames it that way. When I've walked leadership teams through the real cost, it comes down to three things.

1Productivity drops — developers spend hours or days doing unfamiliar infrastructure work instead of the feature work they were hired and are good at.
2Features slip — every developer stuck on a pipeline or IAM issue is a sprint commitment quietly at risk.
3Risk goes up — under pressure to get unblocked, developers without security experience make security-sensitive calls — broadening an IAM role, disabling a scan step — just to move forward.
4It compounds across the org — the same scavenger hunt repeats for every developer who hits the same wall, because the underlying gap was never actually closed.

Multiply that across a growing engineering team shipping regularly, and the lost time isn't an occasional inconvenience — it's a recurring tax on the roadmap. I've sat with CTOs looking at a slipped launch date and traced it back, more than once, to a developer stuck for days on infrastructure they were never equipped to own in the first place. That's not a training failure. That's a structural one.

The fix isn't more training — it's not needing the expertise at all

The organizations that get past this don't do it by turning every developer into a part-time DevSecOps engineer. They do it by removing the need for that transformation altogether. Once the secure, correct pattern for provisioning infrastructure and deploying safely is already built into the platform, developers don't need years of Terraform experience to use it — they just use it. The judgment that used to require a specialist gets encoded into the platform itself, once, instead of being something every developer has to independently acquire.

That's the same lesson from the provisioning bottleneck I've written about before: the organizations that improve delivery speed don't simply hire more platform engineers or run more training sessions. They standardize the platform itself. Once secure delivery becomes a built-in capability instead of a skill every developer has to individually develop, engineering teams spend less time stuck and more time shipping.

This is exactly what Vertro is built to do for teams running on Google Cloud and GKE. Instead of asking developers to become Terraform and DevSecOps experts to safely provision and deploy a service, Vertro provisions the Google Cloud project, IAM and Workload Identity, Secret Manager, and a secure, pre-wired CI/CD pipeline automatically — so developers ship without needing the specialized experience the platform now handles for them.

Stop asking developers to be infrastructure experts

Vertro gives your teams a secure, pre-built path to deployment — without requiring Terraform or DevSecOps expertise to use it.

See How Vertro Works

Frequently Asked Questions

Why do developers struggle with Terraform and DevSecOps even after training?

Terraform and DevSecOps aren't skills you pick up from a training deck — they're built through repetition, troubleshooting real failures, and years of hands-on exposure. A developer hired to build application features can attend every session offered and still lack the pattern-recognition that comes from actually living inside IAM policies and pipeline configs day to day.

Isn't better documentation the fix for this?

Documentation helps with known, static problems. It doesn't help with the actual failure mode most developers hit — a pipeline breaking in a way the docs never anticipated, or an IAM policy that's technically valid but wrong for the situation. No amount of documentation replaces the judgment that comes from specialized experience.

What does it cost a business when developers are stuck on infrastructure instead of features?

Three things, consistently: lower productivity, since developers spend hours or days on work outside their expertise instead of shipping; delayed features, since every blocked developer stalls a sprint commitment; and elevated risk, since developers without security experience make security-sensitive decisions — IAM scope, network policy, secrets handling — under pressure to just get unblocked.

What actually fixes this, if not more training?

Removing the need for developers to become infrastructure experts in the first place. A standardized, pre-built platform pattern means the secure, correct way to provision and deploy a service is already built in, so developers use it without needing years of Terraform or DevSecOps experience to do it safely.

Does this mean developers should have zero involvement in infrastructure?

No. It means developers shouldn't have to be the ones designing and troubleshooting the underlying IAM, Terraform, and pipeline configuration from scratch. With a paved road, developers still request and configure their service — they just do it through a standardized, guardrail-compliant path instead of hand-building the platform layer themselves.

Written and technically reviewed by Amit Malhotra, Principal Google Cloud Architect and founder of Vertro.

Amit specializes in Google Cloud, GKE, Terraform, GitOps, platform engineering, identity, security guardrails, and developer self-service. This page reflects practical architecture and implementation experience across Google Cloud and Kubernetes environments.