Rise of the half-dev
This article from Matteo Collina about six month ago hurted my feelings a bit more than I cared to admit. Mind you, I am a bootcamper and despite having no illusions on the failure rate of those, I still owed it a good part of my career switch. So hearing it was dead was a bit painful, but I couldn't disagree either. Myself trained in scientific computing and a good load of science and engineering, I also knew times would be harder for other who didn't fancy digging into the more math and engineering part of coding. All in all, six month ago, I would have agreed. Things have changed a bit.
A tinkerers paradise
Since then, I've seen a fair share of vibed app popping at work—for the record, I work in civil engineering. Not the "I'll make millions with three prompts" kind of vibed app, but apps made by scrappy engineers who love to tinker and just dog fooded their problems. Fancier Pythons script in place of poor Excel sheet, auto import pipelines between simulation software, you name it. Sure rainwater harvesting design app isn't the sexiest thing around and probably not a billion dollars business. But it works, it saves time and people have great fun building those.
Part of it is actually quite joyful to watch. I was one of the few engineers turning to dev out of need, because I wanted to make tools for better bioclimatic designs. I felt quite lonely at time, fighting against the current to be honest. And once I finally became prolific enough as a software engineer, I had no time left to do any engineering stuff actually. So seing people being half-dev, half-engineer has something liberating.
Software engineering isn't innate
It's not all unicorns and lollipops though. As those apps grow, you can clearly tell they aren't made by people who are very software savvy. Solo dev'ing is though. It's incredibly powerful at times, but requires a lot of skill at once, AI or not. You need to have a very clear mind about how, what and why you build at all times. And it's not like pick one or two of the three, you need to be cristal clear on all three.
In the best case scenario, this leads to scope creep and cargo cult. Every single vibed app designed has a chatbot, built-in project management, mini-CRM etc. because why not? And you know how devs are, "I'm just coding those few extra features before I release to more users". And apps end up with more features than they have users.
And then the app grows and design decisions start to crack. Two way syncs between apps with single source of truth that drifts, people using the built-in chat as a free unlimited Claude subscription, permissions so complicated I'm not sure AWS has them and ends up in locked out users, N+1s, polling that work on staging and gets blocked in production, CORS, CSP etc. Every single trap software design has to offer, they fall in. I'm telling you: I've seen things.
It's saddening to see well meaning people drowing in slop. What was a fun app at first, becomes a burden of chore, a pile of meaningless features. I'm out of a meeting that was full of RAG, agentic workflows, buckets, delegations etc. I don't even know what the app is doing. Like I understood every single sentence but couldn't understand what users are doing on the app, who they are, why they are using it.
And when I start to ask questions, I have emptiness. Either a silence that means "I'm gonna have to ask Claude", either some empty words roleplaying AI itself. And even the worst of them all, people saying "Nah, Claude said otherwise" to any pushbacks or challenge, kinda implying I'm from the old world, with old ideas. Reality is, we've ended up with people who don't get what they are building. They don't how, they don't know what, they don't know why.
We need to train new "devs"
As I said, most of them are well meaning people. They just burn steps, get lost and hope for LLMs to get even better to compensate. We are going to throw away so much code in the next year. But that's not really the concerning part, it's just code. We're going to throw away some great but very unpolished ideas and worse, some hopes. I'm sure some people are down some sort of accelerated side-project slope, where you live three years of meaningless side project in a mere weeks, only to end up with a "why am I doing this again?". It's fine when you do that 30 minutes a day to learn a new language, much less when you've spend thousands and some serious hours on it—even if some them are idleing.
My call then, is that we need training—maybe bootcamps?—more than ever. A defining props of mine was that we not only learned to code, but we also to pitch a simple product and go around the basics of product design and management. The idea was, simple: don't code useless things. At the time because writing code was expensive mainly, but there are many other reasons.
We need to teach half-devs system design, software architetcure, permissions pattern, data structures, delegations, auth, product design etc. The current situation is almost cruel. We let people believe they'll make it, only to let them drown in slop. And I'm sure a bit of focused training could do a great deal. Of course I'm not speaking training people that will be Rust or Node core contributors. But for your average B2B, spreadsheet-ish software made by a tinkerer this would unlock so many things.
The hard part though, is to have those impromptu devs admitting it. Yes, there is work and training to be done. Yes your're gonna have to think. Alas, when I'm "miraculously" fixing things, I'm not seen as senior dev, but as the one who has a better setup and "prompts better"—which is true as well. There's a long way to go. I'm not sure I have the patience.