I worry about junior developers. It will be a while before vocational programming courses retool to teach this new way of writing code, and these are going to be testing times for so many of them. If you ask me why this will take time, my argument is that effectively wielding an LLM for coding requires broad knowledge. For example, if you're writing web apps, you need to be able to spot say security issues. And various other best practices, depending on what you're making.
It's a difficult problem to solve, requiring new sets of books, courses etc.
This isn't to say you are wrong but just to put some perspective on how things are changing. Maybe most new programmers will be hired into AI roles or data science.
I appreciate anyone that can utilise ai well but there’s just not enough core ai model development jobs for every new grad.
What are those “day to day business needs” that you think people are going to do without AI?
In my view, this is like 1981. If you are saying, we will still need non-computer people for day-to-day business needs, you are wrong. Even the guy in the warehouse and the receptionist at the front are using computers. So is the CEO. That does not mean that everybody can build one, but just think of the number of jobs in a modern company that require decent Excel skills. It is not just the one in finance. We probably don’t know what the “Excel” of AI is just yet but we are all going to need to be great at it, regardless of who is building the next generation of tools.
I would assume any other CS course teaches/is going to be teaching how to use AI to be an effective software developer.
I didn’t get a smart phone until the 2010s. Stupid I know but it was seen as a badge of honour in some circles ‘bah I don’t even use a smart phone’ we’d say as the young crowd went about their lives never getting lost without a map and generally having an easier time of it since they didn’t have that mental block.
Ai is going to be similar no doubt. I’m already seeing ‘bah I don’t use ai coding assistants’ type of posts, wearing it as a badge of honour. ‘Ok you’re making things harder for yourself’ should be the reply but we’ll no doubt have people wearing it as a badge of honour for some time yet.
The mantra has always been that the best way to learn to code is to read other people’s code. Now you can have “other people” write you code for whatever you want. You can study it and see how it works. You can explore different ways of accomplishing the same tasks. You can look at the similar implementations in different languages. And you may be able to see the reasoning and research for it all. You are never going to get that kind of access to senior devs. Most people would never work up the courage to ask. Plus, you are going to become wicked good at using the AI and automation including being deeply in touch with its strengths and weaknesses. Honestly, I am not sure how older, already working devs are going to keep up with those that enter the field 3 years from now.
Now, the first response some folks may have is, how can you trust that the AI is good at security? Well, in this example, it only needs to be better than the junior developers at security to provide them with benefits/learning opportunities. We need to remember that the junior developers of today can also just as easily write insecure code.
Instead of this, have you considered asking Deep Seek to explain it to you?
For mankind, the really big problems aren't going away any time soon.
But -- and it's a big but -- many of us aren't working on those problems. I'm ready to agree most of what I've done for decades in my engineering job(s) is largely inconsequential. I don't delude myself into thinking I'm changing the world. I know I'm not!
What I'm doing is working on something interesting (not always) while earning a nice paycheck and supporting my family and my hobbies. If this goes away, I'll struggle. Should the world care? Likely not. But I care. And I'm unlikely to start working on solving societal problems as a job, it's too much of a burden to bear.
And here is the problem: AI needs to be trained on something. Use of AI reduces the use of online forums, some of them are actively blocking access, like reddit. So, for AI to stay relevant it has to generate the knowledge by itself. Like having full control of a computer, taking queries from human supervisor, and really trying to solve. Having this sort of AI actors in online forum will benefit everyone.
Everybody is a Manager now?
The ones who are self-starters will do fine - they'll figure out how to accelerate their way up the learning curve using these new tools.
People who prefer classroom-learning / guided education are going to be at a disadvantage for a few years while the education space retools for this new world.
I’d love to watch, e.g. you Simon, using these tools. I assume there are so many little tricks you figured out over time that together make a big difference. Things that come to mind:
- how to quickly validate the output?
- what tooling to use for iterating back and forth with the LLM? (just a chat?)
- how to steer the LLM towards a certain kind of solutions?
- what is the right context to provide to the LLM? How do it technically?
Really, what seems on the horizon is a cliff of techno risks that have nothing to do with "AI will take over the world" and more "AI will be so integral to functional humanity that actual risks become so diffuse that no one can stop it."
So it's more a conceptual belief: Will AI actually make driving cares safer or will the fatalities of AI just be so randomly stochastic that it's more acceptable.
I would argue that we already accept relatively random car fatalities at a huge scale and simply engage in post-hoc rationalization of the why and how of individual accidents that affect us personally. If we can drastically reduce the rate of accidents, the remaining accidents will be post-hoc rationalized the same way we always have rationalized accidents.
Currently, car crashes are blamed on the individuals involved.
I reckon we'll see a lot of new religious thinking about this stuff
This is about the functional society where people fundamentally have recourse to "blame" via legal means one another for things.
Having fallbacks, eg, pilots in the cockpit is not a long term strategy for AI pilots flying planes because they functionally will never be sufficiently trained for actual scenarios.
I don't agree. LLMs work as template engines on steroids. The role of a developer now includes more code reviewing than code typing. You need the exact same core curriculum to be able to parse code, regardless if you're the one writing it, it's a PR, or it's outputted by a chatbot.
> For example, if you're writing web apps, you need to be able to spot say security issues. And various other best practices, depending on what you're making.
You're either overthinking it or overselling it. LLMs generate code, but that's just the starting point. The bulk of developer's work is modifying your code to either fix an issue or implement a feature. You need a developer to guide the approach.
It isn't. Anyone who does software development for a living can explain to you what exactly is the day-to-day work of a software developer. It ain't writing code, and you spend far more time reading code than writing it. This is a known fact for decades.
> If the IDE checks types and feeds errors back to the LLM,(...)
Irrelevant. Anyone who does software development for a living can tell you that code review is way more than spotting bugs. In fact, some companies even have triggers to only trigger PR reviews if all automated tests pass.
Extremely well paid human coders, capable of fixing the mistakes of the years preceding them...
I'm by no means an expert, but I feel like you still need someone who understands underlying principles and best practices to create something of value.
Thinking it out even further, programming languages will likely go away altogether as ultimately they're just human interfaces to machine language.
As we know them, certainly.
I haven't seen discussions about this (links welcome!), but I find it fascinating.
What would a PL look like, if it was not designed to be written by humans, but instead be some kind of intermediate format generated by an AI for humans to review?
It would need to be a kind of formal specification. There would be multiple levels of abstraction -- stakeholders and product management would have a high level lens, then you'd need technologists to verify the correctness of details. Parts could still be abstracted away like we do with libraries today.
It would be way too verbose as a development language, but clear and accessible enough that all of our arcane syntax knowledge would be obsolete.
This intermediate spec would be a living document, interactive and sensitive to modifications and aware of how they'd impact other parts of the spec.
When the modifications are settled, the spec would be reingested and the AI would produce "code", or more likely be compiled directly to executable blobs.
...
In the end, I still think this ends up with really smart "developers" who don't need to know a lick of code to produce a full product. PLs will be seen as the cute anachronisms of an immature industry. Future generations will laugh at the idea that anybody ever cared about tabs-v-spaces (fair enough!).
Take for example neuralink. If you consider that interface 10 years, or further 1000 years out in the future, it's likely we will have a direct, thought-based human computer interface. Which is interesting when thinking of this for sending information to the computer, but even more so (if equally alarming) for information flowing from computer to human. Whereas today, we read text on web pages, or listen to audio books, in that future, we may instead receive felt experiences / knowledge / wisdom.
Have you had a chance to read 'Metaman: The Merging of Humans and Machines into a Global Superorganism' from 1993?
This is a problem that the Computer Science departments of the world have been solving. I think that the "good" departments already go for the "broad knowledge" of theory, systems with a balance between the trendy and timeless.
Why?
Are they not already?
> It's a difficult problem to solve, requiring new sets of books, courses etc.
I think new tooling built around LLMs that fits into our current software development lifecycle is going to make a big difference. I am experiencing firsthand how much more productive I am with LLM, and I think that in the future, we will start using "Can you review my conversation?" in the same way we use "Can you review my code?"
Where I believe LLMs are a real game changer is they make it a lot easier for us to consume information. For example, I am currently working on adding a Drag and Drop feature for my chat input box. If a junior developer is tasked with this, the senior developer can easily have the LLM generate a summary of their conversation like so:
https://beta.gitsense.com/?chat=d36e0282-4326-46cf-83b1-4207...
At this point, the senior developer can see if anything is missed; if desired, they can fork the conversation to ask the LLM questions like "Was this asked?" or "Was this mentioned?"
And once everybody is happy, you can have the LLM generate a PR title and message like so:
https://beta.gitsense.com/?chat=8aa19528-5891-4dda-9a88-247a...
All of this took me about 10 minutes, which would have taken me an hour or maybe more without LLMs.
And from here, you are now ready to think about coding with or without LLM.
I think with proper tooling, we might be able to accelerate the learning process for junior developers as we now have an intermediate layer that can better articulate the senior developers' thoughts. If the junior developer is too embarrassed to ask for clarification on why the senior developer said what they did, they can easily ask the LLM to explain.
The issue right now is that we are so focused on the moon shots for LLM, but the simple fact is that we don't need it for coding if we don't want to. We can use it in a better way to communicate and gather requirements, which will go a long way to writing better code faster.
AI agents will do the same job.
What will still matter is software that constrains what kind of data ends up in the database and ensures that data means what it is supposed to. That software will be created by local teams that know the business and the data. They will use AI to write the software and test it. Will those teams be “developers”? It is probably semantics or a matter of degree. Half the people writing advanced Excel spreadsheets today should probably be considered developers really.
Programming languages are languages to tell the computer what to do. In the beginning, people wrote in machine code. Then, high level languages like C and FORTRAN were invented. Since then we’ve been iterating on the high level language idea.
These LLM based tools seem to be a more abstract way of telling the computer what to do. And they really might, if they work out, be a jump similar to the low/high level split. Maybe in the future we’ll talk about low-level, high-level, and natural programming languages. The only awkwardness will be saying “I have to drop down to a high level language to really understand what the computer is doing.” But anyway, there were programmers on either side of that first split (way more after), if there’s another one I suspect there will still be programmers after.
Obviously, source allows human tuning, auditing, and so on. But taken at the limit, those aspects may eventually no longer be necessary. Just a riff here, as the thought just occurred.
Even the discussion around AI partially replacing coders is a direction towards commoditization.
We saw it crystal clear between the boom years, the trough, and the current recovery.
If you’re infinitely productive, then the solution to every problem is to just keep producing stuff, instead of learning to say no.
This means a lot of companies will overbuild, and then drown in maintenance problems and fail catastrophically when they can’t keep up.
And yet many companies aren't hiring developers right now - folks in the C suite are thinking AI is going to be eliminating their need to hire engineers. Also "demand" doesn't necessarily mean that there's money available to develop this code. And remember that when code is created it needs to be maintained and there are costs for doing that as well.
I'd love to see numbers around the "execs don't think they need engineers because of AI" factor. I've heard a few anecdotal examples of that but it's hard to tell if it's a real trend or just something that catches headlines.
Another data point is that there's been ~10 companies that I have been following and all of them have been shut down in the past year or so.
And the general feeling you get from the number of HN posts from people complaining about not being able to find jobs. This certainly hasn't been like that before.
And this kind of fear mongering is particularly irritating when you see that our industry already faced a similar productivity shock less than twenty years ago: before open source went mainstream github and library hubs like npm we used to code the same things over and over again, most of the time in a half-backed fashion because nobody had time for polishing stuff that was needed but only tangentially related to the code business. Then came the open-source tsunami, and suddenly there was a high quality library for solving your particular problem and the productivity gain was insane.
Fast forward a few years, does it look like this productivity gains took any of our jobs? Quite the opposite actually, there has never been as many developers as today.
(Don't get me wrong, this is massively changing how we work, like the previous revolution did, and how job is never going to be the same again)
These might not be big products, but who wants big products anyway? You always have to bend over backwards to trick them into doing what you want. You should see the crazy stuff my partner does to make google docs fit her use case...
Let's have an era of small products made by people who are close to the problems being solved.
There is a lot of work. Plenty of it just isnt super fun or interesting.
Aka Devs can move up the chain into what was traditionally product roles to increase development of new projects. This is using the time they have regain from more menial tasks being automated away.
I don't trust companies to translate that to, "We can do more now" rather than, "We can do more with less people now" though.
We really are in AI moment of iPhone. I never thought I would witness something bigger than the impact of Smartphone. There are insane amount of value that we could extract out. Likely in tens of trillions from big to small business.
We keep asking how Low Code or No Code "tools" could achieve custom apps. Turns out we are here via a different route.
>custom software because they'd need a team of 6 working for 12 months may now hire developers if they only need 2 working for 3 months to get something useful.
I am wondering if it be more like 2 working for 1 month?
Maybe devs will be replaced with QA, or become glorified QA themselves.
Most companies don't have a milelong backlog of coding projects. That's a uniquely tech industry-specific issue, and a lot of it is driven by the tech industry's obsessive compulsion to perpetually reinvent wheels.
Companies that would never have considered building custom software because they'd need a team of 6 working for 12 months may now hire developers if they only need 2 working for 3 months to get something useful.
No, because most companies that can afford custom software want reliable software. Downtime is money. Getting unreliable custom software means that the next time around they'll just adapt their business processes to software that's already available on the market.
This is viewing things too narrowly I think. Why do we even need most of our current software tools aside from allowing people to execute a specific task? AI won't need VSCode. If AI can short circuit the need for most, if not nearly all enterprise software, then I wouldn't expect software demand to increase.
Demand for intelligent systems will certainly increase. And I think many people are hopeful that you'll still need humans to manage them but I think that hope is misplaced. These things are already approaching human level intellect, if not exceeding it, in most domains. Viewed through that lens, human intervention will hamper these systems and make them less effective. The rise of chess engines are the perfect example of this. Allow a human to pair with stockfish and override stockfish's favored move at will. This combination will lose every single game to a stockfish-only opponent.
But the bit of data we got in this story is that a human wrote tests for a human-identified opportunity, then wrote some prompts, iterated on those prompts, and then produced a patch to be sent in for review by other humans.
If you already believed that there might be some fully autonomous coding going on, this event doesn’t contradict your belief. But it doesn’t really support it either. This is another iteration on stuff that’s already been seen. This isn’t to cheapen the accomplishment. The range of stuff these tools can do is growing at an impressive rate. So far though it seems like they need technical people good enough to define problems for them and evaluate the output…
Why not? It's still going to be quicker for the AI to use automated refactoring tooling than to manually make all the changes itself.
This was all in the default web chat UI.
https://chris-granger.com/2015/01/26/coding-is-not-the-new-l...
modelling has been , is , and will be the needed literacy..
No, work is never the core problem. Backlog of bug fixes/enhancements is rarely what determines the headcount. What matters is the business need. If the product sells and there is no/little competition, the company has very little incentive to improve their products, especially hiring people to do the work. You'd be thankful if a company does not layoff people in teams working on mature products. In fact, the opposite has been happening, for quite a while. There are so many examples out there that I don't need to name them.
India and Eastern EU will win far more (relatively) than expensive devs in the US or Western EU.
That's why I'm not worried. There is already SO MUCH more demand for code than we're able to keep up with. Show me a company that doesn't have a backlog a mile long where most of the internal conversations are about how to prioritize what to build next.
I think LLM assistance makes programmers significantly more productive, which makes us MORE valuable because we can deliver more business value in the same amount of time.
Companies that would never have considered building custom software because they'd need a team of 6 working for 12 months may now hire developers if they only need 2 working for 3 months to get something useful.