5 ms·
> 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 mil
by jeswin 2y ago
> 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 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.
- simonw 2y agoYeah, it's going to suck for junior developers for a while. 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.
- antonislav 2y agoI think, seeing recordings of people using LLMs to accomplish non-trivial tasks would go a long way. 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?
- plandis 2y agoI believe Simon has full transcripts for some of the projects he’s had LLMs generate the code for. You can see how he steers the LLM for what is desired and how it is course corrected.
- simonw 2y agoI've published probably over a hundred of those now, but they're scattered around. This tag on my blog has a lot of them: https://simonwillison.net/tags/ai-assisted-programming/ https://simonwillison.net/tags/ai-assisted-programming/
- onetimeusename 2y agoJust as a side note, at my university about half the CS people are in the AI track. I would guess that number will keep increasing. There is also a separate major that kind of focuses on AI/psychology that is pretty popular but I am not sure how many people are in it. A good number of the students have some kind of "AI startup". Also, although it violates the honor code, I would be willing to bet many students use AI in some way for doing programming assignments. 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.
- tomrod 2y agoYeah, the younguns smell opportunity and run towards it. They'll be fine. It's younguns) the less experienced folks in the current corporate world that will have the most to lose.
- CalChris 2y agoOr perhaps it will be the more experienced knuckle draggers, hardened in our ways.
- AnotherGoodName 2y agoThe really experienced of us will have made this mistake enough times to know to avoid it. 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.
- AnotherGoodName 2y agoThe ask from every new grad to be assigned to ai development is unreasonable right now and they are probably hurting their careers by all going the same direction honestly. It’s a small fraction of our development efforts and we usually hire very senior for that sort of role. We still need people that can program for the day to day business needs and it’s a perfect starting role for a new grad yet almost all of them are asking for assignment to ai development. I appreciate anyone that can utilise ai well but there’s just not enough core ai model development jobs for every new grad.
- jhsvsmyself 2y agoThere are already courses that are centered around coding with AI.
- belter 2y ago> Courses that are centered around coding with AI. Everybody is a Manager now?
- bick_nyers 2y agoI definitely agree with you in the interim regarding junior developers. However, I do think we will eventually have the AI coding equivalent of CICD built into perhaps our IDE. Basically, when an AI generated some code to implement something, you chain out more AI queries to test it, modify it, check it for security vulnerabilities etc. 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.
- LeFantome 2y agoIf it can point out the things you may need to consider, it is already better at security than most dev teams in the world today. Deep Seek can already do that.
- LeFantome 2y agoThink of how much easier it is to learn to code if you actually want to. 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.
- kadushka 2y agoPeople get wicked good by solving hard problems. Many young developers use AI to solve problems with little effort. Not sure what effect this will have on the quality of future developers.
- LeFantome 2y ago“ It's a difficult problem to solve, requiring new sets of books, courses etc.” Instead of this, have you considered asking Deep Seek to explain it to you?
- smokel 2y agoBefore this comment is being downvoted, please note the irony. The AI models may solve some technical problems, but the actual problems to be solved are of a societal nature, and won't be solved in our lifetimes.
- the_af 2y agoI agree there are hard societal problems that tech alone cannot solve -- or at all. It reminds me of the era, not long ago, when the hipster startup bros thought "there is an app for that" (and they were ridiculously out of touch with the actual problem, which was famine, homelessness, poverty, a natural disaster, etc). 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.
- numba888 2y agoand in the next lifetimes too. humans are good at making problems. only lobotomy and AGI Gods can sort of 'solve' them.
- numba888 2y agoBy the time book comes out it's outdated. DeepSeek has its own cut-off date. 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.
- butlike 2y agoCS Fundamentals are CS fundamentals, whether you're writing the B-tree or spot-checking it.
- cyanydeez 2y agothat's basically the AI rubicon everywhere. From flying plans to programming: Soon there'll be no real fallback. When AI fails, you can't just put the controls in front of a person and expect them to have reasonable expertise to respond. 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.
- entropicdrifter 2y ago>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.
- cyanydeez 2y agoWell, we don't accept it in the sense of "we can't blame someone", which is what I'm saying. Soon it'll be like a forest fire or a conspiracy theory. Currently, car crashes are blamed on the individuals involved.
- entropicdrifter 2y agoSometimes, but sometimes people just say stuff like "god is testing us" when things appear to be truly random. I reckon we'll see a lot of new religious thinking about this stuff
- cyanydeez 2y agoI'm not talking about random people's delusions. 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.
- motorest 2y ago> 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. 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.
- danielbln 2y agoThat's a broad statement. If the IDE checks types and feeds errors back to the LLM, then that loop is very well able to fix an issue or implement a feature all on its own (see aider, cline etc )
- motorest 2y ago> That's a broad statement. 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.
- deleted 2y ago[deleted]
- herval 2y agoThis is my main worry with the entire AI trend too. We're creating a huge gap for those joining the industry right now, with markedly fewer job openings for junior people. Who will inherit the machine?
- belter 2y ago>Who will inherit the machine? Extremely well paid human coders, capable of fixing the mistakes of the years preceding them...
- Peacefulz 2y agoI personally think that having hands on keyboards is still going to be imperative. Anyone can have an idea, but not everyone is going to be able to articulate that idea to an AI model in a way that will produce high quality, secure software. 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.
- thelittleone 2y agoThis assumes that prompts do not evolve to the point where grandma can mutter some words to AI that produces an app that solves a problem. Prompts are an art form and a friction point to great results. Was only some months before reasoning models that CoT prompts where state of the art. Reasoning models take that friction away. Thinking it out even further, programming languages will likely go away altogether as ultimately they're just human interfaces to machine language.
- quesera 2y ago> programming languages will likely go away altogether 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!).
- curious_cat_163 2y ago> If you ask me why this will take time, my argument is that effectively wielding an LLM for coding requires broad knowledge. 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.
- worik 2y ago> It will be a while before vocational programming courses retool to teach this new way of writing code Why? Are they not already?
- deleted 2y ago[deleted]
- sdesol 2y agoFull disclosure: I am writing a chat app that is designed for software development > 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-4207c1b8158d 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-247a96d08484 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.
- kragen 2y agoI feel like getting an LLM to spot security holes might be easier than getting it to write secure code.