upvote
"as most arguments don't apply to today's world" makes me want to roll my eyes so hard at you. The vast majority of problems we had with building complicated systems are all still just sitting there. People are speedrunning relearning things we've known about software engineering for decades.

The more things change, the more they stay the same.

reply
Between AI and the stock market (which of course relates directly to AI), I’ve lost count of the number of times I’ve heard lately another variation of “this time is different.” Sometimes so close to those words that I wonder why the person speaking them doesn’t feel a bit tingly. Great big warning signs all around.
reply
The examples I gave, and the arguments that usually support them don’t really translate into “building complicated systems”. I was talking about the arguments in support of variable naming flamewars, etc.

I’m not proponent of AI generating everything without any supervision as of now. But willing to change my mind when it gets better.

Most software engineering jobs are not cutting-edge tech, or research, or solving unsolved problems. Integrations, APIs, figma-to-react pipelines, devops and etc. is what people get hired for. All those can be done much faster in the same-or-better quality by an experienced person with the supplement of AI. It’s hard to imagine any company would go against the grain and slow things down on purpose.

reply
So I accept that “nonsense arguments are nonsense”, but with some minor differences of opinion. Naming of things matters insofar as you care as a human to actually conceptualize the system you’re building. You can call all of this stuff minutiae, and on some level I kind of agree, except for the general vibe of _caring about the quality of the stuff you produce_. That is something that still matters whether it “works”. Like, yes you can get an LLM to gen some junk, but _is it any good_ is still something you are in charge of.

As far as “boring systems are boring”, I can tell you from experience that I work on a pretty boring system, and AI is not all that meaningful in terms of its impact, and it’s not for a lack of trying.

Can it help me create a migration and add an endpoint and such? Sure. But those aren’t the hard problems. They never were.

It’s funny that you think the idea of slowing down is such a bad one, but it is another well-established truth. Slow is smooth, and smooth is fast. This notion of break/fixing your way to prosperity by way of 10,000 ill-conceived PRs is a fool’s game.

reply
I'm sorry, you might be right. But this simply doesn't reflect my daily reality. All I can say is, nobody in my org is creating 10,000 PRs. But everyone is using Claude Code for virtually all commits. We've been doing it since about Opus 4.5ish. So far, so good.

Generally we've modified our timelines heavily, systems are working as intended, company is still making money. There are some AI-authored commits that had mistakes that we didn't catch, but I'm sure this could've been an issue even if all were human-authored. I know first-hand multiple other companies who are doing exactly the same thing.

I agree with "slow is smooth, and smooth is fast" for mission critical systems. But super majority of systems are, indeed, not mission critical.

reply
I think we're probably talking past one another a little bit. I use LLMs. Daily, even. I've been doing so since around the same time. The vast majority of people in my organization are doing the same.

I have watched some projects absolutely explode in LOC added, number of PRs, etc. but I think the more interesting question is: how much of it is directly being done to add customer value, how much of it is churn, etc. you might get some interesting answers.

As so frequently seems to be the case for you and I, we kind of agree but then you drop something that just does not compute for me: "slow is smooth, and smooth is fast" is not specific to "mission critical" systems, it is generally applicable.

As I said in a previous comment, I work on a fairly boring system. Its "criticality" is debatable, but in general we make the same kinds of boring guarantees to our users that even mediocre SaaS products offer: a few 9s of uptime, zero-downtime deploys, etc. AI has made aspects of working on this system easier, but in terms of API surface, how users are using it, how to safely advance its state without breaking existing callers, data migrations across services, and so on, very little has changed.

reply
I have the same experience. Slow is smooth with AI is still productivity improvement.
reply
But is it enough of an improvement to justify the cost? (Since the current raises are probably just the beginning)
reply
It depends :). It’s enough I pay for it for my silly side project. Historically we’ve paid a lot for software tools. IDEs and even documentation used to be pretty expensive. AI seems at least on par with those.
reply
I've never paid for any developer tools or documentation.
reply
What's an int vs a float vs a boolean? What's a function? What's a class? What's a variable? You don't actually need to know the answer to those questions in order to vibe code. That's a lot of priors to update!
reply
Just to go on record, as of today, I’m a big believer that a person that knows all that stuff is much more productive with AI-coding than a person who doesn’t.

