140 comments

[ 0.22 ms ] story [ 30.2 ms ] thread
>AI makes projects with weak engineering culture fail much faster.

>There used to be a time when people sat down and talked about how they'd do something. Now they can just prompt an agent for a few hours and open a PR.

>The most tragic aspect of this way of working is that, to the untrained eye, it works.

>If you pull the branch and test it, you'll probably get something somewhat functional. So what do they do? They keep going. Again and again. Until the project reaches a point where no one knows how anything works.

Isn't this the opposite of failing faster, it lets people who would have never made it past the first few hurdles and give up get deep in and then the false hope that they can then prompt their way out of whatever mess resulting in deeper and deeper spaghetti.

I saw close some companies getting completely lost with AI code
> Fixing it would require such a colossal amount of work that it would be impossible to even start justifying it to anyone in management.

Bad news: by delegating the thinking to somebody else (Claude) you have become the management.

Between AI and competing against the world with H-1B, it's really never been harder to get an entry or mid-level software engineering job.

Which means our pipeline to senior engineer is completely broken.

I disagree with pipeline being broken.

Now with agents, you can get really bad (vibe coded) code bases in a week.

Before, to get this kind of experience, you had to work in a company for at least 2 or 3 years.

AI gives more leverage to exceptional people, its an amplifier not an extender
I don't know what kind of company has got a large codebase and it's taking 20,000 loc pr's expecting that shit to be sustainable, but I work AI first and at the most PR's are touching 12 to 15 files, with the more radical ones sitting at 30. They are still human-reviewable. They are still the kind of change you can revert back to original without breaking all the rest... there are ways of doing this stuff, dear luddites.
> You were never expected to understand every service and every database. But at least someone did and would explain it to you.

I agree with most of this except this. Think there’s some rose tinted glasses here or I’ve got bad luck over time.

Life before ai was bad as well. There wasn’t any one to explain to you anything! You had to figure it out yourself. The people either already left or was busy with something else.

No one wrote tests (to my standard). Most of the ops works was skipped. Docs were just not there. Nobody linted properly. Just bad mannnn

I think it is less about junior/mid engineers, and more just about the kinds of work inexperienced/cheap developers are often doing: assembly line, JIRA-ticket-taker type development.

This is especially impacting Indian tech workers in the US [0] since these are often the types of roles that InfoSys and other foreign tech consulting firms are staffing. The new $100,000 fee to sponsor an H1B visa has made it difficult to justify hiring foreign tech workers when most of the time they are just going to be using American LLMs to do their work anyway.

[0] https://thefederal.com/category/news/h1b-visa-indian-tech-wo...

> bad engineers were always a liability

This part of the article hits home for me. With AI, "bad" engineers can now amplify their "bad" engineering x10 across the organization. The most egregious of these cases for me is often long tenured engineers who have lost interest in the craft, creating a dangerous combination of having enough merit to ship but not enough interest to make what they ship _good_.

I am still a firm believer in garbage in -> garbage out, AI is only as good as the abstractions and contracts you put in place for it. I don't subscribe to the idea that AI generated code is fundamentally bad, just that people lack the right skills today to wrangle agents into writing good code.

Earlier in the year I put together a talk for my company on what the future of architecture & design means for us in the career, I'm very proud of it and will share here in case folks have their own thoughts to share on the topic: https://youtu.be/SIZrt9Rt05Q?si=W57eirniWmoSFeBu

> not enough interest to make what they ship _good_.

I know this happens, but don’t really understand it.

In my experience, quality hits usually resulted from external pressure (bad managers, trade show-driven schedules, etc.). I always wanted to do better.

Now that I’m retired, I take the time to really get Quality right. LLMs have helped (but they need close watching).

Good talk, thanks for sharing! I’m trying something similar for personal project I’m hacking on.

Specifically, I’m spending a lot of time on the first few instances of a pattern that I hope to have the AI scale out for me. My thought is that I can provide an opinionated project structure, feel it out myself, then point the AI to those working examples in the future. Until then, I’m mostly just using ai as fancy autocomplete + domain research.

> people lack the right skills today to wrangle agents into writing good code.

It's actually this that leaves me feeling optimistic. We're definitely bad at this today, but will we always be bad at this into the foreseeable future? I'd like to think not. I'd like to think that we'll get better at working with agents in the future and eventually develop better practices around this new weird technology once it's better understood.

This is why my theory is LLMs are self defeating in large orgs. Or worse terminal for the organisation.

For everyone adding value with LLMs there will be way more destroying value. If you roll a critical failure a mediocre LLM enhanced VP convinces the org to sail aggressively in the wrong direction.

Not all industries require good software engineering tho.

one good swe out of ten with high authority may be enough in most organisation

> The most egregious of these cases for me is often long tenured engineers who have lost interest in the craft...

Which is an incentive problem, they have likely reached an equilibrium with their company. Genuinely few companies provide any incentive and critically, the space, to ship good code.

Because frankly it doesn't matter in the middle grounds. Which is where 90% of developers are.

