An idea that's beginning to solidify for me is that AI tools make software development harder.
It's harder because they dramatically raise the bar for what's possible to do. An individual developer can take on significantly more challenging projects now, because the ultimate constraint has always been time and AI can help you get more done in the time available.
But the stuff you can get done with that time is a whole lot harder. You have to understand lots more things, and get radically outside your pre-AI comfort zone.
It used to be acceptable to spend several days refactoring a codebase, or figuring out how to ship a small feature because it's in a part of the system you hadn't worked in before or involved learning a new library in order to build it.
Coding agents mean you can climb those curves a whole lot faster, but you still need to climb them - and the volume of information coming your way is much higher.
If you're worried about non-technical vibe coders taking your job, the correct response is to be much better at building software than those vibe coders. That means you need more skill, more ambition, and more experience. It's hard!
From that perspective, development has always been harder since I started. I left college with a copy of K&R and remembering courses that applied to real life immediately, because data structures and such were just what we had. In my first job, I ended up writing a code generator to help serialize a large number of data structures, straight from a compiler design class.. which right now you don't need to know a thing about, because serialization and languages with introspection are everywhere. The knowledge you need to be a professional engineer just kept going up through the last 30 years, while most of the basics became far less relevant, because the libraries just did it.
AI raises the bar again, as its probably at least as good as me, if not better, at anything I learned in college. I've spent years living off of random trivia from the last 30 years, as I saw computing grow with me. How do you know this?! Because everything built on top of it didn't exist when I was your age, so I had to learn it! But well, nowadays the AI is better at that trivia too.
The world moves, we do what we can with what we kno. It's not just programming, but what innovation and automation has done to the vast majority of things humans have done to be productive for each other since humans are people. We'll have to cope, like the guy that bred oxes to pull the plows.
So in essence: it got harder because the easier parts have been solved for?
> If you're worried about non-technical vibe coders taking your job, the correct response is to be much better at building software than those vibe coders. That means you need more skill, more ambition, and more experience. It's hard!
This is a false fear. The real risk isn't that some 19 year-old vibe coder is going to replace you, it's that there's simply less need for more experienced engineers. The market is shrinking.
Also, even if the premise behind the SaaSpocalypse is naive and oversimplified (companies aren't going to replace all their SaaSes with internally vibe-coded replacements), it looks reasonable that net-net AI will have a negative impact on the value of software.
> The real risk isn't that some 19 year-old vibe coder is going to replace you, it's that there's simply less need for more experienced engineers. The market is shrinking.
That last sentence is verifiably false if you look at SWE job postings and their recovery since 2022.
It’s also a poor take in general, buying very much into the narrative propagated primarily by OpenAI and, especially, Anthropic, who nonetheless continue to hire large numbers of SWEs while paying double the market rate.
> That last sentence is verifiably false if you look at SWE job postings and their recovery since 2022.
Source?
https://fred.stlouisfed.org/series/IHLIDXUSTPSOFTDEVE
And it's probably worse than it looks because phantom job postings are a real thing.
> ...who nonetheless continue to hire large numbers of SWEs while paying double the market rate.
Tech companies have laid off over 200,000 people since the beginning of 2025. Even putting aside the fact that (from what I understand) over half of Anthropic and OpenAI's employees are in non-engineering roles, if you assumed every employee was an engineer, Anthropic and OpenAI could triple their staffing levels and it still wouldn't even fill a quarter of the void.
Yes that’s the right source. There would be no recovery in SWE market after the higher interest rates killed it if LLMs had any major impact on SWE employability.
> That last sentence is verifiably false if you look at SWE job postings and their recovery since 2022.
Do you take into account recent layoffs of Meta (8k people), Block (4k people) and others?
That's true but in a way it's also more fun and engaging because the tedious stuff just gets worked through leaving you to think about the bigger picture items.
Though I'll say I don't buy the stuff about AI "democratizing" development since making it much more capital-intensive kind of has the opposite effect for anybody doing dev work at home.
That's a roundabout way of saying it makes software development easier. Perhaps even a 180.
But yes - once it's that easy you have to step up your ambitions.
Maybe it makes software development easier, but a career as a professional software engineer harder.
I hope that after a short period of delusional expectations and layoffs from employers we're at least left with a more consistently competent set of professionals in our industry. Some people have imposter syndrome. Others are actually just imposters.
I hope that after a short period of delusional expectations that top management is going to reap the rewards of these AI capabilities we get a whole lot more comfortable with just doing the full business stack - including management, sales, branding, etc - and hierarchical structures crumble into flat collectives of do-everything true-generalist programmers.
>layoffs from employers we're at least left with a more consistently competent set of professionals in our industry
It definitely won’t be CEOs and managers not firing their buddies
> Some people have imposter syndrome. Others are actually just imposters.
I'm sorry to say, but AI coding assistants paved the way to professional imposters whose only skill is prompting a model to do something. I already had the displeasure of working with a software engineer who not only introduced a bunch of regressions that by mindlessly vibe-coding things against the requirements but also complained that not having credits to use the most expensive frontier models was, and I quote, "stifling my creativity".
Nonetheless, would still trust Claude to be generally more reliably competent in a random area of software engineering than the average professional. Sure they might still be better in a particular area of their expertise, but we've all had to play the imposter before on the stuff we care less about and figure it out as we go. AIs are still inferior sometimes but usually a decent 7/10+ on most topics - which really fills the gap.
[dead]
I worry this is looking at where the ball is now instead of where it's going. The recent disproof of an Erdos conjecture should put to rest the idea that LLMs will reach a skill ceiling before they reach superintelligence.
I believe we are headed for a world of superintelligent AI where LLMs are much better at logical thinking than humans, the same way that chess engines are much better at chess than humans.
In that world there's really nothing humans can offer in terms of logical thinking other than their humanity itself. An 8 year old with Stockfish can beat Magnus Carlsen, and an 8 year old with Codex (and daddy's credit card) will be able to beat me at software engineering.
I don't buy that at all.
It doesn't matter how great the LLMs get, the act of creating software using them will still require a great deal of skill.
Most people just don't think in terms of software.
Try asking a non-developer in your life what their dream software would be for their work, or their hobby. If they don't have what Nilay Patel calls "software brain" I'd be surprised if they came up with something actionable.
(For more on software brain see "THE PEOPLE DO NOT YEARN FOR AUTOMATION", which makes the point I"m making here but much, much better: https://www.theverge.com/podcast/917029/software-brain-ai-ba...)
You could give a non-developer the smartest LLM in the world and they wouldn't be able to create GitHub with it, because creating GitHub requires an enormous amount of understanding of what software developers need from a cloud source control tool.
Sure, you can argue that the LLM "knows" what GitHub needs already and can guide their human-user to that, but why would a human-user who doesn't understand the domain ask an LLM to do that in the first place?
> Try asking a non-developer in your life what their dream software would be for their work, or their hobby. If they don't have what Nilay Patel calls "software brain" I'd be surprised if they came up with something actionable.
I've posted this in numerous comments because I think it bears repeating: there are tech-savvy non-developers who are actually building and shipping stuff with AI. I personally know a few who have been successful in acquiring initial customers.
You can say "but their apps won't scale", "their apps aren't secure", etc. and you might be right but these criticisms ignore the fact that most human-built software suffers from issues around scalability, security, etc. What AI in the hands of a relatively tech-savvy person is capable of is building functional, usable applications that are pretty decent compared to what you might get if you paid an experienced contractor tens of thousands of dollars to build.
A whole generation of young people has grown up with the internet, smartphones, etc. They might not be trained software engineers or have a "software brain" but in many cases they probably have a better intuitive sense for digital product design than a 30 or 40-something engineer who has been staring at an IDE for the past decade(s).
> there are tech-savvy non-developers who are actually building and shipping stuff with AI. I personally know a few who have been successful in acquiring initial customers.
It'll shake your world, but tech-savvy non-developers were building and shipping long before AI.
> they probably have a better intuitive sense for digital product design than a 30 or 40-something engineer who has been staring at an IDE for the past decade(s).
Because developers only stare at IDE 24/7, and never interact with anyone besides mother who brings tendies to their basement? What am I even reading?
> It'll shake your world, but tech-savvy non-developers were building and shipping long before AI.
They weren't building and shipping by themselves though. They were hiring people to do the work.
AI has made it possible for people with motivation and time to do what was previously only possible with motivation, time and money.
> Because developers only stare at IDE 24/7, and never interact with anyone besides mother who brings tendies to their basement? What am I even reading?
Why is so hard to acknowledge the fact that many of the people who are good at developing aren't as good at coming up with ideas for digital products and building businesses on them?
> there are tech-savvy non-developers who are actually building and shipping stuff with AI
I absolutely believe that. I think those are people with "software brain" who are on their way to becoming real developers.
By the point they can write apps that are secure and scale... they'll have learned enough about software development to be employable as software developers. They'll be part of a new breed of developer who never memorized the syntax of a programming language, but they'll still be at the starting point of learning a HUGE volume of other stuff that's necessary to build good software.
If we want to stay employed, we need to be notably better at building software than they are.
I agree, and I want to add that 'better' doesn't necessarily mean 'creates more robust, elegant, resilient software'. Better means from a business perspective. If we (I'm one of the people you're discussing) end up cheaper or more fungible, for example, we still might be worth hiring from a business perspective even if the code we create is shit.
I've also seen an assumption that you've made here that I think is worth drawing attention to and questioning: that the tech-savvy non-developers are starting from zero or near zero when it comes to programming and software development. Right now, that's probably mostly true, but I'm not sure that will continue to be the case. I'm not a developer (depending on how fuzzy we want the boundaries around the idea to be, anyway). I do understand the building blocks of programming languages (e.g. I can answer all the questions fragmede posed in a sister comment), the trade-offs between rolling your own and using existing libraries, the need to evaluate tools, frameworks, and languages to determine which is best for your use case, why version control matters, why access rights matter, why backups and a test environment are necessary, why it matters to write code another human can read, etc.
Do I understand as much as an active working developer? Absolutely not and I'd never claim to, but I'm far from starting at zero.
The reason for this is that I was raised by programmers. There are far, far more programmers and general tech nerds now than there were in 1988 (when I was born). Which means that in 10-20 years, there are going to be a lot more children, grandchildren, nieces, nephews, and so on of developers, and a lot of them are not going to be starting at zero. For pretty much of all computing history, there's been a substantial opportunity cost to developing a deep understanding of coding and software development: either a person has to be so into the domain that they devote a lot of their waking hours to it (usually in adolescence or young adulthood, when that trade off closes the most doors and makes developing certain other time intensive skills difficult), or they have to obtain a CS degree, which means not getting a different kind of degree and often incurring significant front-loaded financial costs. The opportunity cost for people born into programming or tech families is much lower. You can start younger and spread out the hours needed to learn across a greater amount of years, you can acquire knowledge in less time-intensive ways and while practicing other skills (e.g. my cousins also have 'software brain' and we could all hang out and develop those skills while also developing in person social skills), and you have a built in network of experienced people who want to help you + that can give you extremely individualized, personalized attention.
If what you suggest comes to pass, I think that one of the greatest threats to SDE as a career is going to be your own children and grandchildren.
This is a great comment, thanks for giving me a bunch to think about here.
I'm personally excited about people with deep specialities in other fields being able to build software without reskilling as software engineers first.
Nevermind syntax, what's a variable? function? class? What's the difference between int/float/boolean string? Nevermind more advanced concepts like O(1) vs O(n). But when the vibe coder just needs to prompt "the page loads really slowly. plz fix" and the LLM can go in, add an index to the right SQL table, add a limit and pagination, so what if I can tell you the difference between PostgreSQL's dialect of SQL vs MySQL, and what the difference is in row types supported. I can describe what happens when you type Google.com into your webbrowser to an inane level of detail off the top of my head, but when the LLM can do an even more through version, I mean, I can pat myself on the back and be smug that I know most of that innately, but what is it really worth?
About a decade back, we, as an industry were collectively learning how to make apps webscale, and oh the blog posts about not using a database as a queue. But the LLMs have ingested all of them. I've only read the ones I came across, and of course my professional experience being part of teams implementing that at various companies. So I've got that going for me, but when the Vibe-platform-dev just has to tell the LLM "hey, when the user hits the send message button, it's slow. /goal make messages fast", and the LLM grinds for hours overnight switching the entire system over to a pub sub event driven architecture and the vibe-platform-dev doesn't even know what pubsub stands for or that they're using one unless they go back and read the transcript. I don't think there's as much of a domain expertise moat for as long as we're hoping.
It only takes two or three unreviewed prompts like "the page loads slow, plz fix" for you to end up with a tangled mess that even the agents can't productively work with.
Take a look at the Reddit forums for vibe-coders - now that a bunch of them have been hacking on things for 3+ months there's a growing awareness there that you hit a wall. Here's the first post I found from just searching "reddit vibe coding wall", it's a great illustration of the genre: https://www.reddit.com/r/vibecoding/comments/1sabdw3/anyone_...
Software development is really, really hard. Coding agents can get you a surprisingly long way, but if you want to build real software for real people you quickly find that you DO need that domain expertise.
The agents may type all of the code for you now, but you need a huge amount of skill to clearly tell them what to do, confidently decide what to do next and credibly present software that works for other people to use.
Offtopic, but how do you monitor all of this stuff, Simon? Do you have a routine where you recheck Reddit, Twitter, HN, other resources, or do you use LLMs to find material for you?
I spend way too much time on Hacker News, Bluesky and Twitter and occasionally check in on Reddit (I'm more of a lurker than a poster there.)
I don't have any automated LLM scanners, but I do frequently have ChatGPT run searches for me with questions like "Find the most credible accounts of the recent Oracle layoffs, how they went, rationale, problems caused".
This guy clearly didn't hit the limits of vibe composing a Reddit post.
Im not understanding why the discounting of your prior knowledge somehow slides over to a benefit for the non-technical vibe coder?
wouldnt you still be in a better position when prompting “site slow, make fast”?
For now. But in a future where the non-technical vibecoder + AI can fix the slow site without the benefit of my expertise to thoroughly prompt it properly, why hire me?
The business goal is that the site is slow. That gets fixed by the non-technical vibecoder for the cost of however many tokens. Why look for outside help (aka me) if there's no need to and the AI can do it all?
> I absolutely believe that. I think those are people with "software brain" who are on their way to becoming real developers.
In my opinion, this is a software developer-centric way of thinking that reminds me of the saying, "if all you have is a hammer, everything is a nail."
Here's an alternative perspective:
For billions of people, technology products are an integral part of daily life. As a result, lots of people have an interest in building technology products, particularly software. Thanks to AI, you no longer need to be a "real developer" to build software. You can learn enough to build things that are commercially viable without seeking to be employed as a developer.
> If we want to stay employed, we need to be notably better at building software than they are.
While I don't believe that the market for developers will shrink to 0, unfortunately, I think this type of comment reflects the fear, existential angst and denial that has overtaken many people in this industry.
The reality is that developers are no different than all the displaced workers who came before them. One day you had a job that seemed secure and capable of providing for a comfortable life and the next you were facing the prospect of diminished wages and unemployment because the world simply needs fewer people with your skills and there's no way around the secular trend.
The sad irony is that when software was eating the world and new CompSci grads could take their pick of $150,000+ job offers before ever writing a line of production code, a lot of people in the industry had a smug "tough luck" attitude towards all the workers being displaced by the tech boom. Now it's their turn.
> The sad irony is that when software was eating the world and new CompSci grads could take their pick of $150,000+ job offers before ever writing a line of production code, a lot of people in the industry had a smug "tough luck" attitude towards all the workers being displaced by the tech boom. Now it's their turn.
You could've just written this sentence and dropped the rest. I understand your vindictive, "justice", self-hate line of thought, but not it's not a healthy way to live. Get help.
Maybe the tools are going to get to a point where this isn't true but today even with Claude Code at whatever at hand you're going to have to learn enough about software to basically be a developer in the traditional sense to deliver a multi-tenant application that has to deal with high TPS or whatever. At least at present you're positing there's no need for carpenters because the home gamer can knock together a table or birdhouse at home.
> ...to deliver a multi-tenant application that has to deal with high TPS or whatever.
There's a whole world of opportunity that lives below complex multi-tenant applications that have to deal with high TPS.
> At least at present you're positing there's no need for carpenters because the home gamer can knock together a table or birdhouse at home.
This is an extreme, straw man argument. And here's the thing: I don't know a home gamer who framed a house. But I do know tech-savvy people who have used AI to build web apps that they have launched and been able to get customers to pay for.
Not every tech-savvy person has the ability to do this but the whole "you can't do that if you're not a software developer" argument looks to me like a denial mechanism more than a reflection of reality. People are doing it because the AI tools have advanced to the point where they can.
Why is anyone paying for these apps if any idiot can do it with a few prompts?
> ...if any idiot can do it with a few prompts?
With all due respect, this sounds like just another version of the arrogant, scared attitude that seems to be more and more prevalent among software folks these days.
Is it really hard to imagine that there are tech-savvy people who are smart and motivated but don't have training as software developers, who are now capable of using AI to build and ship things?
In other words, AI doesn't allow any "any idiot" to build commercially useful software. What it does is allow smart people who aren't software developers and who don't want to become software developers professionally to, with a much shorter learning curve and on a much faster time scale, take their ideas and build and ship functional software.
It just feels like I’m trying to nail spaghetti to the wall talking to you because you can’t make up your mind what your argument is. Either it still requires learning and skill to do it —- in which case these are self-taught software developers, which is not a new phenomenon —- or it’s so easy now that the work is completely deskilled, in which case we shouldn’t expect anyone to be able to charge for their work for very long once everyone realizes.
It seems to me you're more interested in semantics than the substance of the discussion. Why not consider the possibility that AI is creating something new?
I would argue that the non-developers who are able to use AI to build, ship and sell software aren't "self-taught software developers". The biggest reason is that they're effectively not learning how to code in any meaningful way. They don't need to. AI is getting "so good" that they can prompt their way to functional software without the same level of knowledge and skill that was required previously to do the same.
We can discuss the limits and risks of this, and you can criticize AI's output, but the reality is that people are actually doing this and having some success. First hand, I've seen a former colleague who is a skilled digital marketer with no development experience launch a web app for a niche market and sell it to a number of customers.
I don't understand why you're so interested in extremes (your skilled versus deskilled hyperbole). Is it really so hard to contemplate that AI is disrupting the market for software development? It's not that it has eliminated the need for intelligence and skill; it's that it is allowing a larger number of people to do something that previously required a different set of skills that was much more difficult and time-consuming to acquire.
To use Silicon Valley speak, AI is democratizing software development. That doesn't mean every idiot can build and deploy a functioning web application; it does mean that a growing number of intelligent, motivated non-developers can.
I bought a book however many years ago with no previous development experience and delivered a Web app people paid for and eventually honed that as an actual career, so I’m just not really seeing what’s a difference in kind here. I also disagree with the “democratization” frame because now developers are spending like $1000 per month on tokens at their jobs, which does the opposite of making things more accessible.
Another angle to refute this take: my experience is software developers themselves arent good at building software products. Its been historically necessary but not sufficient to have to understand the underlying tech. Even if AI makes that no longer necessary, it doesn’t magically make people good at building useful and usable things.
Being in the weeds of the trade expands the lens of capabilities so I’d give the upper hand to someone more deeply aware of the tech vs not. even though that in itself is still not sufficient.
> I've posted this in numerous comments because I think it bears repeating: there are tech-savvy non-developers who are actually building and shipping stuff with AI. I personally know a few who have been successful in acquiring initial customers.
I mean, sure. But there have always been people teaching themselves to program too. In the end it's a pretty small population.
I personally don't see that much sense worrying about this scenario because if it comes true then it doesn't really matter what I do.
Are you confident in putting a timeline on this prediction?
One of the reasons I'm increasingly skeptical of this prediction is that I've now lived past a few of the dates I heard people put on the achievement of this level of superintelligence in previous years.
If building software (and even programming, as the basis for it) was just an expression of logical thinking, we would have cornered it long time ago IMO.
But then again, logic is really a lot more discrete and well defined and easily expressed with traditional computing than LLMs are (which are probabilistic systems instead and as such require large knowledge bases).
We can observe that at a couple hundred billion parameters they behave similarly to a point (in the sense that they can produce similar results), but the challenge is really in understanding the problem's multifaceted structure and competing needs and priorities.
Chess and proofs only work as comparisons to the extent that you can find parts of your job that share their key property: A solution is sought to a problem that can be stated with relatively little information.
What prompt would someone have used to get a superhuman coding agent to output the Linux kernel or GTA5?
Before you accuse me of moving the goalposts, that's not my point: The examples are there to help think about what humans would still need to do to build complex projects even if the coding itself was perfectly reliable.
Both the Linux kernel and GTA5 contain a large amount of incompressible information; humans thought long and hard about how to design them, i.e. about what that thing they were building was even supposed to be.
You don't understand, Claude 69 will be able to one-shot GTA6. You NEED to buy into the fearmongering and anxiety.
> In that world there's really nothing humans can offer in terms of logical thinking other than their humanity itself.
By your logic anyone who's not in the top 10% of intelligence can't offer anything. The world keeps spinning.
> An 8 year old with Stockfish can beat Magnus Carlsen, and an 8 year old with Codex (and daddy's credit card) will be able to beat me at software engineering.
That's just nonsense, nobody will work with 8 year old (it's illegal, to start with). Go touch grass.
> If you're worried about non-technical vibe coders taking your job
I'm not worried about non-technical vibe coders taking my job. I'm worried about psychotic VCs and CEOs putting me on the street in the name of "optimization" of "lower value human capital".
I had the same thought recently, I've had it happen to myself.
I've been working on something relatively large and greenfield recently.
A big chunk of my time is spent thinking about the hard parts. The raw information processing rate needed to keep up with the state of the project is high.
It feels almost like mental athleticism, whereas coding used to be a rather chill activity.
developers now are expected to randomly jump around projects and ship without friction. For employers it means they can move us around like pawns. Lot of companies have not reorged themselves to this new type of workforce thats much more malleable.
it used to be that i pay your due at some enterpise and learn some corner of codebase really well and become go to person. that would give you job security.
Working in silos like this has always been an anti pattern though. You end up being employed for 10 years but only have 1 year of actual development experience. Just turning-the-crank and going home was always risky because one day you get laid off and realize you’re 10 years behind the competition.
What I found comfort it in was turning the crank and then using extra time to upskill in various other things (including non software dev domains). Things that weren’t immediately useful to my employer and I never would have been directly assigned, but did pay off after sometime.
Now I’m basically expected to do what my boss wants me to do every minute of the day, it’s gotten much more micromanaged.
As opposed to what? You seriously think that shipping 10 years, instead of turning-the-crank and going home, will save you from the interviewing gauntlet?
I cynically predict that some of the new practices being hyped could easily end up worse...
Before: "I learned very little this year, because I was placed in charge of the same stuff, and I've already learned most of what I could from tinkering with that code, stepping through its architecture, and dealing with those recurring problems."
Soon: "I learned very little this year, because I don't deeply interact with anything, I just pull the lever on the babbling slot-machine until I get lucky and things seems to quiet down."
So what enables job security now?
Your dad owning the company?
Let them attempt to use ai to build business critical systems and when they waste tens amd hundreds of millions they can rehire master builders who know what they're doing
They will attempt and then soon enough they will be succeeding, and the master builders will have all retired, and that's the point that humans become dependent upon AI's. I aim to live a couple more decades and I sadly expect to see it play out this way.
If you can move humans around like pawns, then by definition, they have no job security.
Being a really good engineer - the kind of engineer you can assign a feature to and they promptly turn around a robust, maintainable, secure and well documented implementation.
hey... claudex helps me being that.
So does your IDE, your choice of programming language, your OS even — but does it define you/make you a good software engineer?
No, but who said that ?
I'll be explicit: Claude is just another tool in your SW engineer's belt.
If you believe Claude makes you a good engineer and you previously weren't, I am saying that's not true and you still are not a good engineer even with the latest-and-greatest Claude model.
The difference is between "helps" (in your comment) or "you are". Sure, it helps a good engineer do more, do better, etc — but the thread was on being a good engineer.
I was a "good" (whatever that means !) SW engineer long before Claudex. At least good enough that both users and bosses had nothing but praises. And I always took my job and the needs of the users seriously.
It's "just another tool", sure. But one that is so powerful that some things that used to take a day now take minutes, or ones that used to take a week now take a day. And I get even more praises now, along with more time to focus on understanding the needs and controlling quality. For me it's not really about stuffing as much features as possible, but providing better software.
I'm glad this happened after 25 years in my career. I believe I'm in a privileged position where I can benefit from LLMs and still have the knowledge to effectively correct the machine or go back to "manual mode" if anything goes wrong.
Sounds like we are in agreement: LLMs are a great help to an already good engineer.
But also to the original Simon's point that using LLM does not a good engineer make — how we make one is still on us with 10+ years (I've got "only" 20) of experience to figure out now that LLMs are here!
Implicit definition of a good engineer is the one who chooses the right balance between effort, complexity, performance to build a working software system for a business need that can be evolved according to (unforeseen!) future business needs at reasonable cost.
> developers now are expected to randomly jump around projects and ship without friction
This describes the expectation my managers had of me at every software job I've had, and I've been doing this for a decade and a half
It's definitely not a new thing since LLMs came around, if that is what you were implying
> It's definitely not a new thing since LLMs came around, if that is what you were implying
It is on a scale that it is required now. Previously you could say "it'll take me a week to decipher the mess", now they can just say "can't you use an agent to make it fast?".
> it used to be that i pay your due at some enterpise and learn some corner of codebase really well and become go to person. that would give you job security.I
I had the displeasure of working with those types. One of them replies to any question or challenge to a technical problem emerging from the PRs they posted with variants of "I've worked here for over a decade, this is how we do things". And then proceeds to argue things like defensive programming is a code smell because it means developers don't trust themselves.
I cannot envision any healthy, effective engineering environment where developers don't periodically switch between projects.
You will never beat the vibe coders.
The vibe coders have a key advantage you don’t: they don’t give a fuck.
They blow through a task and move onto the next one. Management sees this as progress, and the vibe coders are rewarded.
When shit breaks later on down the line, and fires have to be put out and things rewritten, the vibe coders do NOT get the blame. They do NOT get punished. Most engineering teams operate on a blameless culture. If code was approved for production, then it should have been good enough. Vibe coders will keep on doing what they do, and skilled experts will be left cleaning up their messes.
For anyone who actually cares, it’s over. You are not steering development anymore.
This will invariably be a problem in organizations where tokens, lines of code, PR count etc are the metrics - which happens to be in most places. I do not know if there are metrics or rewards for maintainable code, OR penalty for write code that breaks down and causes product incidents down the line. By then those engineers would have been promoted and moved on to better things.
> You are not steering development anymore.
This hasn't been the case for at least a decade. Long before LLMs.
That might be true in the short-term, but I'd be very surprised to see that hold for the long-term.
We've had plenty of technology trends in the past that have promised faster development but has later turned out to have problems. Organizations that stick around learn lessons about what works and what doesn't.
If in a year's time organizations aren't feeling severe downsides from all of the unreviewed vibe-coded junk they put into production then maybe the vibe-coders were right. I'll believe that when I see it.
If the vibe coders are right I would give at least 90% of the credit to all the well made libraries, rules, and best practices that developers have built up over the decades. That’s what is embedded into LLMs and what might be the saving grace of slop code bases in the future.
> (...) rules, and best practices that developers have built up over the decades.
It seems you are not understanding that the reason all these "rules, best practices" had to be created in the first place was the fact that your average old times developer was churning out shit code and weaving spaghetti just as hard as today's vibecoders.
Those "rules, best practices" spawned from the same evolutionary pressure as today's instruction files, skills, custom agents, etc.
Why do you think one of the first AI features rolled out by GitHub was the automatic code reviewer?
You guys are talking as if everyone working on software before 2020 was this immaculate developer with pristine sense of architecture and style. No, they were not.
All that stuff you mentioned is derived from a core set of principles established by decades of software best practices applied to a new means of generating code. Like quite literally those instruction files/skills essentially just reiterate the practices themselves.
To your last paragraph, I never say that nor do I imply it. I find that as a pretty disingenuous interpretation of what I said actually. The practices I mentioned were derived from hard learned lessons and designed as a means of mitigating the human tendency to write bad code.
They were not, but they were outputting code at a pace that was reasonable to review. Now they go straight to prod, 10x faster.
[dead]
The problem is downsides are random and not well understood. Sometimes by luck, an organization might not encounter any significant downsides. These kind of survivor case studies will perpetuate the myth that vibe coding is good enough.
The vibe coders aren’t “right”, they just get lucky.
Who approved the vibe coders’ PRs?
Other vibe coders?
Another vibe coder and Claude?
It’s all just vibe coders high fiving each other and saying LGTM.
Here’s a secret: I haven’t really bothered reviewing any PRs since September of last year or so. I just click approve and don’t even read it. It has been way less stressful for me.
Do bugs get through? Sure. But someone will just come in and vibe it out anyway. And I have yet to see a vibe coder or anyone who approved their flawed work get any repercussions. So yea, it doesn’t matter.
No one’s going to come after you asking “why did you approve this shitty PR?” And if they do you can forward it to the author and ask why they wrote a shitty PR. But that just doesn’t happen. It doesn’t matter.
> The vibe coders have a key advantage you don’t: they don’t give a fuck. They blow through a task and move onto the next one. Management sees this as progress, and the vibe coders are rewarded.
This is a complete unrealistic assessment. Who do you think vibecoders are? They are yesterday's software developers using today's tools.
The people who manually write their PRs are also not giving a fuck when they break production code with spaghetti code that later has to be thrown out and rewritten. They are the same people.
The key difference is that now their output volume is much greater, and they iterate much faster. They roll out plenty of bullshit, but it also hits the fan much faster and triggers fixes at a higher rate.
People hate on vibecoders because they do exactly what your average developer does but at a much higher rate.
[flagged]
Not really. The primary stopper was never time or effort. It was need (and wisdom). If a project was important enough, you’d do it. If it’s not, it falls on the wayside.
Now with LLM tools, what you got is a slew of projects their creators aren’t even interested in. It’s theater.
There's just no way this can be true. Every project I've committed to has been a bet made with incomplete information. Sometimes it pans out, sometimes it doesn't. Every time I've made one of those bets, I've had to shoulder the opportunity cost of 2-3 other 1/8th-finished but promising projects I could have driven to completion instead. Not having that opportunity cost anymore wildly changes the dynamics of what I build.
This weekend I'm playing with a SwiftUI MusicKit player (everything I'm doing lately has been Swift/SwiftUI, itself a radical change from just a couple months ago when everything was a TUI, and then a few months back from that and all the way back to 1993, when everything was a CLI) with a Responses API hookup that turns the player into an agent, with tool calls to let the model see what I've been playing. "Keep a continuous queue of music playing while I'm working in the wood shop".
Worked a treat. I'm genuinely interested in where I can take this. I have a real problem, one that's been annoying me since ~2000, which is that I "own" a lot of music but find myself stuck in an epicycle of the same 200 songs. Problem solved-ish. I never, ever, in a million years, would have built anything like this before.
It's really hard to sell me on the idea that nothing profound has changed here in terms of the projects we now pick up. Go build an operating system. I'm serious! Claude will practically one-shot it. Mine has smoltcp hooked up to a Rust virtio-net driver Claude pulled out of its butt.
> This weekend I'm playing with a SwiftUI MusicKit player[…]"Keep a continuous queue of music playing while I'm working in the wood shop"
> I have a real problem, one that's been annoying me since ~2000, which is that I "own" a lot of music but find myself stuck in an epicycle of the same 200 songs.
What’s the algorithm there? How is it different from queueing up your whole library and shuffling it?
> Go build an operating system. I'm serious! Claude will practically one-shot it.
Why would I want this? If I wanted to learn how an operating systems is built, there’s xv6 and the OSTEP book (and I’ve already gone through both) And I’ve been going through OpenBSD code, for a few questions that I had (usb audio and related code, usb mass storage and related code,…). Why would I ever wanted a generated project when there’s plenty out there to learn from.
That’s the trick - always stay hard!