Alex Georgousis

September 11, 2025

YAML Engineering

Writing config is a part of life for software engineers. Particularly in certain environments, like Kubernetes, which have opted for a very heavily declarative approach for defining infrastructure.

But I have worked in teams in which developers spend most of their time writing and editing config files, instead of writing and editing code. And those config files become so massive and so complex that they're very challenging to manage - entire codebases unto themselves. I wasn't sure how widespread this is, but after a quick Google search for "YAML Engineering" I can see it's very prevalent in the industry.

I'm not entirely sure how we've gotten to this point - I can think of 2 key factors:

  1. An obsession with making everything config-driven so code doesn't have to change (because changing code is dangerous!)
  2. An expectation for developers to configure every part of the infrastructure their apps depend on instead of building a good platform that abstracts most of that away.

Regardless of the reasons, I hate this status quo. How has this become acceptable? How do software engineers who genuinely enjoy building things accept spending weeks, sometimes months, writing very little code and mostly changing config files? It baffles me. And what of juniors? How are they meant to grow their skills in this environment? Talk about snuffing out whatever love for programming they might have developed.

This criticism is often misconstrued as laziness, or a lack of a desire to understand the infrastructure our apps run on. But I don't think that's related. I just think developers should spend most of our time doing what we are hired to do: building good software. We will write some config along the way, but we shouldn't become YAML Engineers.