I think this is going to make the difference between junior and senior engineers even more drastic than it is today. It's really hard to know what/how to even describe real problems to these tools, and the people who invest the most in their tooling now, are going to be most successful. It's hard for someone who hasn't designed a large codebase already to do this in an ai native way where they don't have the experience of abstracting at the right level and things like that.
Today's equivalent, I've often found some of the best engineers I know have insane setups with nvim or emacs. They invest in their tool chain, and are now bringing AI into.
The hard part is the engineering. Understanding and breaking down the problem, and then actually solving it. If all we gain out of these tools is that we don’t have to write code by hand anymore they are moderately useful but they won’t really be a step change in software development speed.
I find this likely, but totally irrelevant to their success now and in the future. AI tools are as much of a trivial choice as any other text editor features. The resulting time spent and code quality are the same regardless of personal preferences.
I would argue that if you can't describe the problem in plain language then you don't have a very good chance of solving it with code or otherwise.
Personally I find that the act of describing the problem will often reveal a good solution...then it's just a matter of seeing if the LLM agrees with me or if it has a difference idea (for better or worse).
One weakness of coding agents is that sometimes all it sees are the codes, and not the outputs. That's why I've been working on agent instructions/tools/MCP servers that empower it with all the same access that I have. For example, this is a custom chat mode for GitHub Copilot in VS Code: https://raw.githubusercontent.com/Azure-Samples/azure-search...
I give it access to run code, run tests and see the output, run the local server and see the output, and use the Playwright MCP tools on that local server. That gives the agent almost every ability that I have - the only tool that it lacks is the breakpoint debugger, as that is not yet exposed to Copilot. I'm hoping it will be in the future, as it would be very interesting to see how an agent would step through and inspect variables.
I've had a lot more success when I actively customize the agent's environment, and then I can collaborate more easily with it.
gpt-5 was created to be able to service 200m daily active users.
It's horribly outdated way of thinking that an singular AI entity would be able to handle all stacks all problems directed at it because no developer is using it that way.
AI is a great tool for both coders and artists and these outlandish titles that grab attention really seem to be echo chambers aimed at people who are convinced that AI isn't going to replace them which is true but the opposite is also true.
I imagine there's a big difference in using AI for building, say, an online forum vs. building a flight control system, both in terms of what the AI theoretically can do, and in terms of what we maybe should or should not be letting the AI do.
And until the day that humans are no longer driving the bus that will remain the case.
Amazing how someone writing for an IEEE website can't keep their eyes on the fundamentals.
We'll reap the productivity benefits from this new tool, create more work for ourselves, output will stabilize at a new level and salaries will stagnate again, as it always happens.
Everyday, I see ads on YouTube with smooth-talking, real-looking AI-generated actors. Each one represents one less person that would have been paid.
There is no exact measure of correctness in design; one bad bit does not stop the show. The clients don't even want real art. Artists sometimes refer to commercial work as "selling out", referring to hanging their artistic integrity on the hook to make a living. Now "selling out" competes with AI which has no artistic integrity to hang on the hook, works 24 hours a day for peanuts and is astonishingly prolific.
You cannot use just a spell checker to write a book (no matter how bad) or photoshop (non-AI) plugins to automatically create meaningful artwork, replacing human intervention.
Business people "up the ladder" are already threatening with reducing the workforce and firing people because they can (allegedly) be replaced by AI. No writer was ever threatened by a spellchecker.
Hollywood studio execs are putting pressure on writers, and now they can leverage AI as yet another tool against them.
Heck, people literally used to think eyes are the source of light since everything is dark when you close them.
People are immensely, incredibly, unimaginably stupid. It has taken a lot of miracles put together to get us where we are now…but the fundamentals of what we are haven’t changed.
I really like the word "assistant" for what we have today. The AI code assistant tools available today, like Claude Code and GitHub Copilot, can't replace humans in doing software development. Not even close. But they are often useful to human developers, and today, that's the more important measure.
I've been spending time with various AI tools, especially Claude Code and GitHub Copilot. They're amazing one minute, and they make bone-headedly bad recommendations the next. It takes effort to learn how to create good prompts, and if you want the results to be good, you have to review and critique the results. I'm particularly concerned about security. They're definitely happy to write insecure code. If you know what you're doing, prompt them well, and review their results, you can get good results.
I don't know if they'll ever reach "full autonomy". They don't need to get there to be useful.
I've just tried to get ChatGPT to help me generate a plumbing part that I will 3D print. Bit bizarre but the part in question (which is currently cracked) holds the other part in place and that provides the water seal with two O rings.
I got so far with OpenSCAD. I started off with describing a part that Chat came back with as a "cup". Fair enough and so far so magical. Then I asked it to put a helical screw thread on the inside of the part. It suggested a popular library for this (BOSL2) and then got things a bit wrong.
This is how it goes: Chat int al will get you close but as things get more specialized it will start to go off piste and tumble.
I own a couple of slide rules. If I read them incorrectly then I will get a calculation wrong. Chat n that are just very fancy slide rules and I still find them fabulous.
How is this any different than the way I program?
I've contributed genuinely useful features to FLOSS projects "as well as irrelevant suggestions or code fixes with subtle problems", mostly the latter as there was always a few stages of improvement and/or finishing by the core devs of the program I used to haunt. Honestly, I was less than half as useful as the current crop of robots and they still tolerated (in fact, encouraged) my involvement.
I personally haven't written any significant code by hand since claude code landed. I also have a high tolerance for prompting and re-prompting. Some of my colleagues would get upset if it wasn't mostly one shotting issues and had a really low tolerance for it going off the rails.
Since gpt-5-high came out, I rarely have to re-prompt. Strong CI pipeline and well defined AGENTS.md goes an incredibly long way.
AI code tab-complete is fantastic. It's at least an order of magnitude more powerful than IDE-assisted auto refactors.
AI graphics design tools are probably the single best thing in the field. Editing photos, creating new graphics, making marketing materials, shooting and editing videos is now extremely easy. It's a 100x speed up and a 1000x cost reduction. You still have to re-roll the generations repeatedly, but with a competent editing tool you can speed run any design work. This is one area where non-experts can also use the tools.
These tools seem great because they are less sensitive than humans to the mess and lift us over the tedious work. But at the same time, they're giving us an excuse to not fix what needed to be fixed and, in doing so, they're adding more crap to the heap.
Maybe what we need is forcing the tools to build on a simpler base, so we can keep an understanding of the results.
https://www.comp.nus.edu.sg/cs/people/abhik/
Of course, he also had a startup for an agentic "AI" approach for software.
I bet he hasn't written any real software like many academics. We should not listen to these people who chair conferences and let them dictate the future of real hackers.
AI is definitely not ready for an Engineering role. My recent experience with ChatGPT5(Preview) via Visual Studio Code tells me that it might perform acceptably as a junior programmer. However, because I'm an old retired self taught programmer who only ever managed 1 other programmer, I lack the experience to know what's acceptable as a Junior Programmer at FAANG and elsewhere.
That is, you have some context, ie the prompt and any other text, and the LLM produces a plausible continuation or alteration of that prompt and text.
My intuition leads me to a thought like: To progress, the context must compress into a fractal representation.
I feel very confident that someone smarter and MUCH better paid than me is already working on this.
A big part of my career has been the modification of enterprise software to fit a company's needs. Rarely was any one addition more than a few hundred lines of code. I can see a future where there will be simple options for a non-coder to add to an app.
True, it's not a coder, but that doesn't mean it won't fundamentally change how apps are made and it will reduce the number of master programmers needed. It won't replace all programmers, but it will greatly reduce the number that are needed, which country they work in and the language they use to program apps.
Programming has mainly been a career that requires the individual to understand English. That is changing. I can see a future where code can be created in multiple human languages. Programming was well-paid because relatively few people had the expertise to do it. That won't be the case, and the pay will adjust downward as needed. AI might not be a coder, but it will let many more people become coders. In the future, coding will be in the same pay range as clerical work. Companies will be hiring Programming Clerks rather than Programming Engineers.
If it's taking you that long to direct the AI, then either you're throwing too small a problem at it, or too big a problem at it, or you're not directing its attention properly.
In a way, your prompts should feel like writing user documentation:
Refactor all of the decode functions in decoder.rs to return the number of bytes decoded
in addition to the decoded values they already return. While refactoring, follow these principles:
* Use established best practices and choose the most idiomatic approaches.
* Avoid using clone or unwrap.
* Update the unit tests to account for the extra return values, and make sure the tests check the additional return values.
When you're finished, run clippy and fix any issues it finds. Then run rustfmt on the crate.What feels primitive to me is how we approach programming in industry as a process of trial and error rather than one of rigour.
These are tools that automate copy-pasting from Stack Overflow and GitHub, running tools, and generating a ton of noise to sift through. They hallucinate code, documentation, and various other artifacts that are sometimes useful and are occasionally complete BS.
Some people find that they can make useful tools out of these things. Great.
A real programmer is still a human.
Update: nothing wrong with trial and error as a process. I use it a lot. But there are lots of places where we use this method that seem inappropriate and sometimes even dangerous. Yet it’s the most common tool we have and everything starts to look like a nail.
uhhh, not sure even the best people or teams are very good at this either. Condemning AI for not being capable of something we're not capable of, ok...
“If it takes longer to explain to the system all the things you want to do and all the details of what you want to do, then all you have is just programming by another name.”
This is called the specification process, which hopefully is already occurring today.
There's so much self-serving bias in articles like this, as well as the comments on HN, Reddit, etc. It's good to critique AI, but that self-serving line is frequently crossed by many people.