Learn something adjacent to coding. I think breadth wins over depth. Knowing how to do 10 disciplines 50% of the way is a super power. Rely on LLM-based tools to do the other 50%.
This is, unfortunately, contrary to previous advice of specializing.
It’s a great time to be a jack of all trades and master of none.
+1. There's a good book "Range: Why Generalists Triumph in a Specialized World" that lays out how it's better to be an all arounder than min-max skills and life areas. The advice actually predates LLMs!
I always felt repulsed by specialization due to diminishing returns and the fact im curious about everything. But I though about it and picking up various experiences to avoid a specialization is, in a sense, itself a specialization: it's unlikely there's another person with a similar set of experiences!
Reminds me of how Python is termed "2nd best pick for every task". It's rarely the best but it covers a lot of ground, so by starting with it, you can uncover what would be a better language. So a generalist can also be a first pick for something, at least until it's more clear about what's a better pick.
Anyways sorry for rambling, I agree with you. If a young person is reading this, the worst thing you can do is specialize too early (read the book I mentioned!); go explore the world first before settling and picking a direction
There's nothing about specialization to be repulsed by. Specialization is what gave us our the society and economy. That's not to say generalists are not important, I simply view them as the southpaw of abilities. There exists some healthy ratio of generalists in a specialist world to bridge knowledge domains. Too many generalists will not be able to push progress in a specific domain, just like too many southpaws will reduce their advantage in competitive sports.
Honestly, I've seen the difference between knowing what you're doing with AI because you have broad and in-depth knowledge of a domain versus not having that, and the difference in what you can do with AI is staggering.
I see generalists plateauing while I'm not able to go technical enough due to token counts not allowing for it.
I don't think the code written by AI is worse than what humans write. Rather, the code quality of the vast majority of people is worse than the code written by Opus 5.5 at this stage. They can't even properly use basic SOLID principles and Patterns.
They pursue OOP but end up with too much abstraction. They pursue ML but end up making a complete mess.
So if you ask me: Are you worried about Code generated by AI?
I want to ask you back: Can you trust the Code written by your colleagues?
The nature of the problem is the same. It's better to rely on powerful E2E and AI detection to handle this problem.
As for learning and writing code yourself, I think that's correct, but this has become something with a very high barrier.
It's a bit like sugar. There's more and more industrial sugar, people like eating it more and more, and actively stopping sugar intake becomes very difficult, especially for those who eat more sugar.
Most people now use LLMs for development, and they've always been focused on developing features. Their roles have changed from engineers to PMs or Makers.
And sitting down to write code yourself is like spending a lot of time training your muscles. It's painful, growth is slow, and even if you have muscles all over your body, it doesn't necessarily mean a higher salary.
Many people only care about "features" and lack understanding of code, architecture, and core logic, including why to abstract a Pattern, why to use async, technology selection, and so on.
Experienced engineers might write Prompts like: Use SQLite for the backend Database, and make sure to use transactions. Create a class that automatically Commits when leaving its lifecycle, and automatically rollbacke if something fails. The created connect should be a long-lived connection, use a Pool to manage seesion, and work with me on Database Table design and normalization, and so on.
But ordinary inexperienced new engineers or regular people: Help me save this thing.
Without these basic design abilities, and with descriptions becoming more and more high-level, you basically know nothing about your own projects and code. Later, during interviews, you can only tell me what you've done, but you can't tell me how you did it.
Although there's always been a joke among engineers that as long as the system works, it's fine. One bug is a bug, but multiple Bugs can work.
This is indeed what LLM development is like now.
I can't say for sure what the future will be like, or whether this kind of design ability will still have any meaning.
Most people who aren't software engineers, even when releasing to Prod, only care that it works. They care more about being product-driven rather than technology.
If even design is already like this, then going back to writing code by hand, experiencing how it takes several hours to develop one feature, and at the beginning only being able to write a complete mess of code, with an extremely low sense of achievement, is something where the time investment simply isn't worth it.
I don't know how many new and future engineers or students will still be willing to do this.
So, to be honest, what exactly should we learn?
Even now, I still haven't reached a conclusion. AI is developing too fast. Many skills are becoming useless and making people's thinking rigid. At the same time, there's a strong sense of rejection and resistance, and you have to convince yourself to go look at it, experience it, and master it.
Just like illustrators, translators, and software developers, these fields require extremely high investment in the early stages, including limited time and money. The sunk costs are so high, and personal interests are also involved. How should we face this kind of impact? I'm still very confused.
Even now, I'm starting to question: What exactly do humans need to learn?
Recently, I had a realization. I've been writing novels for a long time, probably almost 10 years now. Looking back at when I first started writing, turning the ideas in my head into words was really a disaster. I had so many ideas in my head, but writing them down was extremely difficult.
Now, I can turn whatever I think of into words and improve them while writing. Because of this, I've always had a hard time getting used to voice input.
And recently, I've been learning Japanese, relying on LLMs to help me learn. Until yesterday, when I went to take an exam, I didn't expect that I would have to write an essay.
I had ideas in my head, but I couldn't turn them into effective written words.
With the help of LLMs, the text can indeed become cleaner, but basically, I've also lost the ability to "construct a system of thought and language."
I think back to when I read the text structures given by LLMs. At the moment I read them, I thought: That's exactly right.
But when facing a blank piece of paper, I couldn't construct them myself. I could only write content in a way similar to "speaking."
So now I've made up my mind that at least for written expression, I need to write it myself, building my own language system and structured output.
I really didn't expect the cognitive damage LLMs could cause to learning to be this strong.
It's like a teacher explaining mathematics on a blackboard. Every step looks so simple and reasonable.
But when you have to do it yourself, it's a completely different story.
Based on my own experience, many people using LLMs to learn programming are like listening to a piano piece, watching someone else play the piano, and then thinking they know how to play it themselves.
In the future, many people may not even have the ability to produce structured output by themselves, including basic written expression.
But if you say we should go back to learning in the old traditional way, it also feels like we can't keep up with the times.
I don't have an answer, but personally, I'll adjust my ability to "output" after absorbing information, as well as my ability to think structurally and ask further questions.
I'm studying a master using Claude, for instante, and it's a breeze.
I can understand every problem, ask and explanation for every paragraph evenreorganizae a clearly suboptimal PDF notes from my teacher's class or Latex.
100% disagree with the "stick your head in the sand" defense of AI exposure. Instead, use it to understand along the way.
I had to learn coding when a reference book was all I had to help when I got stuck. Then the Google and StackOverflow came and people complained about no-knowledge coders copy-pasting their way through tasks. AI is just an extension of that.
Yes, you can push out 5,000 line PRs blindly, but you can also use AI to help you speed past blockers, to investigate why things are structured in a certain way, explain what a block of code is doing, propose 3 alternative approaches and explain each, etc.
We say "coding is only part of what a SWE does" but you can't do the rest without understanding what the code is doing and meant to do, and why.
In other areas of life, computers and especially AI have us a real world Pokédex/Hitchhiker's Guide. You can point it at anything and learn about it in as much depth as you desire. You just have to show curiosity and a tiny bit of effort.
With LLMs turning everything I valued to shit, I have turned my attention to nature, ary, feelings, relationships, and the other things that it cannot reach. These things are also worth being curious about.
yeah, we've conveniently skipped over the part where pilots are doing their manual training on the job still. This isn't even going into why its a poor comparison in the first place.
Spell checking via AI seems... pointless? Unless this is a means of stating "AI did a once-over of this before I hit submit" in which case this is somewhat disingenuous.
Checked also for missing words, incomplete sentences, etc.. Charitable interpretation. Your point stands: If I go back and forth with AI about what I wrote, it’s not “spellcheck” anymore.
Learn something adjacent to coding. I think breadth wins over depth. Knowing how to do 10 disciplines 50% of the way is a super power. Rely on LLM-based tools to do the other 50%.
This is, unfortunately, contrary to previous advice of specializing.
It’s a great time to be a jack of all trades and master of none.
+1. There's a good book "Range: Why Generalists Triumph in a Specialized World" that lays out how it's better to be an all arounder than min-max skills and life areas. The advice actually predates LLMs!
I always felt repulsed by specialization due to diminishing returns and the fact im curious about everything. But I though about it and picking up various experiences to avoid a specialization is, in a sense, itself a specialization: it's unlikely there's another person with a similar set of experiences!
Reminds me of how Python is termed "2nd best pick for every task". It's rarely the best but it covers a lot of ground, so by starting with it, you can uncover what would be a better language. So a generalist can also be a first pick for something, at least until it's more clear about what's a better pick.
Anyways sorry for rambling, I agree with you. If a young person is reading this, the worst thing you can do is specialize too early (read the book I mentioned!); go explore the world first before settling and picking a direction
There's nothing about specialization to be repulsed by. Specialization is what gave us our the society and economy. That's not to say generalists are not important, I simply view them as the southpaw of abilities. There exists some healthy ratio of generalists in a specialist world to bridge knowledge domains. Too many generalists will not be able to push progress in a specific domain, just like too many southpaws will reduce their advantage in competitive sports.
I think the more popular advise has always been to be T-shaped instead of a pure specialist
Honestly, I've seen the difference between knowing what you're doing with AI because you have broad and in-depth knowledge of a domain versus not having that, and the difference in what you can do with AI is staggering.
I see generalists plateauing while I'm not able to go technical enough due to token counts not allowing for it.
I don't think the code written by AI is worse than what humans write. Rather, the code quality of the vast majority of people is worse than the code written by Opus 5.5 at this stage. They can't even properly use basic SOLID principles and Patterns.
They pursue OOP but end up with too much abstraction. They pursue ML but end up making a complete mess.
So if you ask me: Are you worried about Code generated by AI?
I want to ask you back: Can you trust the Code written by your colleagues?
The nature of the problem is the same. It's better to rely on powerful E2E and AI detection to handle this problem.
As for learning and writing code yourself, I think that's correct, but this has become something with a very high barrier.
It's a bit like sugar. There's more and more industrial sugar, people like eating it more and more, and actively stopping sugar intake becomes very difficult, especially for those who eat more sugar.
Most people now use LLMs for development, and they've always been focused on developing features. Their roles have changed from engineers to PMs or Makers.
And sitting down to write code yourself is like spending a lot of time training your muscles. It's painful, growth is slow, and even if you have muscles all over your body, it doesn't necessarily mean a higher salary.
Many people only care about "features" and lack understanding of code, architecture, and core logic, including why to abstract a Pattern, why to use async, technology selection, and so on.
Experienced engineers might write Prompts like: Use SQLite for the backend Database, and make sure to use transactions. Create a class that automatically Commits when leaving its lifecycle, and automatically rollbacke if something fails. The created connect should be a long-lived connection, use a Pool to manage seesion, and work with me on Database Table design and normalization, and so on.
But ordinary inexperienced new engineers or regular people: Help me save this thing.
Without these basic design abilities, and with descriptions becoming more and more high-level, you basically know nothing about your own projects and code. Later, during interviews, you can only tell me what you've done, but you can't tell me how you did it.
Although there's always been a joke among engineers that as long as the system works, it's fine. One bug is a bug, but multiple Bugs can work.
This is indeed what LLM development is like now.
I can't say for sure what the future will be like, or whether this kind of design ability will still have any meaning.
Most people who aren't software engineers, even when releasing to Prod, only care that it works. They care more about being product-driven rather than technology.
If even design is already like this, then going back to writing code by hand, experiencing how it takes several hours to develop one feature, and at the beginning only being able to write a complete mess of code, with an extremely low sense of achievement, is something where the time investment simply isn't worth it.
I don't know how many new and future engineers or students will still be willing to do this.
So, to be honest, what exactly should we learn?
Even now, I still haven't reached a conclusion. AI is developing too fast. Many skills are becoming useless and making people's thinking rigid. At the same time, there's a strong sense of rejection and resistance, and you have to convince yourself to go look at it, experience it, and master it.
Just like illustrators, translators, and software developers, these fields require extremely high investment in the early stages, including limited time and money. The sunk costs are so high, and personal interests are also involved. How should we face this kind of impact? I'm still very confused.
Even now, I'm starting to question: What exactly do humans need to learn?
Recently, I had a realization. I've been writing novels for a long time, probably almost 10 years now. Looking back at when I first started writing, turning the ideas in my head into words was really a disaster. I had so many ideas in my head, but writing them down was extremely difficult.
Now, I can turn whatever I think of into words and improve them while writing. Because of this, I've always had a hard time getting used to voice input.
And recently, I've been learning Japanese, relying on LLMs to help me learn. Until yesterday, when I went to take an exam, I didn't expect that I would have to write an essay.
I had ideas in my head, but I couldn't turn them into effective written words.
With the help of LLMs, the text can indeed become cleaner, but basically, I've also lost the ability to "construct a system of thought and language."
I think back to when I read the text structures given by LLMs. At the moment I read them, I thought: That's exactly right.
But when facing a blank piece of paper, I couldn't construct them myself. I could only write content in a way similar to "speaking."
So now I've made up my mind that at least for written expression, I need to write it myself, building my own language system and structured output.
I really didn't expect the cognitive damage LLMs could cause to learning to be this strong.
It's like a teacher explaining mathematics on a blackboard. Every step looks so simple and reasonable.
But when you have to do it yourself, it's a completely different story.
Based on my own experience, many people using LLMs to learn programming are like listening to a piano piece, watching someone else play the piano, and then thinking they know how to play it themselves.
In the future, many people may not even have the ability to produce structured output by themselves, including basic written expression.
But if you say we should go back to learning in the old traditional way, it also feels like we can't keep up with the times.
I don't have an answer, but personally, I'll adjust my ability to "output" after absorbing information, as well as my ability to think structurally and ask further questions.
I'm studying a master using Claude, for instante, and it's a breeze.
I can understand every problem, ask and explanation for every paragraph evenreorganizae a clearly suboptimal PDF notes from my teacher's class or Latex.
It is an aceleretor of my education.
Tutored by the most intelligent machines in history. And yet… look at your spelling.
:)
(At least it tells us that it wasn’t written by Claude. Maybe you did it on purpose.)
I assumed English was second language
100% disagree with the "stick your head in the sand" defense of AI exposure. Instead, use it to understand along the way.
I had to learn coding when a reference book was all I had to help when I got stuck. Then the Google and StackOverflow came and people complained about no-knowledge coders copy-pasting their way through tasks. AI is just an extension of that.
Yes, you can push out 5,000 line PRs blindly, but you can also use AI to help you speed past blockers, to investigate why things are structured in a certain way, explain what a block of code is doing, propose 3 alternative approaches and explain each, etc.
We say "coding is only part of what a SWE does" but you can't do the rest without understanding what the code is doing and meant to do, and why.
In other areas of life, computers and especially AI have us a real world Pokédex/Hitchhiker's Guide. You can point it at anything and learn about it in as much depth as you desire. You just have to show curiosity and a tiny bit of effort.
With LLMs turning everything I valued to shit, I have turned my attention to nature, ary, feelings, relationships, and the other things that it cannot reach. These things are also worth being curious about.
More pressure to work off hours, boo.
yeah, we've conveniently skipped over the part where pilots are doing their manual training on the job still. This isn't even going into why its a poor comparison in the first place.
> An AI spellchecked this
Spell checking via AI seems... pointless? Unless this is a means of stating "AI did a once-over of this before I hit submit" in which case this is somewhat disingenuous.
Checked also for missing words, incomplete sentences, etc.. Charitable interpretation. Your point stands: If I go back and forth with AI about what I wrote, it’s not “spellcheck” anymore.