Just because you can write TypeScript doesn’t make up for lacking experience managing large or even moderate infrastructure.
You two years from now looking at the indiscernible mess of TypeScript that underpins your company infrastructure while I remember cleaning up Puppet infrastructures a decade ago.
Also, stop reducing complex infrastructure steps down to 5 lines of code so no one knows how anything fucking works except you dorks who who wrote it.
Me: How does any of this shit even work?
You: Here’s a link to the repo. Go read the code.
Me: Did you just tell me to go fuck myself?
You: Why don't you use X in-house software?
Me: Because in much the time it takes me to figure out how the fuck it works, I can write and understand it... Now not only do I understand what I'm putting into prod but I can support it myself and your team is no longer a dependency.
You: But we can make it easy to deploy anything by anybody without them needing to understand it!
Me: So you're saying you're having people ship code to manage the infrastructure that supports their app without understanding it... That sounds like a fucking terrible idea.
Here's what has triggered this tirade. I'm reading infrastructure and pipeline code and I don't understand it. I could use it as is and it'll work... But I can't support this long term. also if I make a change that takes me off the golden path I'm just fucked.
It's great that we've reduced developer friction. But you know what else lacked friction?
The fucking alpine slide at Action Park. We can ship shit to prod at high velocity at the expense of people flying off the course.
So I’ve been ranting. Now how do you fix it?
I’m leaning more and more towards infrastructure code should do less (no `import antigravity`), and for what it does, it should document way more in terms of how and why. Less code, more doc.
Apropos to this thread. YES! Stop creating new IaC APIs which make every website not hosted at work useless.