I am not sure how many other people on here are old enough to remember, but I first learned to program before I had the internet. I had to read books, and then if I was trying to figure out how to do something, I would have to figure out which book to look it up in, and then figure out where in the book to find it and how to apply it to my situation. It made me learn a ton, because I would have to read a lot of books to even know where to look; I had to do my own āscraping and indexingā.
I remember as the internet took off and you could just search for things, I thought it made programming too easy. You never had to actually learn how it worked, you can just search for the specific answer and someone else would do the hard work of figuring out how to use the tools available for your particular type of problem.
Over the years, my feelings shifted, and I loved how the internet allowed me to accomplish so much more than I could have trying to figure it all out from books.
I wonder if AI will feel similar.
shichtoday at 8:31 PM
The pilot analogy hits different when you consider that pilots still train on simulators for exactly this reason ā they're legally required to maintain proficiency even when autopilot handles 99% of flights.
There's no equivalent mandate for software engineers. Nothing stops you from spending years as a pure "prompt pilot" and losing the ability to read a stack trace or reason about algorithmic complexity. The atrophy is silent and gradual.
The author's suggestion to write code by hand as an educational exercise is right but will be ignored by most, because the feedback loop for skill atrophy is so delayed. You won't notice you've lost the skill until you're debugging something the agent made a mess of, under pressure, with no fallback.
archmastertoday at 8:18 PM
I've seen a lot of posts like this one, but this is the first to encapsulate how I feel so well.
Honestly, I don't really know what to do. I spent my whole life (so far; I'm still very young) falling in love with programming, and now I just don't find this agent thing fun at all. But I just don't know how to find my niche if using LLMs truly does end up being the only way for me to build valuable things with my only skills.
It's pretty depressing and very scary. But I appreciate this article for at least conveying that so effectively...
cedwstoday at 7:00 PM
We should be very concerned for the next generation. When you have the constant temptation of digging yourself out of a problem just by asking an LLM how will you ever learn anything?
My biggest lessons were from hours of pain and toil, scouring the internet. When I finally found the solution, the dopamine hit ensured that lesson was burned into my neurons. There is no such dopamine hit with LLMs. You vaguely try to understand what itās been doing for the last five minutes and try to steer it back on course. There is no strife.
Iām only 24 and I think my career would be on a very different path if the LLMs of today were available just five years ago.
skepticATXtoday at 4:06 PM
Reviewing code is absolutely different from writing it, and in my opinion much harder if the goal is more than surface level understanding.
This is what I am still grappling with. Agents make more productive, but also probably worse at my job.
dh2022today at 10:40 PM
Re: "reviewing code is very different from producing it, and surely teaches you less" - I feel this so much when reviewing the code one of my coworkers writes. My coworker makes plenty of mistakes and I learned the hard way that reviewing his PRs in a web page is not enough. These days when I have to review his code I download his branch locally and load the entire solution in the IDE. I then track his changes and usually find a few things wrong.
BTW - my coworker is not AI. It is a flesh-and-bones SWE.
borzitoday at 6:15 PM
> For example, to add pagination to this website, I would read the Jekyll docs, find the right plugin to install, read the sample config, and make the change. Possibly this wouldnāt work, in which case I would Google it, read more, try more stuff, retest, etc. In this process it was hard not to learn things.
How is this any different than building Ikea furniture? If I build my "Minska" cupboard using the step-by-step manual, did I learn something profound?
scuff3dtoday at 11:23 PM
What the fuck are people working on where it's possible for the LLM to just add entire features. Refactors and class/method level code can be impressive, anything highly structured with good guard rails. As soon as things start to reach beyond that it falls to absolute garbage.
twodavetoday at 6:32 PM
I find the opposite is true for me. In my wheelhouse I can use an agent to do a thing, and I can be very critical of the implementation. Outside of my wheelhouse I actually learn quite a lot by watching the agent solve a problem. Since I do have a strong background I am still able to judge the overall approach and identify obvious stupid things the agent tries to do. I would say the code quality is probably a bit worse in those situations than I would have ended up with, but takes about 1/3 of the time. The most difficult part is opening a PR and worrying there might be a couple stupid blips left that I missed, didnāt affect the implementation, but my coworkers are going to look at and ask me wtf I was thinking
thesztoday at 5:10 PM
> I do read the code, but reviewing code is very different from producing it, and surely teaches you less. If you donāt believe this, I doubt you work in software.
I work in software and for single line I write I read hundredths of them.
If I am fixing bugs in my own (mostly self-education) programs, I read my program several times, over and over again. If writing programs taught me something, it is how to read programs most effectively. And also how to write programs to be most effectively read.
Robdel12today at 6:40 PM
Whether we want to accept it or not, weāre now QA. Thatās not derogatory, at all.
But I donāt think the answer here is to double down on reading the code and understanding that deeply. Weāre rapidly moving past this.
I think the answer is to review the code for very obvious bad choices. But then itās about proper validation. Check out the app, run the flows, use it for real. Does it _actually_ function?
Or thatās what is working for me. I cannot review all the LOC and Iām starting to feel like I donāt want.
omoikanetoday at 4:10 PM
> reviewing code is very different from producing it, and surely teaches you less
Maybe he meant "reviewing code from coding agents"? Reviewing code from other humans is often a great way to learn.
getnormalitytoday at 10:24 PM
I think this author could consider thinking of the AI as more than just a task rabbit that allows us to not code, not think, not understand.
If the LLM is indeed such a master at complex coding tasks that we don't understand, why not ask it some questions about how the code works?
You can even ask directly about the concern. "I am worried that by letting you do everything I am not learning how the system works. Could you tell me more about what you did and how I might think through it if I needed to do it myself?"
flyinglizardtoday at 3:43 PM
This is why I still haven't embraced agents in my work but stick with halfway manual workflow using aider. It's the only way I can keep ownership of the codebase. Maybe this will change because code ownership will no longer have any value, but I don't feel like we're there yet.
LetsGetTechnicltoday at 6:42 PM
[...] since I work at an AI lab and stand to gain a great deal if AI follows through on its economic promise.