I have no idea how we can get people motivated to learn these through trial-and-error when AI coding exists though. I remember the days of spending hours on stupid bugs that AI can resolve within a minute. But I recall learning heavily from those experiences. Oh well…

reply
yes, but a person who doesn't know any of this stuff is infinitely more productive with ai than someone who isn't when it comes to many things.

we've got product folks vibing out prototypes (not shippable but clickable) in our main front end in a few minutes to an hour. This would previously have involved 3 people and several weeks, or a ton of figma and documents to fill in the gaps. This saves weeks to months and lets them really experience the items.

Then they hand it off to someone who knows all that stuff who is also using AI and the impl also gets done faster.

The PMs are either moving infinitely faster, or at least 30x faster and not blocked constantly by others.

basically you're not comparing people who don't know much (tech) with those who do, you're comparing them before and after access to AI.

reply
I like the presentation I heard from a Principal, that AI tools amplify your competence. If you start out incompetent, it'll just allow you to be incompetent with greater scope and (negative) impact.
reply
I honestly feel like my own learning has accelerated after using AI. Simply because now it's so easy to write the same thing in so many different languages, I can e.g. learn pros and cons of each language, which otherwise would have been I think unfathomable to me. I have now created so much stuff I wouldn't have had time to create.

I setup k3s, and tons of what would be otherwise unnecessarily complicated stuff on my laptop for my side projects with additional home servers, smart house stuff. Otherwise k8s and things like that would have been daunting to learn and in theory and without constant professional exposure, etc...

Microservices in Go, Rust, which I didn't have any previous experience with, games in C and other languages. Didn't know anything about low level memory management before. Was just mainly TypeScript person. Just constantly building random fun stuff.

reply
The question is if you already had intuitive understanding of what those things “are”. The languages and systems have been easier to learn once you picked up a couple. Same applies here as well.

The question is, how quickly does a junior with no experience builds intuition without trial and error.

reply
But surely, it's a matter of curiousity? If you are curious you will naturally want to look deeper to understand what is going on. If you are not curious, then you wouldn't have done very well before either.
reply
When I started I learnt something about coding from VBA macros to automate excel.

Often that started with the macro recorder. Then you worked out what that "recorded" code/sludge did, removed the crud you didn't need or want, improved the logic and so on. I bought books to understand it better. Now you can ask a (different) LLM "what is this? why is it used? How would I?" etc which is probably a faster learning curve than books, newsgroups and old school personal home pages with good info.

I would have been quite surprised when I first used a VBA macro in anger just how far I would go down the rabbit hole. C, asm, verilog, Linux were no part of what I originally signed up for!

Some people will specialise in the equivalent of recording macros and go no further. And this will be fine for code that gets it done but doesn't matter too much in the other dimensions (security, reliability, usefulness without the authors' support, etc.) Much like VBA utilities inside companies that were useful way back when. Other people will want what they produce to be better, even good, and they will learn about floating point [1] and all the rest, much as I did. Probably learn pretty fast too. [2]

[1] https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.h...

[2] Working out how to write an excel vba webserver and using it to collect and and collate summary data from various divisions into reports was seedy as hell, solved the actual business problem (given ridiculous but intractable constraints) and isn't something you can record. We all have stories from a misspent youth that we're simultaneously ashamed and yet somehow proud of.

reply
And, you don't have to vibe code. A competent developer can make great use of AI. I think a developer that can develop the system themselves is the most accelerated user.
reply
> You don't actually need to know the answer to those questions in order to vibe code

No, but you do need to know the answer to respond to that 3AM page about prod being down.

reply