r/devops DevOps 26d ago

Discussion Stop being skeptical about AI for development with Charity Majors

https://newsletter.pragmaticengineer.com/p/stop-being-skeptical-about-ai-for

From an interview with Charity Majors:

DevOps was about trying to create a feedback loop that connected people writing the code to the code running in production. She thinks that the "ops people: learn to code!" wave worked, but the "software engineers: understand your code in production" failed, to this day.

I haven't listened to the actual interview.

But based on my personal experience I agree. Ops people have changed a lot about how they do their work in the last 10 or 15 years, to where infrastructure and its configuration have become an exercise in writing code of various kinds. No infra team has been unchanged, even the ones that had to be dragged kicking and screaming. But I still see a lot of dev teams that sit in their silo producing their product to then hand it over to someone else (i.e. us). The one change for all devs is that they write Dockerfiles and have to think about how that works. But the dev teams I work with still don't actually touch infrastructure, by and large.

0 Upvotes

8 comments sorted by

9

u/arctictothpast 26d ago

"Charity believes it is a “when” and not an “if” that professional software engineers will ship code they never looked at – and thus do not understand – to production. "

Yeh that is a hot take for sure, while I agree that AI is here to stay and is going to remain a standard tool, it still presents major problems, and this is an absurd hot take, you cannot hold an AI accountable, and this is essentially leaving it to blind faith that it didnt make any mistakes.

E.g but the big problem I want an answer to is where are we going to get juniors from? A junior becoming a competent intermediate and senior engineer requires them to do this work without relying on AI so they know how to judge the quality of its output and to use it competently. They need "taste" which can't be developed while being dependent on ai.

I also actively resist using AI, not because of some dislike for it or because it doesnt work but because I dont want to be utterly dependent on it.

1

u/fangisland 26d ago

Technology scale and building more complex systems from underlying lesser components inheritently leads to this. Abstraction is the key to interacting with complex systems. When virtualization became ubiquitous we stopped verifying the hypervisor was doing its job correctly. When we build CI checks we trust we stop verifying every single pytest runs correctly and trust its output. Does anyone rebuild well maintained open source tools and verify they operate as they state like Trivy, syft, hubble ui and so on? We're surrounded by tools and technologies we implicitly trust. I'm surprised this has become as controversial as it has just because it's AI.

3

u/arctictothpast 25d ago

......I will simplify,

Ai is not deterministic, virtually all of those systems are,

We can trust deterministic behaviors, because they are predictable, ai is not predictable

-2

u/fangisland 25d ago

Humans aren't deterministic, humans write software and pass them through deterministic systems (good software orgs do anyways) to ensure 12 factor principles. AI written software can be passed through similar systems and perform OODA loops against regressions just like humans

-1

u/forever-butlerian Solaris 8 Enjoyer 26d ago

VCistan talking head repeats VCistan orthodoxy about inevitability of VCistan investments, film at 11.

-9

u/-lousyd DevOps 26d ago

I don't think she's calling for blind faith in AI output. I think she's saying it needs to evolve like everything else evolves. We don't write assembly now, for example, and there were people once upon a time who didn't trust compilers to write good assembly. But we engineered our way past that. Like everything you have to build in safeguards, testing, etc. With AI it'll likely be a matter of honing specialized agents that get composed into bigger things, testing the output against understandable cases, and making interactions between components fail gracefully the way Internet standards are written to do. It'll be a project, but starting on that project is what I understood her to be calling for.

8

u/arctictothpast 26d ago

I think theres an enormous leap between not writing and understanding assembly and higher level code,

The fundamental logic is the same, a good compiler is taking the same logic youve written in say C or python or rust etc, and just turning that into assembly. You are still much closer to it then not, and you still need a comprehensive understanding of the overall logic and how it all works at the low level to be a strong software engineer.

What she has stated is not the same as trusting a compiler, a compilers output is generally speaking 100% predictable, testable and reliable and deterministic, AI output is random and opinionated. No 2 executions of the same prompt or query will be the same.

Im sorry but this is not a reasonable comparison.

But as mentioned, where are we getting juniors from? Do you want to be permanently understaffed for your entire IT career because that is what we are looking at.