21 comments

[ 2.6 ms ] story [ 44.4 ms ] thread
It's decent at explaining my code back to me, so I can make sure my intent is visible within code/comments/tracing messages. Not too bad at writing test cases either. I still write my code.
It doesn’t need to do all of a job to reduce total jobs in an area. Remove the programming part then you can reduce the number of people for the same output and/or bring people who can’t program but can do the other parts into the fold.

> If OpenAI believed GPT could replace software engineers, why wouldn’t they build their own VS Code fork for a fraction of that cost?

Because believing you can replace some or even most engineers leaves space for hiring the best. It increases the value of the best, and this is all assuming right now - they could believe they have tools coming in two years to replace many more engineers yet still hire them now.

> You sit in a meeting where someone describes a vague problem, and you’re the one who figures out what they actually need. You look at a codebase and decide which parts to change and which to leave alone. You push back on a feature request because you know it’ll create technical debt that’ll haunt the team for years. You review a colleague’s PR and catch a subtle bug that would’ve broken production. You make a call on whether to ship now or wait for more testing.

These are all things that LLMs are doing to various degrees of success though. They’re reviewing code, they can (I know because I had this with for 5.1) push back on certain approaches, they absolutely can decide what parts of code adds to change.

And as for turning vague problems into more clear features? Is that not something they’re unbelievably suited for?

To be fair, AI cannot write the code!

It can write some types of code. It is fascinating that it can bootstrap moderately complex projects form a single shot. It does a better job at writing unit test (not perfect) then the fellow human programmer (few people like writing unit tests). It can even find bugs and point + correct broken code. But apart from that, AI cannot, or at least not yet, write the code - the full code.

If it could write the code, I do not see why not deploy it more effectively to write new types of operating systems, experiment with new programming languages and programming paradigms. The $3B is better spent on coming up with truly novel technology that these companies could monopolise with their models. Well, the can't, not yet.

My gut feeling tells me that this might be actually possible at some point but at enormous cost that will make it impractical for most intents and purposes. But even if it possible tomorrow, you would still need people that understand the systems because without them we are simply doomed.

In fact, I would go as much as saying that the demand for programmers will not plummet but skyrocket requiring twice as many programmer we have today. The world simply wont have enough programmers to supply. The reason I think this might actually happen is because the code produced by AI will be so vast overtime that even if humans need to handle/understand 1% that will require more than the 50M developers we have today.

I used AI to build an app just for myself that parses data (using pandas, python etc, not LLM but an LLM coded it) for a report that i need to produce

it's purely for myself, no one else.

I think this is what AI can do at the moment, in terms of mass market SaaS vibe codes, it will be harder. Happy to be proven wrong.

Likely won't for a while. The race to get all of the memory is likely a squeeze attempt against startups and not consumers. Side effect consumers.

We need regulations to prevent such large scale abuse of economic goods especially if the final output is mediocre.

Software engineering will get automated, all of the issues with the current models will get worked out in time. People can beg and wish that its not true, but it is. We have a few more good years left and then this career is over
(comment deleted)
There are many different ways to write code. The more code there is, the more possible versions of the system could have existed to solve that same set of problems; each with different tradeoffs.

The challenge is writing code in such a way that you end up with a system which solves all the problems it needs to solve in an efficient and intuitive way.

The difference between software engineering and programming is that software engineering is more like a discovery process; you are considering a lot of different requirements and constraints and trying to discover an optimal solution for now and for the foreseeable future... Programming is just churning out code without much regard for how everything fits together. There is little to no planning involved.

I remember at university, one of my math lecturers once said "Software engineering? They're not software engineers, they're programmers."

This is so wrong. IMO, software engineering is the essence of engineering. The complexity is insane and the rules of how to approach problems need to be adapted to different situations. A solution which might be optimal in one situation may be completely inappropriate for a slightly different situation due to a large number of reasons.

When I worked on electronics engineering team projects at university, everyone was saying that writing the microcontroller software was the hardest part. It's the part most teams struggled with, more so than PCB design... Yet software engineers are looked down upon as members of an inferior discipline... Often coerced into accepting the lesser title of 'developer'.

I'm certain there will be AIs which can design optimal PCBs, optimal buildings, optimal mechanical parts, long before we have AI which can design optimal software systems.

Reasons why the attempted cursor acquisition might not be about replicating cursor (with or without human help): shutting down competition; market share; understanding user behavior; training data
When we talk about code, you think it's about code, but it's communication _about solving problems_ which happens to use code as a language.

If you don't understand that language, code becomes a mystery, and you don't understand what the problem is we're trying to solve.

It becomes this entity, "the code". A fantasy.

Truth is: we know. We knew it way before you. Now, can you please stop stating the obvious? There are a lot of problems to solve and not enough time to waste.

I used AI to write some python code and some bazel rules to generate some python code around that to do some new workflow system I wanted to prototype. It just did it, it would make mistakes but since I had it running tests it would fix the code after running the tests.

