Antoine Provot

Software engineer
Back to index

Asbestos & Ikea Software Engineering

AI is killing the fun and making me a worse software engineer at the same time.

Can you believe that? I mean, it reduced my job to producing good code that compiles, did it at a speed I couldn't pretend to do even if I practiced codegolf and puzzles for a lifetime, but in the end it disgusts me because the code “I” produced within the blink of an eye is shit, disposable, hollow and superficially architectured.

Don’t get me wrong. Claude is incredible, it’s the invention you see once in a lifetime and I think I now understand my grandma when she described to me how electricity came to her parent's house

Allow me to explain.

AI is our asbestos

One of my Software Engineering teachers used to compare our discipline with construction, as a lot of parallels are possible, and I’m amazed of how good the comparison still stands now that I’ve been in the industry for a decade.

Following the analogy : AI is asbestos.

When asbestos was introduced, it was revolutionary, a real miracle material. It was cheap, effective, worked for piping, roofing, walls, vents, and easy to produce. It allowed builders to construct things that required ultra-skilled and specialized workforces, like roofers as a simple example. Any person able to master basic tools could suddently build the hard part of their houses they couldn't do before.

Asbestos was even fire-retardant, much like how AI reliably produces code that compiles and passes its initial test suite on the first try. I know the analogy is getting far fetched, but use your imagination please.

As a mason, what can I say about all these new walls around me? They look like walls, they were built insanely faster than I could ever lay a brick. But beneath the surface, behind the drywall, we’re just ignoring reality. We're hiding something toxic that future generations will have to tear out with hazmats suits on, and will scratch their heads wondering how to clean and recycle it.

Pixel-perfect but picture-flawed

If you build big systems like I do, you will know that feeling intimately. The narrower the scope, the more magical the result appears. Small isolated functions? Mind-blowing. Simply breathtaking.

For instance, I like OCaml, and the basic first example is the recursive Fibonacci function. Let's implement it a tail recursive way.

  let fib n = 
    let rec aux n b a = 
    if n <= 0 then a
    else aux (n-1) (a+b) b 
  in
  aux n 1 0
  ;

Claude would generate this faster than my hands could even reach the keyboard. It would generate clever edge-case tests around it even faster, catching n=-1 without breaking a sweat.

Yet, we aren't doing pure computer science here : we're doing software engineering. In the context of a real-world system, nobody cares about Fibonacci terms past the 10th index. A simple lookup array would be a completely valid engineering choice: crushing performance benchmarks, avoiding recursion overhead, and passing tests effortlessly for 99,99% fibonacci usages in academics.

let FIBO = [|0; 1; 1; 2; 3; 5; 8; 13; 21; 34; 55|]
let fib = Array.get FIBO

Claude is smart, but Claude doesn't know that nobody gives a fuck about Fibonacci past 10, say 20 if you're of bad faith.

This example is trivial, sure. But scale that up: think about AES S-Boxes in cryptography. Would an AI agent naturally hardcode pre-computed lookup tables for the Substitution Box step based on hardware constraints, or would it blindly recompute bitwise transformations every single time because the mathematical formula looks more elegant? I wouldn't bet on the agent. Local optimization creates the illusion of intelligence, while missing the broader engineering context entirely.

Join the Cult and Abandon Your Craft

To survive in tech right now, you are almost required to join a cult of semi-religious faith in AI.

LinkedIn feeds and tech forums are flooded with believers preaching that "Prompting is the new coding" and that anyone reviewing pull requests line-by-line is a dinosaur. You're expected to nod along, worship at the altar of raw velocity, and pretend that shipping 5,000 lines of generated boilerplate per day is something to celebrate.

Still around OCaml, I cannot ignore this meme-ish surealistic pull request that quickly became a core reference point (at least for me) when thinking about religious-like bias in AI software engineering. I do believe that the author sincerely felt legitimate, and even worse, genuinely useful to the OCaml community while submitting it. I cannot imagine any malice here: just good old-fashioned evangelistic missionary interference, fueled by raw LLM output.

In that process, I feel myself slowly abandoning my craft.

I feel like a woodworker forced to stand in an automated assembly line, watching flat-pack IKEA furniture roll off the conveyor belt at ten thousand units an hour. Sure, it fills a room. Sure, people can sit on it. But the soul is gone. The deep, intuitive understanding of grain, joinery, and stress points becomes obsolete, and every furniture I'm assembling now will endup in a landfill at the next house moving.

Last word

What happens when the house requires a total structural refresh? Especially hen the codebase becomes too vast and interconnected for an AI context window to hold the big picture?

When the structural rot sets in, we will desperately need humans to step back in and fix it. But who are we going to call?

  • Juniors who were raised on prompts and never learned how to reason through complex, large-scale systems from scratch?
  • Calcified seniors whose hard-earned technical muscles vanished, and whose passion for craft got IKEA'd ?

We are laying down thousands of miles of digital asbestos, drunk on the speed of construction and high on artificial productivity metrics.

Are we really comfortable letting our kids live under the roofs we were so happy to build?