I wish we all had fulfilling edge of our seat projects to work on, that challenged us just right, mattered to our community etc. AI is absolutely poised to disrupt the middle 80% of development because the middle 80% of dev is not that important or hard.

It's just a shame for all of us who loved the craft, and didn't mind being in the middle making a living. That's a totally noble place to be, and it could get taken away from many of us.

Bad engineers. Like bad wine, bad pizza and bad exes are impossible to guess till you taste it. Changes you forever. Changed me. You know its bad and good lord! dont bother explain it someone else who will not taste it themselves.

There's different kinds of bad too, some justified. The senior that made their way boot licking and being at the right place and time. The junior that just got there. The senior that does not care anymore for being left out of promo two years ago and having to report to the person they despised as being a bad engineer.

AI isn't making human behavior better. In any way.

Life is too short for all this, keep doing the good stuff, filter in the good, keep the bad out that you can, ignore the rest. Have the self reflection to know when things aren't working out, and when its worth getting out. Build the wisdom to not repeat the same mistakes. Believe that there's a lot of good work to be done in the world and contribute in any way possible.

It's very true, you used to have to hire people you knew were not very good just to have warm bodies who could throw together widgets, minor bug fixes, etc. You still had to have a competent developer review what they did, which was annoying, but ultimately a time saver over doing it themselves.

Now the competent developer can just run agents and do the same review process, except it's ~free (relative to human salaries, even outsourced).

So we've got a bimodal distribution going on where the bottom X% of developers have become essentially worthless while the top Y% of developers are now more valuable than ever.

> it's ~free (relative to human salaries, even outsourced).

Even ignoring the shift to token based costs, the opportunity costs of throwing everything onto your "competent developers" isn't free. They still need time to review and correct output on top of whatever else they were doing in their day to day. And they probably aren't getting a pay raise either, so how long until they use that bullet point to jump jobs?

It baffles me that someone can just send a PR without knowing the gist of how it works and why it’s done this way.

If you can’t answer this basic question then why tf do we even need you around?

Most people are currently too polite to ask the last part out loud. I suspect it will start changing soon.
AI generated code is the new "lines of code" metric used by middle management.
"There are also people who essentially make it harder for everyone else. And now anyone can produce more code in a day than they used to in a year."

That is the "democratization" that AI shills speak of:

https://xcancel.com/dhh/status/2087538364580835804#m

Once a CEO with a snowboard-optimized brain gave you a board seat, there is no way back.

I think of it more as "the automation of the stackoverflow engineer". In enterprise software, there has always just been a non-negotiable large volume of code that was required to be written. This has traditionally been offloaded by having seniors do the hard thinking then distill it into a jira ticket which could be handed off to an engineer that'd actually write the code and punch every hiccup into google along the way. This hand off is no longer necessary as that same senior can just kick off an agent and have it handle the implementation for them.

I've heard some refer to this as a "nature is healing" scenario for the industry where if you only signed up for a high paycheck and didn't care to think critically about any of the work you're doing then this will be painful because that previously manual process has been automated. The floor of what's necessary to be considered valuable has been raised.

Economics would have always created this downward pressure on demand for software engineers regardless, either companies would replace the number of engineers they need with AI, or with low paid offshored workers.
Look, stupid companies who use A.I. to generate their code will simply fail. Companies that use bright engineers to engineer their product and write code (and pay them accordingly) will thrive and thrash the competition.

Darwinism in action.

I don't believe A.I. will change much, but it will lead to winners and losers, that's certain. Lessons will be learned, A.I. will remain but play a minor role, just like IntelliSense and ReSharper.

People need to understand that when things break management will hold you accountable, not the A.I. If you can't fix it you'll be out of a job. So you'd better make sure that you understand the generated code and clean it up before putting it in production because you'll be maintaining it.

So, blame the engineers now? Most likely they were forced by a manager to push more PRs faster else piped.
Very good article.

But it does cover the case where someone makes it to the top if he/she is junior. Who experience is gained?

Maybe I ask too much from a short article.

it does cover - it does not cover
This is really well written. I deal with the exact same issues almost daily. Senior engineers who want to guard quality are becoming a bottleneck.
I'm not sure what skill really means, or what's considered bad anymore. AI coding ability and human coding ability are different, and different organizations need different skills. No skill is inherently bad—it just depends on what the organization needs.

I understand that AI writes better code than people like me in many cases. But an industry should still provide opportunities for those people. And sometimes those people create things that are better than AI in certain areas. The problem is when even those opportunities are taken away.

> In the story above, everyone is failing:

IMO The author fails to list the hypothetical person with 13 PRs to review is also failing.

> * The engineer who refuses to change with the times

IMO many of the old ways of software engineering were local maxima. We're still seeking how to hit a new maxima and the journey may take us through zones lower than the previous local maxima.

One thing this post did not discuss is the enormous effort required to explain to the management why number PRs has increased and number of lines changes, which in their view, means explosion of productivity, yet one engineer is destroying the team's momentum.
Great idea to include a link to Hacker News on your blog!
Probably a good thing, we need more people building major mega projects like the Line. Potentially we need AI to mass produce architecture and scale up and out city/county building departments to open the gates to massive buildings in the United States.