laskov.dev

Notes on life, code, security and stuff worth paying attention to

AI Is Not Coming for IT Jobs. We, the IT Pros, Are Way More Efficient at Killing Them Ourselves

PHP2Shell and a Node.js RCE landed on the same day. The patches were the easy part. What failed was us - the hype, the overconfidence, the "relax :)".

In this article
  1. Two RCEs, one punching bag
  2. Commentary is not work
  3. Relax is not a security posture
  4. Code is a utility
  5. The best bug is a new one

For the past couple of years I have been really enjoying the debate about how AI is going to kill, replace, obliterate and eliminate programmer jobs. As if we are doomed. No more bread for us. Some people even gloat about it, openly and directly, as if we are all about to starve. I have seen it, and I have heard it.

Yesterday showed me something else. AI is not what will eliminate these jobs. We are screwing ourselves over, with our own incompetence, or with an overconfidence so complete that we have forgotten ourselves.

That last one will cost us our health. And it will kill a lot of jobs. A lot of jobs.

Two RCEs, one punching bag

On October 21 both runtimes my team lives on shipped fixes for remote code execution. PHP disclosed PHP2Shell, CVE-2026-109618 and CVE-2026-109619, reaching back to PHP 5.4 and exploited in the wild the same day. Node.js shipped its October security releases, including CVE-2026-111497, an out-of-bounds write in the Brotli decoder. Also remote code execution, rated lower, but still RCE.

Guess which one the internet talked about.

PHP broke the internet, and a big part of the industry spent the day commenting on PHP as a language. How bad it is. How dumb. How it should have died years ago. Meanwhile the other runtime had an RCE of its own, and almost nobody had an opinion about JavaScript.

PHP is a wonderful language. It runs a huge share of the web, and Laravel is why it still feels like a first choice rather than a legacy one. The ecosystem did the work while everyone else did the talking: Laravel News had per-product guidance up the same day, and Laravel Cloud patched running apps in place. Dead languages do not light up every security feed on the planet.

Commentary is not work

What struck me most was how many people got busy explaining instead of doing their job.

The job yesterday was simple to describe. Watch the logs. Patch. Solve the problems of the people who depend on you. None of that happens in a comment thread.

Our own day looked like this:

Know how to patch without the vendor's panel. SSH, package manager, restart. Write it down before the day you need it.

Relax is not a security posture

This is the exchange that stuck with me. Translated:

Me: Hi, we have signals it is already being exploited freely. I suggest we cut traffic from Africa and Asia as a preventive measure until patched builds land.

A client's contractor: Relax :)

That was the whole reply.

The other one I heard more than once: "I have applied the mitigation." There are interim settings that reduce exposure, such as limiting request sizes at the proxy and turning off session upload progress. None of them closes the hole. The advisory says it plainly: updating PHP is the only complete fix. "Mitigated" was used to mean "done". It was not done.

Code is a utility

Programming is not writing code. Code is a utility, like water or electricity. It is a means to an end.

A huge part of us forgot that, especially the ones with agents at hand. We forgot what the mission is: to solve problems by means of code. Not to produce code. Not to have the cleverest stack. To solve problems.

So instead of growing what we already have, we rushed to rewrite everything in Rust. Instead of taking the system that works and developing it to solve more problems, we started over, so we could solve the old ones again in a newer syntax.

The language was never the point. Yesterday the PHP shops that patched fast were fine, and the Node.js shops that did not were exposed. The runtime did not decide that. The people did.

The best bug is a new one

What we should be doing is building on what we have until it solves more problems, and until it starts creating new ones for us to solve.

Because in the end, the greatest achievement of a programmer is to see a new bug. A different one. Not the same one as before.

AI is not coming for your job. We, the IT pros, are way more efficient at killing it ourselves.