The Job Title Stayed The Same. The Job Changed Six Times.
Twenty five years ago, putting a website online meant compiling your own web server. Today it can mean describing what you want to an AI and reading back what it wrote. Same outcome, a running application serving real users. Almost nothing in between is the same.
This is not a nostalgia piece. The point is the opposite. Every one of those shifts taught the same lesson, and the lesson matters more in the AI era than it ever did. Each new layer made the easy eighty percent of the work easier and quietly raised the bar on the hard twenty percent. The twenty percent is where companies live or die, and it is exactly the part an abstraction cannot do for you.
Six Eras In One Table
| Era | What it abstracted away | What still bit you if you did not understand it underneath |
|---|---|---|
| Compile from source (around 2000) | Nothing yet | Everything, you owned the whole stack |
| Package managers (around 2006) | Compilation | Dependency hell, "works on my machine" |
| Config management (around 2011) | Manual server setup | Drift, ordering, what the modules actually did |
| Docker (around 2014) | "Works on my machine" | cgroups, namespaces, a container with no memory limit |
| Kubernetes and pipelines (around 2017) | Manual deploys and scaling | Probes, requests, networking, scheduling |
| Infrastructure as code (around 2019) | Click-by-click cloud setup | State, blast radius, what one apply can destroy |
| AI DevOps (now) | Writing the code itself | All of the above, plus knowing when the AI is wrong |
Read that table top to bottom and a pattern jumps out. Every row removed work. Not one row removed the need to understand the layer beneath it. The understanding just stopped being mandatory to get started, which is a very different thing from stopping being necessary.
Era One, You Compiled Everything
./configure --prefix=/usr/local/apache --enable-so
make
make install
You built Apache, bolted PHP in as a module, and hand-tuned my.cnf values like key_buffer_size and innodb_buffer_pool_size because nothing did it for you. It was slow and painful, and it meant you held the entire stack in your head. When it broke, you knew every moving part, because you had assembled every moving part yourself.
Era Two To Six, Each Layer Hid The One Below
Package managers arrived and apt-get install apache2 php mysql-server replaced an afternoon of compiling. Configuration management (Puppet, Chef, then Ansible) turned server setup into repeatable text. Docker abstracted away "works on my machine," right up until a container with no memory limit got OOM-killed and debugging it meant understanding the Linux kernel underneath. Kubernetes and CI/CD pipelines abstracted manual deploys, right up until a Deployment with no readiness probe dropped live traffic on every rollout. Terraform abstracted clicking around a cloud console, right up until a single terraform apply against shared state with no locking took out an entire production estate in one command.
Every era, the same trade. The floor to get started dropped. The ceiling on what you needed to know when things went wrong did not move an inch.
Era Seven, AI DevOps
The newest layer abstracts the writing itself. You describe intent and the model produces the Terraform, the Dockerfile, the pipeline. For the easy eighty percent this is a genuine force multiplier, and good engineers are noticeably faster for it. But here is what the eighty percent hides:
resource "aws_security_group_rule" "db" {
type = "ingress"
from_port = 5432
to_port = 5432
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"] # looks finished. it just put your database on the public internet.
}
That snippet compiles. It applies cleanly. The demo works. It also exposed your production database to the entire internet. An engineer who has run real systems feels the cidr_blocks line like a cold draft across the room. The model feels nothing, and neither does an operator who has never been burned.
The same shape repeats everywhere AI touches infrastructure. A query the model wrote with no limit that pulls a million rows into memory and takes the process down on the first real traffic spike. A Dockerfile that runs as root because nothing in the prompt said not to. A backup job that was never once restored from, so nobody learns the archives are unusable until the day they are needed.
Where The Hard Twenty Percent Actually Goes
intent -> AI -> IaC -> k8s -> containers -> linux -> hardware
[ the easy 80% slides smoothly across the top ]
the hard 20% does not stop at a layer. it falls straight through:
AI "looks fine, shipped"
|
IaC "terraform applied clean"
|
k8s "pods are green"
|
containers "builds locally"
|
linux <-- the breach / the outage / the cost blowup lives here
|
hardware
only someone who knows the bottom of the stack catches it on the way down.
That picture is the whole argument. The easy work glides across the top. Failures do not respect the abstraction boundaries. A breach, a 3am outage, a tripled cloud bill, a corrupted migration: each falls through every clean green layer and lands on bedrock, in the part of the stack that only experience covers.
IT Plus AI Is Not DevOps
Here is the sentence worth pinning to the wall. Information technology knowledge plus an AI assistant does not equal a DevOps engineer, and it does not equal a system administrator. Those roles were never about typing the commands. They were about knowing which command was wrong before you ran it.
AI types faster than any human and has no instinct for which line is the cold draft. Pair a fast typist that has no instinct with an operator that has no scars, and you get confident output backed by no judgment. That is the exact recipe for a fast startup disaster. Move fast, ship the demo, dazzle the round, then meet reality: the open database gets scraped, the unbounded query melts under the first spike, the untested backup turns out empty, and a preventable mistake becomes a company-ending one.
The Real Problem Is Not The Junior. It Is The CTO.
It is tempting to blame the junior leaning on AI for everything. That is the wrong target. A junior who does not yet know what they do not know is the normal, fixable state of every early career. They get better by working next to someone who does know.
The dangerous failure is one level up. AI has made it possible to look like a CTO without ever having operated a real system. You can generate architecture diagrams, write infrastructure code, and speak the vocabulary fluently without once having carried a pager, watched a migration corrupt a table, or eaten a cloud bill that tripled overnight. The tool produces the artifacts of competence without the competence behind them.
That gap would be survivable if it stayed contained. It does not, for one structural reason: a leader who cannot tell good engineering from plausible engineering cannot interview for it either. They hire in their own image, because depth is invisible to someone who lacks it. One AI-fluent, experience-light leader quietly becomes a whole team of them. Now nobody in the building feels the cold draft on the cidr_blocks line. The organisation has confidence at every level and judgment at none, and it will ship beautifully right up until the day it does not.
This is not an argument against AI, and it is not an argument against juniors. It is an argument about who holds the judgment. AI raises the ceiling for someone who already knows the twenty years underneath. It raises only the appearance of competence for someone who does not. The same tool, pointed at two different people, is either a force multiplier or a faster way to fail.
If You Are Building Something Right Now
Use AI. It makes good engineers meaningfully faster. But put it in the hands of people who can audit its output, and make sure at least one person in the room has actually run the layer underneath the one you are abstracting. If your leadership's entire technical model arrived from an AI in the last two years, that is not a foundation, it is a demo.
The tool changed six times in twenty five years. The thing that separates a running business from a smoking crater never changed once: somebody who can look at output that compiles, applies clean, and demos perfectly, and still say "no, that is wrong, and here is why."
If you want that judgment on your side of the table, our DevOps engineers and an independent architecture review exist to be the person who feels the cold draft before it costs you. And if you are weighing how far to trust AI inside your own pipeline, our take on what Claude Opus 4.8 changes for DevOps teams goes deeper on using these tools without being used by them.
Need help with this?
Our team handles this kind of work daily. Let us take care of your infrastructure.
Related Articles
Nginx vs Apache: Performance Benchmark for 2026
A head-to-head performance benchmark comparing Nginx and Apache in 2026 across throughput, memory usage, and latency for static files, PHP, and reverse proxy workloads.
Server & DevOpsAutomated SSL Certificate Management with Certbot
Automate SSL certificate issuance and renewal with Certbot and Let's Encrypt for Nginx and Apache servers, including wildcard certificates and DNS-01 challenges.