← Back to context

Comment by berkes

6 days ago

I actually do see developers being replaced by AI. But only certain roles and only after it solves the issues that e.g. Dreamweaver did not solve.

Building stuff from scratch is easy. AI can do it, dreamweaver could, that sweatshop worker on fiverr, newest junior hire, etc.

Maintaining legacy isn't. AI isn't there yet: at most it can replace existing with new, but it cannot "understand" context, history, The Reason Why Kevin Built This Weird Unintelligable Abstraction, or how the three different ways of validating an email are actually a business requirement.

Let alone building stuff that withstands the decay of real constraints and time.

I've been around long enough (30+ years software dev/engineer) to have seen this decay over and over and to know what works and what doesn't (It's a people issue, hardly a technical one).

I've never seen AI, that sweatshop worker on fiverr, newest junior hire, or any low- or no-code tool, amongst which Dreamweaver, churn out something that's easy to change, maintainable for months, years, decades.

There's software that gets a few hours a year of attention and keeps running, securely, performant. That can be picked up, changed or added to and deployed in hours. And there's software that will explode the moment you even glance at the files, let alone anyone fixing, updating, or g*d forbid, adding features to.

AI generated stuff almost exclusively falls in the last category. And we don't have anything AI around yet that can do this fixing, updating, adding features for us.

So currently it successfully replaces many of the code monkeys, fiverr-freelancers and junior devs churning out forever-greenfield-projects. But little else.

Sure, but I’ve seen plenty of senior co-workers deliver a pile of dynamite in Java and get a bonus for it, abandoning it to some other poor sod who will have to fix and maintain it. Managers who reward that behavior will probably be the ones who try to AI Everything, and it’ll probably work for just long enough to make all the devs redundant.

  • Yea. To be clear. With "senior" I did not mean "developers with over 16 months of experience" but developers that have failed spectacularly, several times, learned from that, and now strive to avoid these, and related mistakes.

    A junior can never be that, due to lack of the experience. But too many long-term developers haven't failed, or haven't learned from these mistakes.

    For example, about five years ago, I worked a few months with a 40+ years-of-experience software developer, who worked almost his entire life on one single product (in C++ and Java) in one company, solo. I was asked to assess if/how it was possible to get new people for this project because he was retiring. Part of the code was marvelous and a true beauty. Other parts were horrors or inintelligable mess. He truly did not like Java (at first) so a giant part of the java codebase was there to make it look-and-feel somewhat like his (also non-standard) C++.

    Ironically, the nice parts were those that were hardly touched or changed - infrastructure, boilerplate, etc. But the worst parts were those that needed frequent changes due to business demands or the ever changing outside world. He honestly never realized that there were patterns and systems (by now), to keep software manageable under real-world-demands and changes. That turned also to be the saving of this project: he loved "DDD" and "Design Patterns" (both he heard about, but never dove into), and implemented some core ideas in this project before handing it over: anti-corruption-layers, ports-adapters, dependency-injection, testing.