The big issue is that I didn’t know the APIs very well, and I’m not much of a Python programmer. I could have done this by hand in around 5 days with a ramp up to get started, but it took less than a day just to tell the AI what I wanted and then to iterate with more features.

The reason why there are meetings is due to existing org layers.

Thus, the root cause of the meetings' existence is BS mostly. That's why you have BS meetings.

The fastest way to drive AI adoption is thus by thinning out org layers.

It never was about code. What was the last time you said to yourself "I feel like grabbing some code right now!"? Last time you struggled to accomplish something and then screamed "if only I had some code!!!!". This sounds very, very stupid, doesn't it? English is not my native language, but I find this wording very annoying. People/business suffer for having needs unattended or requirements unsatisfied. Latency too high? Have some code! Database locked with long running query? Here, take some code! You want to price exotic financial assets to calculate your risks? Have you tried to generate some code?? This is so strange. I honestly do not think in terms of "code". If your kid asked you about your job, would you say "I use the computer"?
> It’s like saying calculators replaced accountants. Calculators automated arithmetic, but arithmetic was never the job. The job was understanding financials, advising clients, making judgment calls, etc. The calculator just made accountants faster at the mechanical part.

Mechanical and later electical calculators replaced human calculators. Accountants switched from having to delegate computation to owning a calculator.

I'm thinking a lot about this currently as a recent convert (as of Opus 4.5). I think this post is on the right track, but like much of this discourse, it isn't really addressing how the technology will grow and the disciplines will adapt.

I'm by no means a doomer, but its obviously a huge change.

Generative coding models will never be 100% perfect. The speed of their convergence to acceptable solutions will decline in complex and novel systems, and at some point there will be diminishing returns to increasing investment in improving their performance.

The cost of software will fall precipitously and it seems unlikely that the increase in the value of programmers / engineers as they currently practice will offset the decline in the price in software. However, following the law of supply and demand, the supply and the amount of software produced will surely grow, and I think someone has to use the models to build software. I expect being trained in software engineering will be very helpful for making effective use of these tools, but such training may not sufficient for a person to succeed in the new labor market.

The scope of problem that a valuable engineer is expected to manage will grow enormously, requiring not only new skills in using generative coding/language models, but also in reasoning about the systems they help create. I anticipate growth in crossover PM / engineering roles. I guess that people who generalize across the stack and current sub-disciplines will thrive and valuable specialties and side-disciplines will include software architecture, electrical engineering, robotics, communication, and business management.

Some people will thrive in this new field, but it may be a difficult transition for many. I suspect that confusion about model capabilities and how to make the most of them and which people are doing valuable things will put a lot of friction and inefficiency into the transition time-frame.

Last thought, given how great models are at coding compared to general of knowledge, administrative, and bureaucratic work, I expect models are widely used to build systems that are supply shocks on such work. I don't think my argument above applies to such workers. I'm worried most about them.

I disagree with much of this. Programming isn't just a tool we use in pursuit of being an “Engineer” or whatever aggrandizing title is applied. I cant help but smile at the pretension of it.

Currently AI models are inconsistent and unpredictable programmers, but less so when applied to non-novel small and focused programming tasks. Maybe that will change resulting in it being able to do your job. Are you just writing lines of code, organized into functions and modules using a “hack it till it works” methodology? If so, I suggest be open to change.

Yet? Always be prudent and include this little word.
AI accellerates my learning. It helps me understand, do more experiments and lured me into reading more code. I think AI also helps me be more productive, but I‘m less focussed and sooner exhausted. I also fear its addictive potential which is why I force myself to take breaks more often and try to not use it every day.

AI fundamentally changed the programming experience for me in a positive way, but I‘m glad that it’s not my full time job. I think it can also have bad effects which can not be easily avoided in fulltime roles under market conditions.

I spent about 9 years in web/frontend development and when all the AI coding things started coming out, I was admittedly concerned and defensive. I thought the output was gross, it couldn't help me with what I was working on, etc. I recently switched over to the backend, so now I'm dealing with an entirely different set of technologies, architecture, and problems to solve. I've found that, so far, about 80% of my time is spent planning, discussing requirements, determining how to integrate new features into the system or how fixing a bug may affect something else, etc. I use AI for the coding part because the code is sort of an afterthought. I've fully leaned into it and the experience has been fantastic. I ask Claude Code questions and bounce ideas off it. I ask it to write some code for me and I review it and make minor adjustments. The TLDR is I'm not really worried about it taking my job anymore, but I recognize that _not_ using it is going to become very obvious in the near future (it already is). This article pretty much nailed it. Engineering isn't just about pumping out lines of code, the code is just the output of your skills which provide the most value. Once I started looking at things that way, my stress level dropped considerably.
Ok but isn't it a matter of time until AI is good enough at the rest also?

Meanwhile it's depressing that AI is doing the fun part of the job (for me of course, some people quite like the other aspects of the job; and I do like some of them as well, but writing code is still the most fun I have)