It's kind of a wish-washy video, but I'd double down and say that if you are looking to be a professional programmer, you will fall behind if you don't use LLM tooling. You will also be behind if...
It's kind of a wish-washy video, but I'd double down and say that if you are looking to be a professional programmer, you will fall behind if you don't use LLM tooling. You will also be behind if are new and never learn how to program, or have your brain atrophy so much that you forget. That's life - you have to keep things in a delicate balance - that goes for almost anything.
And if you are not trying to be a professional programmer, it doesn't matter, just like how you can do pottery and make things that are worse than $10 porcelain you buy at target and it doesn't matter, that wasn't the point.
I agree in a sense, but disagree in another (imo more important) sense. Like you might fall behind in LoC/volume of output versus another programmer at your same level who uses LLMs when you first...
Exemplary
I agree in a sense, but disagree in another (imo more important) sense.
Like you might fall behind in LoC/volume of output versus another programmer at your same level who uses LLMs when you first start out, but that other LLM-using programmer is going to fall behind you in their ability to read, write, and comprehend code. In a few years if your CFO decides that the ever-rising costs of LLM tokens has become too high and cuts you off, that other guy will be like a fish out of water but it will be no sweat to you.
I suppose if you're of the opinion that the ability to read and comprehend code is no longer a meaningful skill in this new world where LLMs do all the coding, then maybe my point is moot. I don't think that's an inevitability though--I agree with the observation made in the video that all the LLM tooling seems to do in practice is "speed run" the process of burning out. It turns what for many is a rewarding and enjoyable profession into a miserable slog. I believe all this LLM madness is just a ridiculous phase and things will level out eventually. LLMs will still be a useful tool for learning how to code, gaining quicker understanding of large codebases, and maybe even automating some tedious busywork, but the fever dream of LLMs doing all the coding and humans just writing design and architectural instructions will fade away into obscurity.
I feel like this is conflating "using LLMs" and "vibecoding", which are not the same thing. I think Full stop, no matter what metric of productivity, you will fall behind if you do not use LLMs at...
I feel like this is conflating "using LLMs" and "vibecoding", which are not the same thing. I think
Full stop, no matter what metric of productivity, you will fall behind if you do not use LLMs at all in a professional capacity
Using LLMs does not mean that you forget how to code
An example of something I'll do now that really saves me a lot of time is just put out what is essentially pseudo code, and get claude or codex to turn it into syntactically correct code.
If I'm making a Java autovalue class, for instance, I'll just write
string foo
optional string bar
int car
in an empty file and tell claude to make it. That's not vibecoding, I know exactly what I want the output to be, I just save a lot of time writing Java's overly verbose shitty as language primitives.
Thank you, glad you said it. LLMs are honestly amazing tools for coding, no matter what people want the truth to be. I've been coding for 20+ years, which doesn't make me amazing, just...
Thank you, glad you said it. LLMs are honestly amazing tools for coding, no matter what people want the truth to be. I've been coding for 20+ years, which doesn't make me amazing, just experienced. The first job I was at for 10 years or so I can honestly say almost nothing of what I did there is used now. Whether it's company specific knowledge or the code base or even the language and tools, the world just moves on.
I'll tell you one thing, in the early 2000's I copied out of my comp sci notebook and the paper books. I then was excited when I started to get digital books, copied from there too. Then later I copied my old code, then dragged some of that stuff way too far forward. At no point was I writing code from raw memory, it was always a back and forth. Only if I was churning out the same style thing again and again did I write it from memory.
But now, there are so many APIs and libraries that you interact with almost every program is based off a tutorial for 'how to use XYZ' examples and then grows from there. And really, when you import a dependency do you really know what is is doing, or will ever care, unless there is a problem? If you get it, works as intended, you move on with your productivity.
LLMs just are bundling a whole lot more things up for you to look at. I've honestly learned a lot from the LLMs, I self taught myself python a few years ago, and I really did miss a lot of the features of the language, but I was able to just keep getting results with it. When I started using LLMs (from chatting), when I saw some method or asked 'how can this be more pythonic' it opened up the door to a bunch of features that I missed and honestly wouldn't be relevant for my day to day, but now I know about them. I then would ask it for a series of programming drills in increasing difficulty to learn the feature. You don't get this off stack overflow nor from the documentation.
I haven't really gone full agentic setup, only at home. But again it's just so nice, this weekend I had it build me a scraper for poe.ninja since I was having trouble remembering currency value in the game. I had it just toss me out a table, normalized to chaos, of the relative recent value. I was able to add in things like use uv, add git repo and commit changes, use rich to format tables, use the atom one terminal color scheme, center the table, sort by xyz, cache the results so i wont hit the API too much etc. I can do that while I'm playing poe2 instead of sitting down coding, which I don't like to do in my spare time anymore.
But yeah I really see almost zero downside to slow building an application with an LLM where you are reading and working with the code in chunks just like normally, except you can go way faster and don't have to plow into reference docs and can just ask it questions normally. "Why is this doing X, is there some alternative library for this? What are the tradeoffs for Y vs X" .
I do fully realize that LLMs have huge downsides, don't fit everywhere, are a trap for JR and slack devs, all that, but I can't deny that it has helped me write better code and I don't feel like I'm forgetting, if anything it is helping me prop myself up as in my mid/late 40s now I just can't retain everything like I once did for free in my head anyway. I know what I want to do but syntax falls out as soon as I stop using it for a bit and blends between the languages I might be looking at.
Can you define falling behind? I already did leave a reply here to Rudism as I am largely in agreement with them. But no matter how I look at it LLMs are mostly a tool to either make work go...
Full stop, no matter what metric of productivity, you will fall behind if you do not use LLMs at all in a professional capacity
Can you define falling behind? I already did leave a reply here to Rudism as I am largely in agreement with them. But no matter how I look at it LLMs are mostly a tool to either make work go faster for people with experience. Or, and maybe that is what you are hinting at, allowing them to apply their technical skills and foundation to a broader field. Which is extremely nice, but most often comes down to velocity again as they likely would have been able to do so already given the time to research a subject themselves.
Anyone, with a sufficient technical background, picking up LLMs now can be up to speed within a week compared to people who have been using them for years in my opinion. Unless I am missing something really obvious, there is no real moat around the tooling or LLMs themselves. In that regard they really aren't all that different from picking up other tooling in the past.
Which is often where people get stuck. Learning tooling before understanding technology which locks them into a niche.
Per the video, it's more about what happens to those that are ideologically opposed. If you refuse to use any LLM tooling out of ideological reasons - whether you believe that they destroy the...
Per the video, it's more about what happens to those that are ideologically opposed. If you refuse to use any LLM tooling out of ideological reasons - whether you believe that they destroy the "art", or are unethical - then, employers will filter you out. Is what it is.
If you are willing to use LLM tooling in a pragmatic sense just have not yet, yes, I do not think you meaningfully far behind in a "skills" sense.
Another example is using the LLM to bounce ideas about design, do code review/double check stuff, help debug issues, do sysadmin/setup stuff that gets in the way of actually coding, etc. There's a...
Another example is using the LLM to bounce ideas about design, do code review/double check stuff, help debug issues, do sysadmin/setup stuff that gets in the way of actually coding, etc. There's a lot of ways to use these tools that are useful but doesn't make you forget how to code.
I don't think there's a universe where LLMs aren't used in software development going forward. The vibe coding future of no one manually writing code may or may not come to fruition, but the genie...
I don't think there's a universe where LLMs aren't used in software development going forward. The vibe coding future of no one manually writing code may or may not come to fruition, but the genie is out of the bottle when it comes to coding assistants, and it's not going back in.
A CFO deciding token costs are too high and cutting off LLM subscriptions would make about as much sense as deciding computers are too expensive and requiring developers to code on pieces of paper. I can see token use optimization being a thing, and encouraging developers to be more efficient with how they decide to spend tokens, but developers are measured on how much working code they ship. LLMs in their current state very obviously let developer ship a lot more working code. I can't think of a single technology that exists which helps developers ship more code that hasn't eventually become standard practice. That fact means they're here to stay.
Man, I am glad I am not making my living in the US or for such a company. I realize that this is the case for a lot of people working in development. But, there are also companies out there where...
but developers are measured on how much working code they ship.
Man, I am glad I am not making my living in the US or for such a company. I realize that this is the case for a lot of people working in development. But, there are also companies out there where developers are judged on the quality of their overall work (which includes more than just code) and the quality of the overall product.
Just a nuance I wanted to place since this might seem like true, it isn't an absolute truth.
I think there's a little bit of wiggle room there, especially for industries with life or death situations that their code is in direct control of, but how many features a developer can complete...
I think there's a little bit of wiggle room there, especially for industries with life or death situations that their code is in direct control of, but how many features a developer can complete has been the main metric almost everywhere I've worked. For one, quality is very hard to measure unless code just straight up fails tests, but secondly, product teams get much more excited about features than they do about bug free code. 99% of the product teams I've worked with would much rather have a new feature delivered on time with some bugs than a delayed, but totally bug free feature.
Sales and marketing teams are hounding product for features. Very few sales and marketing teams are selling software based on "yes, our product may not be able to do as much as our competitors, but it never crashes".
I see LLM usage sticking around long-term in the same sense that LSP/ctag autocomplete and syntax highlighting is never going away. It will be a useful tool and developers will be able to make...
I see LLM usage sticking around long-term in the same sense that LSP/ctag autocomplete and syntax highlighting is never going away. It will be a useful tool and developers will be able to make their own decisions around how and to what extent they want to use it. Maybe some employers will subsidize the cost of using it, maybe not. Replace "pieces of paper" with "their own laptops" and I think your analogy becomes more apt (and even describes some smaller companies I worked for in the past).
That might be the future at some point. But certainly not the reality right now. In fact, models have progressed to the point where their hallucinations (or however you want to call it) become...
I suppose if you're of the opinion that the ability to read and comprehend code is no longer a meaningful skill in this new world where LLMs do all the coding, then maybe my point is moot. I
That might be the future at some point. But certainly not the reality right now. In fact, models have progressed to the point where their hallucinations (or however you want to call it) become much less obvious and in that sense much more damaging since it can take a while to pick up and requires a lot more to fix.
As it is, the more skilled you are with the core of the technologies you ask them to work with the better you will be at using them.
The tooling surrounding them, which I guess is what you could be "left behind" on also isn't that complicated to pick up on. At least not when you have a strong technical background, critical thinking skills and are somewhat adequate at writing.
I think it'd be helpful to also define what it means to use an LLM. For context, I really only program as a hobby. Personally, I refuse to install the coding assistants on my computer. It is so...
I think it'd be helpful to also define what it means to use an LLM.
For context, I really only program as a hobby. Personally, I refuse to install the coding assistants on my computer. It is so distracting even having the auto-complete appear in my editor. And I know if I have the assistant in my sidebar, the first thing I'll do to solve a problem is prompt the LLM.
I also know people that exclusively vibe code, use open claw, have a bunch of agents, etc.
To me, where they really shine is when it acts as a glorified search engine. Anything slightly obscure gets increasingly more difficult to find since this boom in AI. Realistically, it's gotten worse and worse as you're pushed to Discord for support.
It's hard to recognize in the moment when I'm wasting my time speaking to the LLM. I often find myself spinning in circles trying to solve a problem the wrong way. It's tough to balance.
I think programming as a hobby is really a lot different than doing it for a living. You get to pick what you're doing when you do it as a hobby. You get to pick your projects, your pace, your...
I think programming as a hobby is really a lot different than doing it for a living.
You get to pick what you're doing when you do it as a hobby. You get to pick your projects, your pace, your language, your IDE, your tools and so forth. Most of that goes out the window when you do it for a large company.
You work on the projects that get assigned to you, using the language and frameworks that that product is built on. You use the computer, IDE and so forth that your employer gives you. And most importantly, you have stand-ups where you need to answer for your pace. If you're working on the same story item for weeks because you're stuck, the pressure is on you. You can't afford to just leisurely poke around when you feel like it, because your livelihood depends on you shipping code.
Especially in this environment, companies will use whatever metrics they can when it comes time to determine who gets laid off. The amount of code you shipped is the main measure they use.
Even ignoring the mandates that a lot of companies have right now for LLMs, you get a huge leg up when it comes to shipping workable software. Will it produce software that is as efficient, readable, and clean as a master software engineer with back of the hand familiarity with the code base? In most cases no, but it will work, and most of the time it will work pretty well, in a fraction of the time it would take you to write it from scratch.
There's a reason why things like handcrafted leather working, or blacksmithing, or non mechanized farming aren't big industries anymore. Those things are cool and interesting to do on your own time, but they can't match the production speed and volume of automation, so very few companies other than small, boutique industries will pay you to do them.
Maybe in extremely critical areas, like NASA, there will be room for entirely hand crafted code, but 99.99% of software doesn't have that kind of constraint. Volume and speed are more important metrics than quality for most software development scenarios.
Without watching this I would say it depends on the organization you're in. You should always be writing code by hand to some extent either way to keep your mind sharp. I was just at an event and...
Without watching this I would say it depends on the organization you're in. You should always be writing code by hand to some extent either way to keep your mind sharp. I was just at an event and met engineers from plenty of orgs that are okay with 'human-paced' output. Not every org will be like this.
It's kind of a wish-washy video, but I'd double down and say that if you are looking to be a professional programmer, you will fall behind if you don't use LLM tooling. You will also be behind if are new and never learn how to program, or have your brain atrophy so much that you forget. That's life - you have to keep things in a delicate balance - that goes for almost anything.
And if you are not trying to be a professional programmer, it doesn't matter, just like how you can do pottery and make things that are worse than $10 porcelain you buy at target and it doesn't matter, that wasn't the point.
I agree in a sense, but disagree in another (imo more important) sense.
Like you might fall behind in LoC/volume of output versus another programmer at your same level who uses LLMs when you first start out, but that other LLM-using programmer is going to fall behind you in their ability to read, write, and comprehend code. In a few years if your CFO decides that the ever-rising costs of LLM tokens has become too high and cuts you off, that other guy will be like a fish out of water but it will be no sweat to you.
I suppose if you're of the opinion that the ability to read and comprehend code is no longer a meaningful skill in this new world where LLMs do all the coding, then maybe my point is moot. I don't think that's an inevitability though--I agree with the observation made in the video that all the LLM tooling seems to do in practice is "speed run" the process of burning out. It turns what for many is a rewarding and enjoyable profession into a miserable slog. I believe all this LLM madness is just a ridiculous phase and things will level out eventually. LLMs will still be a useful tool for learning how to code, gaining quicker understanding of large codebases, and maybe even automating some tedious busywork, but the fever dream of LLMs doing all the coding and humans just writing design and architectural instructions will fade away into obscurity.
I feel like this is conflating "using LLMs" and "vibecoding", which are not the same thing. I think
Full stop, no matter what metric of productivity, you will fall behind if you do not use LLMs at all in a professional capacity
Using LLMs does not mean that you forget how to code
An example of something I'll do now that really saves me a lot of time is just put out what is essentially pseudo code, and get claude or codex to turn it into syntactically correct code.
If I'm making a Java autovalue class, for instance, I'll just write
in an empty file and tell claude to make it. That's not vibecoding, I know exactly what I want the output to be, I just save a lot of time writing Java's overly verbose shitty as language primitives.
Thank you, glad you said it. LLMs are honestly amazing tools for coding, no matter what people want the truth to be. I've been coding for 20+ years, which doesn't make me amazing, just experienced. The first job I was at for 10 years or so I can honestly say almost nothing of what I did there is used now. Whether it's company specific knowledge or the code base or even the language and tools, the world just moves on.
I'll tell you one thing, in the early 2000's I copied out of my comp sci notebook and the paper books. I then was excited when I started to get digital books, copied from there too. Then later I copied my old code, then dragged some of that stuff way too far forward. At no point was I writing code from raw memory, it was always a back and forth. Only if I was churning out the same style thing again and again did I write it from memory.
But now, there are so many APIs and libraries that you interact with almost every program is based off a tutorial for 'how to use XYZ' examples and then grows from there. And really, when you import a dependency do you really know what is is doing, or will ever care, unless there is a problem? If you get it, works as intended, you move on with your productivity.
LLMs just are bundling a whole lot more things up for you to look at. I've honestly learned a lot from the LLMs, I self taught myself python a few years ago, and I really did miss a lot of the features of the language, but I was able to just keep getting results with it. When I started using LLMs (from chatting), when I saw some method or asked 'how can this be more pythonic' it opened up the door to a bunch of features that I missed and honestly wouldn't be relevant for my day to day, but now I know about them. I then would ask it for a series of programming drills in increasing difficulty to learn the feature. You don't get this off stack overflow nor from the documentation.
I haven't really gone full agentic setup, only at home. But again it's just so nice, this weekend I had it build me a scraper for poe.ninja since I was having trouble remembering currency value in the game. I had it just toss me out a table, normalized to chaos, of the relative recent value. I was able to add in things like use uv, add git repo and commit changes, use rich to format tables, use the atom one terminal color scheme, center the table, sort by xyz, cache the results so i wont hit the API too much etc. I can do that while I'm playing poe2 instead of sitting down coding, which I don't like to do in my spare time anymore.
But yeah I really see almost zero downside to slow building an application with an LLM where you are reading and working with the code in chunks just like normally, except you can go way faster and don't have to plow into reference docs and can just ask it questions normally. "Why is this doing X, is there some alternative library for this? What are the tradeoffs for Y vs X" .
I do fully realize that LLMs have huge downsides, don't fit everywhere, are a trap for JR and slack devs, all that, but I can't deny that it has helped me write better code and I don't feel like I'm forgetting, if anything it is helping me prop myself up as in my mid/late 40s now I just can't retain everything like I once did for free in my head anyway. I know what I want to do but syntax falls out as soon as I stop using it for a bit and blends between the languages I might be looking at.
Can you define falling behind? I already did leave a reply here to Rudism as I am largely in agreement with them. But no matter how I look at it LLMs are mostly a tool to either make work go faster for people with experience. Or, and maybe that is what you are hinting at, allowing them to apply their technical skills and foundation to a broader field. Which is extremely nice, but most often comes down to velocity again as they likely would have been able to do so already given the time to research a subject themselves.
Anyone, with a sufficient technical background, picking up LLMs now can be up to speed within a week compared to people who have been using them for years in my opinion. Unless I am missing something really obvious, there is no real moat around the tooling or LLMs themselves. In that regard they really aren't all that different from picking up other tooling in the past.
Which is often where people get stuck. Learning tooling before understanding technology which locks them into a niche.
Per the video, it's more about what happens to those that are ideologically opposed. If you refuse to use any LLM tooling out of ideological reasons - whether you believe that they destroy the "art", or are unethical - then, employers will filter you out. Is what it is.
If you are willing to use LLM tooling in a pragmatic sense just have not yet, yes, I do not think you meaningfully far behind in a "skills" sense.
Another example is using the LLM to bounce ideas about design, do code review/double check stuff, help debug issues, do sysadmin/setup stuff that gets in the way of actually coding, etc. There's a lot of ways to use these tools that are useful but doesn't make you forget how to code.
I don't think there's a universe where LLMs aren't used in software development going forward. The vibe coding future of no one manually writing code may or may not come to fruition, but the genie is out of the bottle when it comes to coding assistants, and it's not going back in.
A CFO deciding token costs are too high and cutting off LLM subscriptions would make about as much sense as deciding computers are too expensive and requiring developers to code on pieces of paper. I can see token use optimization being a thing, and encouraging developers to be more efficient with how they decide to spend tokens, but developers are measured on how much working code they ship. LLMs in their current state very obviously let developer ship a lot more working code. I can't think of a single technology that exists which helps developers ship more code that hasn't eventually become standard practice. That fact means they're here to stay.
Man, I am glad I am not making my living in the US or for such a company. I realize that this is the case for a lot of people working in development. But, there are also companies out there where developers are judged on the quality of their overall work (which includes more than just code) and the quality of the overall product.
Just a nuance I wanted to place since this might seem like true, it isn't an absolute truth.
I think there's a little bit of wiggle room there, especially for industries with life or death situations that their code is in direct control of, but how many features a developer can complete has been the main metric almost everywhere I've worked. For one, quality is very hard to measure unless code just straight up fails tests, but secondly, product teams get much more excited about features than they do about bug free code. 99% of the product teams I've worked with would much rather have a new feature delivered on time with some bugs than a delayed, but totally bug free feature.
Sales and marketing teams are hounding product for features. Very few sales and marketing teams are selling software based on "yes, our product may not be able to do as much as our competitors, but it never crashes".
I see LLM usage sticking around long-term in the same sense that LSP/ctag autocomplete and syntax highlighting is never going away. It will be a useful tool and developers will be able to make their own decisions around how and to what extent they want to use it. Maybe some employers will subsidize the cost of using it, maybe not. Replace "pieces of paper" with "their own laptops" and I think your analogy becomes more apt (and even describes some smaller companies I worked for in the past).
That might be the future at some point. But certainly not the reality right now. In fact, models have progressed to the point where their hallucinations (or however you want to call it) become much less obvious and in that sense much more damaging since it can take a while to pick up and requires a lot more to fix.
As it is, the more skilled you are with the core of the technologies you ask them to work with the better you will be at using them.
The tooling surrounding them, which I guess is what you could be "left behind" on also isn't that complicated to pick up on. At least not when you have a strong technical background, critical thinking skills and are somewhat adequate at writing.
I think it'd be helpful to also define what it means to use an LLM.
For context, I really only program as a hobby. Personally, I refuse to install the coding assistants on my computer. It is so distracting even having the auto-complete appear in my editor. And I know if I have the assistant in my sidebar, the first thing I'll do to solve a problem is prompt the LLM.
I also know people that exclusively vibe code, use open claw, have a bunch of agents, etc.
To me, where they really shine is when it acts as a glorified search engine. Anything slightly obscure gets increasingly more difficult to find since this boom in AI. Realistically, it's gotten worse and worse as you're pushed to Discord for support.
It's hard to recognize in the moment when I'm wasting my time speaking to the LLM. I often find myself spinning in circles trying to solve a problem the wrong way. It's tough to balance.
I think programming as a hobby is really a lot different than doing it for a living.
You get to pick what you're doing when you do it as a hobby. You get to pick your projects, your pace, your language, your IDE, your tools and so forth. Most of that goes out the window when you do it for a large company.
You work on the projects that get assigned to you, using the language and frameworks that that product is built on. You use the computer, IDE and so forth that your employer gives you. And most importantly, you have stand-ups where you need to answer for your pace. If you're working on the same story item for weeks because you're stuck, the pressure is on you. You can't afford to just leisurely poke around when you feel like it, because your livelihood depends on you shipping code.
Especially in this environment, companies will use whatever metrics they can when it comes time to determine who gets laid off. The amount of code you shipped is the main measure they use.
Even ignoring the mandates that a lot of companies have right now for LLMs, you get a huge leg up when it comes to shipping workable software. Will it produce software that is as efficient, readable, and clean as a master software engineer with back of the hand familiarity with the code base? In most cases no, but it will work, and most of the time it will work pretty well, in a fraction of the time it would take you to write it from scratch.
There's a reason why things like handcrafted leather working, or blacksmithing, or non mechanized farming aren't big industries anymore. Those things are cool and interesting to do on your own time, but they can't match the production speed and volume of automation, so very few companies other than small, boutique industries will pay you to do them.
Maybe in extremely critical areas, like NASA, there will be room for entirely hand crafted code, but 99.99% of software doesn't have that kind of constraint. Volume and speed are more important metrics than quality for most software development scenarios.
Without watching this I would say it depends on the organization you're in. You should always be writing code by hand to some extent either way to keep your mind sharp. I was just at an event and met engineers from plenty of orgs that are okay with 'human-paced' output. Not every org will be like this.