I've been teaching programming for 8 years. The students who learn with AI from day one are learning something, but it's not programming.
Posted by Ambitious-Garbage-73@reddit | learnprogramming | View on Reddit | 173 comments
This isn't a "AI bad" post. I use AI constantly. But I need to talk about what I'm seeing in students who start with AI versus those who don't.
The AI-first students can ship. They can take a problem description and produce something that works faster than anyone I've ever taught. Genuinely impressive output speed.
What they can't do: debug without AI. Reason about why their code is slow. Explain what a variable actually holds at runtime. Read an error message and know where to look. Understand what happens when something fails.
I had a student last month who built a working web app in their second week. Legitimately functional. Then I asked them to add a console.log to see what a variable held at a specific point in execution. They didn't know where to put it. They didn't know what "at a specific point in execution" meant. They'd built the whole thing by describing features to AI and accepting outputs.
The mental model of "code as a sequence of instructions the computer executes" never formed. They skipped straight to "code as a thing that does stuff when you describe it right."
That mental model works until it doesn't. When the AI gives you something wrong and you can't tell. When you need to optimize something and don't know where the time is going. When you're in a job interview and there's no AI.
The students who learned the hard way first use AI well. They know what they're asking for. They can verify the output. They use it as a tool.
The others are building on a foundation that isn't there yet.
Not sure what the right answer is. Curious if others who learned recently feel like they skipped something important, or if I'm just being an old man yelling at clouds.
ImScaredofCats@reddit
My students find it frustrating that I won't let them use AI in the classroom to write code but by the end of the year they finally understand it when they can debug without an AI.
AI debugging is a last resort but generation is not tolerated.
synapse187@reddit
How many of them can use the code as documentation?
I've found that, after using Unreal Engine, their code is better documentation than the actual docs.
Is this a rare thing to be able to use the code itself as documentation?
ImScaredofCats@reddit
I think that depends how you plan the curriculum, I demand code comments for every block they write to refer back to it and every program comes with pseudocode and a flowchart they also need to build. Each program builds on the last so the quality of documentation will influence the next piece they write.
That being said I aim for mastery and it works.
barthvonries@reddit
Hot take : comments should absolutely be banned from code, except when the code is taken from somewhere on the web, and only to indicate where it was taken.
Otherwise, when you change the code, you also have to change the comments, and we all know here that under pressure it won't happen, so a few months/years later the comments are completely unrelated to the code.
Instead of comment blocks, you should definitely use self-explaining code with variables names, functions names, the modularity of your code, etc.
But that requires proper code reviews, time to set up, and a healthy team mentality.
kodaxmax@reddit
self documenting code is generally encouraged by the community and popular, specifically becaue nobody likes writing docs and so even offical docs by big companies and up poorly written and missing info.
monkeymad2@reddit
Further to this, inline docs which are validated against the code - like TSdocs in typescript & the inline test things in Rust. Can post process them into separate docs, but the closer the documentation is to the code the less likely it’ll not be kept up to date and go stale.
maujood@reddit
That sounds like the ones using AI don't learn programming at all.
arceusawsom1@reddit
Yeah, why ask the programmer to do something if they are just going to feed it straight into AI, you could just do that yourself.
Lopsided_Cap_6606@reddit
Whenever I tell that people in my coding/IT class they say that they know what to ask. While that's true that is not as hard to learn, though they still produce much faster vibe-coding than I do (our projects aren't very complex, so that may change the efficacy of AI).
What I'm not sure about is whether I should use AI in my private learning, which does speed things up by a lot but decreases the general learning.
Ruy7@reddit
Generally no. You should really try to do it for yourself. Now if you already spent half an hour looking for a bug it is ok to ask an ai to find the bug for you and you should try to fix it yourself.
Learning to debug and fix code is the stuff that will make you actually competitive in a world with ai.
Lopsided_Cap_6606@reddit
At my stage of learning my biggest issue currently is coming up with the code/writing it. I rely too much on AI. Is that okey as long as I can fix bugs on my own or should I reduce my reliance on AI when coming up with the code in the first place (before I can even fix occuring bugs)?
Ruy7@reddit
When you are just starting I believe that writing some stuff on your own is very good for you.
Mostly because you learn how the code is structured and how to read it.
The worst that could happen if you rely way to much on ai at the beginning ,is that it comes with code but you don't understand what it is saying (I have met people like that).
After you have done a couple of projects on your own you will have learnt how code is structured and will be able to read and understand stuff by yourself. This is an important skill.
After that it is ok to ask ai for more stuff. You will already understand what the ai is giving you and will be able to modify stuff if needed.
Lopsided_Cap_6606@reddit
Thank you. I already understand most of the code AI gives me (expect for very mathematical formulas in one project that I wouldn't have come up with by myself), it would have just taken me a lot more time to google a lot and write it myself.
ThrowRAClueBoy@reddit
I think the sweet spot is to use it when 1) you don't have the vocabulary to Google the information you need 2) you want a concept explained in a different way 3) the thing you're trying to use has confusing or non-existent docs 4) you're talking broad design concepts rather than code implementation.
Treat it like a super-charged Google or a TA. You wouldn't ask a TA to just do the coding for you. You'd probably explain your problem and let them give you some suggestions about what you could do.
I think a particularly good situation this works is when you have an X, Y problem i.e. you have problem X and you THINK you need to implement solution Y, but what you really need is solution Z, that you haven't yet considered. It can be good to get an extra pair of 'eyes' on the problem conceptually before you waste hours trying to do something that could have been done in minutes.
Jadevit@reddit
I began coding projects using AI, and despite building some really cool shit, I still don't feel comfortable shipping any of it lol. I feel like a fraud, which is why I have now started going through FCC courses and reading books related to programming, deliberately avoiding AI unless I can't do any of the four you mentioned. It's been A LOT of fun learning to do shit myself.
ThrowRAClueBoy@reddit
Good on you and glad you're enjoying yourself.
I think that the computer science community doesn't do itself any favors in this regard. For some reason, there is a general trend towards 'abstraction-first', rather than 'data-first', thinking when talking about and teaching comp sci concepts.
For example, you'll hear talk about shared memory pools or relational databases or a mutex and it sounds intimidating. Under the hood these are all just data and once you explain the actual data structure or logic, the magic disappears.
But instead people waste hours trying to wrap their heads around the abstraction-level explanation and end up thinking they're not good enough. The same extends to the quality of some documentation. It's like some people actively don't want anyone to be able to use their libraries. Absolutely baffling.
ElFurtivo@reddit
I just started learning Java, made a console program that serves coffee (purely because I'm a coffee nerd and also for fun since it's my first program), a calculator, and a number guessing game. I've been learning from the Head First Java book and only using AI when I have questions about how things work in simple terms, like what does "static void" actually mean, why is it public, etc.
Can you help me with a book recommendation? What can I read to actually understand programming, like the things you mentioned here or what OP mentioned about what a variable holds during execution, etc etc etc?
ThrowRAClueBoy@reddit
'structure and interpretation of computer programs' is a great book and is free in pdf format. There are lots of other good language specific and agnostic books out there too if you Google or watch videos from people like Bigboxswe.
One thing I do reccomend is getting comfortable with C. C is a very beautiful and expressive language with not a whole lot in the tool kit. It forces you to deal with data as, well, data. There aren't really any abstractions to deal with out of the box so it doesn't hide anything from you.
Try to expose the implementation details where possible. Things like database drivers for a given language or frameworks are normally hiding lots of details from you. Poke around in the source code and try to follow a little bit of what's happening. Interrogate what's actually happening 'under the hood' when you learn about a new technology. Asking lots of questions and being persistent will get you far.
Last thing, don't be discouraged. If you look at a block of code or learn about a concept and it goes over your head, just forget about it. Target low hanging fruit, things you can understand within 5-10minutes, and keep pushing out of your comfort zone.
ProductMaker80@reddit
You got my attention. How do you get coffee from a (console) program?
Adraxas@reddit
5) Boilerplate
Aware-Individual-827@reddit
When you are new to programming, boilerplate is still programming experience imo and should not be generated by AI.
doPECookie72@reddit
If your learning, ai isn’t helping it’s doing a lot of things for you. Ai as a tool for tedious things I agree with, but things that require real thought and understanding I generally think it is not good for
Infinite_Tomato4950@reddit
completely agree. you just need to know the basics. then claude code does the work and you just need to monitor it
QuickBASIC@reddit
Yes and no. While I'm definitely not a fan of AI use in programming, I will say that there's a distinct difference between how someone with programming experience and someone without programming experience approaches prompting.
The code is still shit but a normie won't get nearly the same results someone with even a small amount of programming knowledge will get.
Destination_Centauri@reddit
Why feel the need to start your comment with that ultra annoying phrase , "Yes and no,"?!
Your comment stands just fine without it, and "Yes and no" means absolutely nothing.
Well I guess, unless perhaps you're a Quantum Physicist!
arceusawsom1@reddit
But nowadays one person on a big project can write a suite that operates around the LLM itself that will take a shitty prompt and before doing anything else, it will rewrite it.
Statcat2017@reddit
They are learning to be clueless middle managers that casually make impossible demands of their engineers in a random Tuesday standup and insist the feature should ship on Friday because it’s already been promised to ExCo.
Servbot24@reddit
The vast majority of humans don’t know programming yet will use AI
Remarkable-Low-5187@reddit
This feels like giving kids tests with multiplication problems but letting them use calculators. Like yes, there is a tool that can do this much faster than a human, but there’s a reason we make humans learn for themselves before giving them those tools.
AUTeach@reddit
While I know that the teacher said this wasn't an "AI bad" post, it's kinda horrific to think that kids are going through learning how to nerd without doing anything nerdy.
patternrelay@reddit
This feels like a classic abstraction gap issue. They’re interacting at the "describe intent" layer without ever forming the execution model underneath, so when something breaks there’s nothing to anchor the debugging process to. It’s similar to people who learn high-level frameworks first and then struggle when they have to reason about what’s actually happening step by step.
Deep-Enthusiasm-6492@reddit
They can "ship" huh? They don't know how to debug the code but they can ship. AI produce the code, they run it, test it and just ship it. Do they understand the code AI produced?
False_Bear_8645@reddit
So they're learning prompting but not programming. Debugging is pretty much at the core of what programmer do if they skip that they aint programming.
bluehands@reddit
I feel like at some point you would have heard any number of variations of this in the past:
How can you program if you don't even know how many registers your cpu has? If you don't know what an op code is? If you don't know hexadecimal? If you can't allocate memory?
Programming is a new art. Things that most people would recognize as programming is less than 80 years old.
With that said, it is entirely possible that a definition of programming that most people would agree on does not cover what we might call prompt engineering.
So?
Driving a car isn't the same as steering a carriage even if a car is called horseless carriage. Wanting one to be a drop in replacement but faster is the wrong way to approach the question.
It also doesn't mean one is inherently better than the other, just different skill sets that might overlap.
SarahC@reddit
Yes! I've been saying this for YEARS. Then get knocked back because I don't know "react". Pah!
Achereto@reddit
How can you verify that you doing things the right way if you don't know what you are doing? Right: you can't.
kodaxmax@reddit
Are you verifying that the operating system is operating correctly when you program a button? right: you dont need to.
You don't need to know how a motor works to drive a car, anymore than you need to understand back end server ifnrastructure to create a website for cleints or whatever. Yes some specialists do learn and become server engineers and the like. But you don't teach specializations and andvanced topis in an entry level education, especially not week 2.
FrayDabson@reddit
Knowing how to use and how to create are very different things. A person who drives a car doesn’t need to know how a motor works. A person who creates a car does. A person who uses a website doesn’t need to know backend infrastructure but a person who creates one does.
no_regerts_bob@reddit
People who create websites using square space and similar platforms don't need to know anything about the backend. Are those less of a website than the websites made by hand?
False_Bear_8645@reddit
I do. Test from A to B if it doesn't work it need to be solved. If the OS has limitation you have to work around it.
kodaxmax@reddit
Indeed, did that require extensive knowledege on how the opperating system works? Can you explain every line of code and step between the mosue being clcik and the input signal being sent to your program?
False_Bear_8645@reddit
Yes I do, it's a bit of my pleasure to learn unnecessary too much stuff from the basic but I guess even if that question was addressed to me it wasn't about me?
kodaxmax@reddit
You even call it unecassary yourself.
You said "I do", so yes i assumed it was a personal anecdtoe about yoruself.
False_Bear_8645@reddit
And you said "Can you" so yes I assumed that you wanted a personal anecdote about myself so your assumption of my assumption is correct but I'm not sure why you wanted to make it personal.
kodaxmax@reddit
Youve gone way off topic. i did not make this personal. you did twice now.
Using a generative tool does not mean you do not know what your doing. "the right way" is just your way and is not correct. Obviously you can make software with genrative tools. Thats not up for debate, it's happened many times, it is fact.
You dont need a rocket science degree ebfore your allowed to sue a calculator, anymore than using a generative toolr quires a comp sci degree.
No you don't. You are not testing hardware or operating level systems to implement a simple UI button. Why even lie about that? its so obviosuly not true.
FrayDabson@reddit
This exactly. Makes me think they don’t have any test coverage…
AUTeach@reddit
There are apps that let you take photographs of maths questions, and they answer them from beginning to end, including all working out.
Do you think we should stop teaching kids mathematics and numeracy?
Impart-Education@reddit
Isn’t paying a dev agency to produce a program for you effectively the same as prompting an AI to do it. You just give them what you want and boom you have it. I don’t think you’d say hiring a dev agency is coding, so I’m skeptical of why you’d say an LLM coding is programming. Regardless, this is semantics and idrc what tools people use to get a job done.
False_Bear_8645@reddit
They still need to debug the AI behavior to do better prompting. It's more comparable to "you need to think" than "you need to know how many register your cpu has"
kodaxmax@reddit
"you need to think" doesnt mean anything though. Like explain hwo somone suspposed to act on that advice.
False_Bear_8645@reddit
It's not an advice, it's a required skill. As for learning there's many way and no one fit all.
kodaxmax@reddit
No it sins't skill, again "thinking" is vague to the point of being meaningless. Your nto even being consistent with your argument, now that youve switched to "learning" instead of "thinking". Are you implying they are synomous? and again, how is that a cosntructive thing to say?
False_Bear_8645@reddit
Debuging is vague because it depend on the context and you can learn to think it's not context switching. How is it not constructive to highlight the most important skill in a job.
kodaxmax@reddit
is it debugging, learning or thinking? these are not interchangeable terms.
How is constructive? and you havnt justifed the claim that it is most important. Shipping a product that makes the client happy is inhernetly more important for most freelance devs, for example. Besides this is a starwman i never claimed debugging wasn't an important skill, that in fact has nothing to dow ith anything vie said so far.
False_Bear_8645@reddit
First, I'm not addressing a student i am adressing to a teacher. It's his job to figure out a way to teach them the required skill for the job which blindly trusting AI is not and I am validating him in that regard.
Every dev and customer is happy with shipping initial product fast but no one is when technical debt catch them.
If you are not arguing with me about debuging being a core skill then you're talking for the sake of talking.
kodaxmax@reddit
The target audience was not the issue with what you said.
im quite sure hes aware of that. again thats as useless as telling him students need to think.
How?
Thats not unique to using a generative tool, so i dont see the relevance or point.
Ironically thats basically what i am accusing you of. Your just stating obvious vagueries without any actual meaning point and acting like an authority on who is or is not a programmer. Yes debugging is important, what is your point? Yes you often need to debug generateed code? what is your point? yes you need to think, what is your point? yes their are many ways to elarn, what si your point? etc...
False_Bear_8645@reddit
Yes so what's your point? That's a lot of words. Most of my statements has absolutely no point I am just answering to you so if you got no point I aint getting any point either.
kodaxmax@reddit
Had you read the words i wouldn't have to repeat my point and you cant claim to be soley reacting when you made the first comment.
prompting is part of programming, they arn't skipping debugging and if they did they are still programming. None of which is actionable advice to OP.
False_Bear_8645@reddit
Ha i see, so you didn't read op post and ran straight into comment section to fight with everyone. If you're so adamant on actionable advice that he didn't ask for, then go on, give one yourself.
kodaxmax@reddit
I did give him advice. I havn't "fought" anyone. this not a contest. The problem is that you keep behaving as if it is.
divad1196@reddit
You are comparing apple and oranges.
In your example, the things you mentions are being abstracted. People still learn what they need.
You can still learn how to write with a pencil on a paper without know how either of them is made. That's the same for anything, including programming.
The issue here is that people are not doing the thing they are trying to learn. They are not abstracting the tools, they are abstracting the concept completely.
That's how they differ. That's an important distinction.
flukeytukey@reddit
There's a difference. AI outputs code. It doesn't sit on top of any language. It is a tool, not a language. You don't code in AI.
kodaxmax@reddit
They are designing. it's naive to rpetend prompting and guiding an AI isnt a skill in itself.
It's also kinda toxic the way your gatekeeping
False_Bear_8645@reddit
If they can design they can debug and if they cant debug they cant do good prompting.
kodaxmax@reddit
yes, those are all important skills and are not excuses to ignorantly declare "ai bad, you no programmer, me real programmer"
False_Bear_8645@reddit
Fixed for you
kodaxmax@reddit
Why insist on insulting people and gatekeeping? who does your comemnts benefit?
False_Bear_8645@reddit
I'm not insulting anyone you just chose to be offended and I'm not gatekeeping i'm showing them the gate not the wall.
kodaxmax@reddit
Why do you people always insist on playing these games? You know your being an asshole, i know your being an ass, the people who upvoted you know your being an ass, your obviously na asshole. Yet insist on playing at ignorance. Why?
Do you really beleive this somehow makes you superior and correct? avoiding the difficult questions you cant answer, by trying to distract with petty insults and games?
ill let you try again.
How doe susing agenerative tool equate to any inability to debug?
How does lacking debugging skill mean you cant be a programmer? it's not liek you wer born with the skill.
Why do you claiming prompting is not part of programming, when it's clearly ingrained and standard in the industry and showing no signs of changing?
Why do you insist that your not programming unless your doing it in a way you perosnally approve of?
Excellent_Gas3686@reddit
hey, now you're the one insulting!
sje46@reddit
Gatekeeping isn't inherently bad. An artist who just prompts an ai to create horrible images isn't an artist either. They put in zero effort and so shouldn't feel bad if I criticize them so
kodaxmax@reddit
Yes it is.
Yes they are. just because you don't personally like the art doesnt mean it isnt art and anyone who creates art is an artitst, regardless of the eprceived quality of said art.
The mere act of publishing art at all is effort and takes courage.
These examples are not criticms they are insults and borderline libel.
People and opnions such as yourself only serve to scare off potential artists and programmers. It's toxic and the only benefit is a shortlived dopamine rush and ego boost to yoruself.
sje46@reddit
Okay, then I'm glad to gatekeep. If that's how you program, then you're ashot programmer, and you should take no pride in programming. Period.
And i hate gatekeeping in this field.
kodaxmax@reddit
If you don't put any thought into your politics and comments, why should anyone take them seriously?
Why? just because your scared of AI, anyone who uses it should eb a pariah? Thats rather silly.
False_Bear_8645@reddit
I think you're the only person who would give a serious answer to a comment you consider have no through into their politics and comments.
kodaxmax@reddit
Yes, and it's disheartening to see so many agree with it.
FrayDabson@reddit
When did he declare AI as bad? He said you need to learn how to debug your code to be a true programmer. AI can help teach you to debug code. The argument has nothing to do with AI and everything to do with understanding your code. If you choose not to learn how to debug then can you truly call yourself a programmer? Prompt engineering and guiding AI are definitely useful skills. He didn’t say they aren’t. Just that you need to also have other skills. Like debugging.
kodaxmax@reddit
the part where he replied to a post about students using generative tools, by saying that means " they're learning prompting but not programming". You took his comment out of the context of the post. If it did have nothing to do with AI, then i would question how it is relevant as a reply to the post.
How is that anything other than gatekeeping? We are talking about students, who problably arn't calling themselves programmers. yet you and OC are already premptively trying to gatekeep them.
FrayDabson@reddit
If they are using AI to do all the work for them. They are learning prompting. If they are using the AI to ask and understand actual programming principles, they are learning programming.
kodaxmax@reddit
prompting is an important part of programming. Creating code and/or software makes you a programmer by deifniton, regardless of whether you happen to approve of the emthod or not. Regardless your pointlessly arguing semantics (the meaning of "programmer"), soley for the sake of excluding others to make you feel superior. It benefits no oen and you should stop.
FrayDabson@reddit
Call it whatever you want. The only point I’m making is strictly about how one utilizes AI. No right, no wrong, no gatekeeping. If you are using AI to write code then you should also use AI to understand the code it wrote. Do you truly not want to understand what it’s doing?
kodaxmax@reddit
it may be in this comment, but you were obviously claiming far more in the comments replied to.
sure. There cases where i would prirotize just getting it finished over learning, but generally you can and should do both.
skill347@reddit
First of all, you're*.
Secondly, it's not gatekeeping to say that generating code with AI without any coding knowledge is not coding. It's like generating an image isn't drawing.
magick_bandit@reddit
lol.
Ok, let’s play this out. Worker A doesn’t know crap about programming. Whenever any issue at all comes up, they play token roulette until they hack their way to a solution.
Worker B is skilled. They use AI when it makes sense to do so, and is comfortable jumping in when it goes off the rails.
AI stops being subsidized. If you believe the reports, it needs to go up 8-15x in costs.
As a leader with a budget: Who are you hiring?
Take your gatekeeping whining and stuff it. You clearly have no idea how business works.
kodaxmax@reddit
See now, why include this other than to show your not taking this seriously and trying to insult?
Why is work A in charge of programming if they arn't a programmer?
This doesnt make any sense. what is the roullete suppossed to represent in your bizzare emtaphor? Why is it hacking to take multiple attempts to program soemthing? it's not like programming without a generative tool magically makes you program everything eprfectly first try.
skilled at what? Thats not how a generative tool works, it's not some sentient automoton requiring constant supervision lest you need to "jump in", when "it goes off the rails". That doesn't make any sense as a sentence in this context.
Which "ai"? what subsidy are you talking about? what reports? what is going up in costs?
I feel like you thought up an elaborate scenario but only wrote down a few random snippets without any context.
How is that constructive? to just insult somone pointing out your flaws. It only proves me right, that your motive is to insult others to make yourself feel superior. To be toxic and make yourself a gatekeeper.
Why bring up bussiness? we are talking about programming in the context of ane ntry level course. How does my suppossed misunderstanding of "how bussiness works" correlate to any of the arguments either of us have made? and why you would i assume i dont know bussiness, despite litterally running a successful one.
magick_bandit@reddit
You literally claimed prompting is a skill. That skill has zero economic value unless AI can produce 100% of the work at quality, which it can’t.
Move along
kodaxmax@reddit
it objectively is.
Thats not at all correct. Debugging generally doesn't prduce any work at all, does that mena it doesn't count as a skill? AI absolutely can generate work that is useable without any editing. Why is economic value even relevant to begin with?
To be frank, your the one spreading disinformation and attacking people for no reason. Your burden on society and the economy. Certainly to OP looking for advice and people looking to learn programming.
False_Bear_8645@reddit
Haha that's true debugging technically doesn't produce any work if everything just work on the first try.
kodaxmax@reddit
debugging doesn't produce work it is fixing and tweak work that already exists. Sometimes it does result in you need to add more stuff to get soemthing else working, but thats why i siad "generally" and not "always".
AntD247@reddit
Isn't it the same issue as people who learn maths with calculators or navigation via sat nav? They learn how to use the tools but not the principals of the task they are performing.
no_regerts_bob@reddit
I've been writing code for 30 years and I'm not sure this is a bad thing, or that your students that learn the "hard way" are learning things that will be as useful in the future as they were in the past
I was maybe the last generation that learned at the machine code level, writing in assembly language. And it was easy to look down on the next generation that only learned higher level languages. They couldn't possibly use a debugger or understand why they needed to know the contents of a register at a certain point. How can you program a computer if you don't even know what the CPU is doing?
And yet they did write code and they did build amazing software. And my low level knowledge of the architectures quickly became outdated by newer architectures.
It's not hard to find parallels between this post and things I heard people say what back when I was starting out
ghoztz@reddit
This is the right take. There’s a new layer and a new way to do things that isn’t going away and it’ll only get better and faster and cheaper. Learning how to communicate with AI — direct it — is the new skillset to hone. Code is disposable now. Apps are. It’s just a different world.
Side note: As a technical writer, I find it ironic that engineers have aggressively tried to belittle and reduce my career as completely replaceable and yet they balk at the same prospect for their own, more deterministic, work. If you think what an LLM outputs reading your code is 100% of our job, you’re 80% wrong lol. Every profession is a craft to be respected. But the tools are demonstrably lowering the barriers and blurring the lines across the board.
liyayaya@reddit
I think a critical difference is the type of abstraction that is introduced.
When I learned programming 15 years ago, we had some classes about registers and assembly language. However, in day-to-day work it did not really matter to me, since I never directly interacted with them. There are layers of abstraction built on top of other layers of abstraction to make programming easier.
Now the question is: Is AI just another layer of abstraction?
I would say not directly, because AI is not deterministic.
When I write "i=i+1", at the end of the day the value stored in memory will be incremented by one every single time in the same way. I do not need to check if this really works.
When I prompt an AI, the code that is generated is not deterministic. I need to review and understand what has been produced every single time. In order to review it, I need to at least understand the next deterministic layer of abstraction, which currently are higher-level programming languages.
In my opinion AI is an amazing productivity tool, but to use it in mission critical systems it requires somebody who knows what they are doing to operate it.
throwaway8u3sH0@reddit
Do you, though? Or do you just need to verify behavior 80% of the time. And 20% of the time you need to dig down and review the code. There's a difference between that and "every time."
I think it's changing...
throwaway8u3sH0@reddit
Yeah this is my take. AI-prompting will be the new coding, and people will "drop into the code" in the same way we drop into assembly -- only on certain edge cases.
We're not there yet in terms of reading code, but I think I probably won't ever have to fully write a line of code ever again.
We have a "natural language compiler" that's maybe 80% correct. There will be techniques for using it -- best practices similar to those for higher level languages. It'll arise out of fixing whatever holes the "compiler" has. Maybe best practices for maintainable prompted code, or best way to ensure component reuse in prompts, or something similar.
It's the next level of abstraction hitting our industry.
0-aether-0@reddit
I think this is a mis-aligned comparison.
Compilers of higher level languages are deterministic, and were developed rigorously by institutions. A->B, You can be confident that the same input generated the same output and that the transformation was handled correctly. If not, there is a high chance that it's not just a problem for your code and will be fixed fast.
LLMs? By the nature of things you can get A->B, C D or Y. There is no way to guarantee a certain output. So you are just reducing the expected error by scaling the agent and models to check it more often. (You are also risking to be stuck in loops of different models disagreeing, anecdotally I had Claude change things back and forth between two solutions and munching through tokens...)
That's what makes the difference imho to changes from assembly->c->third gen languages to even nocode tools (the later ones being less ridiculously developed and often not much better than ai sadly)
I'm not saying good software won't be written with AI tools.
School / university projects have one in common: their scope is small and if it's a lot of code it's 90% boilerplate stuff (that I always found idiotic, if something behaves the same 80% of the time don't let me generate it 100% and instead let me override it in the ones where it differs, we always tried to create tooling to generate boilerplate). Sis are great in that. So students learn you can make sizable weg Pages if it's boilerplate. Sure.
But real software is big, unwieldy, changed core concepts and patterns used over its time or bent the used ones after it was realized that they were not optimal for the use case that emerged. Ai does not work well with none standard code. You will have to debug sometimes. And if there is nobody that knows how to anymore, good luck having a solid up time.
(No, more time will not solve this. It's in the core, the concept, how those models work. Could we get ai models on different principles that solve this? Sure. But thats not what this AI boom is about)
NoponicWisdom@reddit
That's a super interesting perspective! Maybe I just lack the imagination, I find it hard to imagine that programming will become completely obsolete. Higher level programming is still programming, you have to tell the computer unambiguously what you want it to do or what the exact structure of the solution is. Prompting in natural language doesn't have this precision but you can talk to the AI until it seems to do what you want.
Do you see a future where we can build reliable and good software without having to understand any of the underlying principles?
unidentifiable@reddit
In the same way that you can code entirely in C# without understanding how assembly is written, yes.
You actually don't. It's pretty remarkable what this current generation of AI is capable of. Claude Opus and Mimo have astounded me when I gave them very vague descriptions of my intent and they turned around and 1) Asked me questions to clarify things and 2) Generated very usable output from the very vague prompt.
I don't expect that "programming" will go away, but I do think it'll look a lot more like "prompting".
no_regerts_bob@reddit
That's the question, and I don't know the answer. But signs point to yes imho
kodaxmax@reddit
The same argument has been made since man discovered tools. Have a look about what people said about the printing press, biros, digital calculators etc.. Just gatekeeping born from isntinctual tribalism.
False_Bear_8645@reddit
I've been coding for 15 years and still learned many thing closer to the machine when it just happened that I found a use case or a weird edge case bug. I've used plenty of tools and framework but they are never perfect. At the end, fundamental is permanent while new shiny tech change all the times.
no_regerts_bob@reddit
That's true, but that's been a lot of programmers for a long time. Not at all a new thing
Uhrl@reddit
I think more people need to hear this. It's a constant cycle just like when the Internet came about and how it affected learning/working. When I was in university, we were googling relevant code and modifying it to suit our needs. AI just makes that step faster. AI won't be going away anytime soon and there are some clear benefits and pitfalls. If we can find that sweet spot of usage and optimizing the way we use it then it'll be a great tool. It's just unfortunate that most people, especially younger students, will just want to take the path of least resistance.
saad_tariq63@reddit
Nowadays AI has stolen the student's ability to solve a problem, if a student who videcodes faces a bug or error, he/she will not think about solving the bug on their own, instead he/she will ask AI to find and even fix the error. I believe that AI is just a new tool and can be used to explain complex bugs that a student might never have figured out alone, to me the danger is not the AI itself, but how it is used.
marclurr@reddit
Those students were the ones that previously could fumble their way to working software. They were usually quite bright so could do a nice job in exams to prop up their mediocre at best programming. They would go on to get decent paying jobs and just float through their careers not really learning anything new because they were never that interested in programming, it was a means to an end. They usually end up as middle managers. The bar is now way lower for that kind of person.
noitcerid@reddit
Well I feel attacked... 😂
ImNotSelling@reddit
Is it really lower? You think a talented vibe coder will genuinely be more successful than traditional programmers in the future
marclurr@reddit
I don't know, depends how you define successful. What I mean is now there's a tool that can do "just good enough" in even incompetent hands. The bar is now even lower for people who only learned enough to advance the career ladder. That said, perhaps the oversaturation of those candidates will make them extinct? Who knows? It's a really weird time for tech workers.
Dull_Industry_8691@reddit
The frustrating thing is that in the short- and mid-term these students have immense advantages because they complete their lessons way faster and can use the rest of the time for other things that advance their career (networking etc.). When you properly learn how to code you only have advantages in the long term but you might never get there because AI-students outcompete you in every metric before you even get the chance to prove your skills. In practice that makes it almost impossible to properly learn how to code, if you're not just doing it for the love of the game. Truly dystopian stuff.
kamratjoel@reddit
This is very noticeable among my classmates. I use AI to some extent, mostly as a learning tool or when in stuck debugging something that I’ve tried solving for at least 30 min.
But a lot of my peers just do everything with it, and it’s very noticeable when coding together that many of them have no clue what’s going on.
They prompt AI to do something and can’t spot the obvious problems with the code presented to them, when there’s room for optimization, or when it’s just a really bad solution.
JustinTheCheetah@reddit
"This isn't a AI bad post" proceeds to explain in great detail the reasons we say AI bad for learning programming.
mancunian101@reddit
There have been studies, including one by Anthropic, where they found AI use lead to cognitive decline.
I guess it’s the same for learning anything. If you can get AI to churn out a report or essay and all you do is change a few words etc you won’t have learnt anything from doing the research.
You could explain why you felt that approach a was better than approach b, because AI made the “decision” for tou.
AutoModerator@reddit
Your submission has been removed because it received too many reports from the community.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
divad1196@reddit
I have been teaching for about 9-10years. My experience is different: student that start with AI on day one are unable to do things themselves, not just debug.
Before AI, when a student failed to do something, I would explain, then they felt they understood and wanted to move to the next step. When I asked them to explain they couldn't. Some objected they cannot explain but can do it, so asked them to do it and they couldn't.
My years of experience teaching showed that learning comes from self-realization. One of my favorite quote is "If you teach a man anything, he will never learn" from Bernard Shaw. Then, it's the repetition. Repetition carves things into your brain. Repeating simple things is like a maintainance for your brain. Many devs use AI to do the "simple things" and slowly forget how to do it without realizing.
To be clear, beginners who use AI from.day one are not shipping. AI is.
I am also not against AI, but used wisely. Giving it to a beginner is bad. Similarly, I don't teach docker right away to beginners because they will never learn why they gained from it. I make them deploy manually to feel how annoying it is, then using bash to see how automation helps, then ansible to see hoe easier it is to deploy on many machines and use building blocks, then docker when they have issue with the environment.
I have read many books about coaching and leadership in order to become a better leader, and they all agree on these things. That's where the quote comes from btw.
Icy_Top_6220@reddit
The solution is to let them fail upwards, the tech CEOs want this so let them reap what they sow
brstra@reddit
If you can’t debug you don’t understand how things work, hence you are not a programmer.
Sibexico@reddit
AI is helpful if you have strong programming background. I'm 25+ years in the industry, so I'm using AI, as example, to make comments to pubic interfaces. As well, if I'll ask AI to generate some code - I'm able to make audit of the code. And, for sure, more important thing, I know what exactly I have to make prompt to have predictable result. I'm teaching programming as well (more than 8 years) and I see some students who using AI from day 0. My strong recommendation to not do it. Because, basically, "Prompt Engineer" and "Software Developer" - it's totally different. Since I'm teaching exactly software developing, I'm not using AI in the education at all.
BlueSoup10@reddit
AI generated post complaining about AI
UfnalFan@reddit
Reddit is borderline unusable at this point outside of niche hobby subs
FrayDabson@reddit
I can say I have had a different experience but I’m just one person. I learned programming through AI but by myself. No one else. It started rough for sure. Couldn’t debug for shit. Couldn’t explain why things didn’t work. Spent hours, even days, undoing a giant mess I made trying to fix a problem I didn’t understand.
Over time it finally clicked to me that I need handle things differently. I sent way more prompts to the AI asking how things worked, if it was efficient or what other people would typically do, than I sent asking to write more code.
Built a full stack deployable application at work by myself. After I changed my approach, I began to understand how things work much better. I actually enjoy using a debugger and setting breakpoints and setting up stack traces and log trails. Things that I hated before because I didn’t know what I waa doing. My codebase, while not perfect, is clean enough that adding new features is so easy with proper DI and typing. My biggest problem was around test development. That took me a little longer to properly grasp but now my codebase has great coverage.
Idk guess I just felt like sharing my experience. I am so happy AI became a way for me to learn things I never could before. My app at work is going to be available for purchase by our customers next month and is forecasted to make them a lot of money.
Vladplaya@reddit
I believe the proper term is "Promt Engineers"
Alarming-Low-8076@reddit
I graduated 2019, electrical engineering but with programming classes (minor in cs) and I want to relate this to how students used to cheat compared to how you are seeing it now and how it effected us.
I saw other students cheat (and yes, I sometimes followed), by uploading the questions onto those sites that walked you through the answers or otherwise googling to find the solution and many students would simply copy and not try to challenge their thinking into reproducing it.
Versus. Another batch of us also sometimes used those sites too, but would try to solve a little first, then use those sites to try and understand and reproduce the solution in slightly different ways.
At least for me, this led me to getting mostly As (graduated with a 3.9+gpa)even when I couldn’t use their resources. And while I’m not working at a huge company, I’m decently respected for my age and experience where I’m at with my company.
So relating that back to cheating with AI, I think there will be those who truly just copy it. there will be those who refuse to use it all, and those who will use it but in ways to help themselves get a better understanding. And I think all 3 groups will land themselves differently
Darkexp3rt@reddit
This can also happen if you rely on AI too heavily partway into your career. The skills you have developed will atrophy.
FineNectarine105@reddit
With a lot of things going on in life, it was difficult for me to finish my course. My forte at that time was css and using google formulas that I learned on my own by using google searches. I did think about getting a developer to create an app for me but it was totally out of my budget.
Then came antigravity. These past few months of using it, I managed to create and revamp three working websites and 5 apps. I started to learn more contextually on how to deploy, what terminal commands to use. More was done, and more starting coming in the pipeline. Been improving the quality of my life with the apps I make for myself.
I might be a bit different though since I wasn't afraid to get my hands dirty looking through codes. I admit, a lot of things I don't know but I now spend more time looking at codes and getting used to the placements compared to before when I used to spend 90% of my time looking for the right tutorial on youtube.
Yes, I wouldn't learn codes as much as someone learning to code traditionally, but compared to my previous struggles, I'm learning to code a lot more now because I spend lesser time reaching dead ends.
Rogue_Tomato@reddit
Scripters vs programmers. The latter are engineers, the former are button pushers.
L4gsp1k3@reddit
This sounds like an IT-Supporter calling another IT-Supporter for the task he was hiring to do.
FlakeOrg@reddit
The line between using AI as a tool and using AI as a cheat is a very blurred yet visible line. I think they crossed the line. Not being able to put
print("Hello World");or such simple line in a function is a very big red flag.I personally try to limit AI use for both the environment and for my learning, and I think you should do that too. Don't ban AI completely, but don't let it slide easily. I'd say something like being able to explain what each part of the code can do and being able to modify it with minimal bugs is a solid rule.
crashomon@reddit
If the goal of programming is to get somewhere, does it matter HOW you arrived there?
My biggest beef with college programming (LONG TIME AGO, Pfe-9/11) was their classes taught you how to build a car by explaining metallurgy, electronics and physics.
Why not just teach us how to drive? Then how to change oil? Then, how to repair engine, then how to create engines? Why must we start at the atomic level?
Drove me crazy. Finally took a Visual Basic class and that made sense to me.
ClearCandidate971@reddit
students who copy/paste from ai work is not learning with ai
TreasurHunt@reddit
Bs. I learned with ai first and can do everything you said.
Taiqi_@reddit
I use AI in my workflow - I mean, it's hardly avoidable - but I know I always have to check what it gives me and see if it is what I need. This can only happen because I know what it is telling me, and when I don't, I know what to look for to get a better understanding. For me, it is like having a colleague that gives helpful hints every once in a while.
For students, however, AI in general is equivalent to a graduate standing over their shoulder and giving them all the answers. It is not helpful, and it should not be accepted.
That said, there is an AI tool out there designed for students. Rather than giving answers, it nudges them in the right direction. I saw the ad for it somewhere, but I'm not sure the name - is it this one, Kiro? Either way, finding something like that would be best if they have to use AI, but really and truly, they could just collab with their classmates to achieve the same 🤷 or that might be me being an old man yelling at clouds.
With regards to testing their actual knowledge on the concepts, you may have to consider doing projects in multiple parts, using techniques like the instance you mentioned and weighting those more than "simply getting it done".
fugogugo@reddit
he become product manager
AUTeach@reddit
You need to assess them on what they can do without GenAI. You should probably do some frequent low stakes testing until they get used to the idea that they need to know how things work.
WorkingTheMadses@reddit
They are learning to be managers, I suppose. Not programmers though.
This is hardly suprisingly?
HexspaReloaded@reddit
I’m a musician, which is kind of a programming job. It’s common for guitarists to be self-taught. They can play and write without training, but I hit a wall only learning the fundamentals could help me overcome.
Point is, it’s valid for them to get in and make things. A couple things will happen:
They say, “Cool,” and don’t pursue it.
Pursue it but wash out because it’s hard.
Pursue it while being dependent on others to fix their mistakes.
Pursue it and actually study.
Yell at clouds! That’s your job. The last category will thank you.
TechnicalWhore@reddit
You are talking about inductive vs deductive reasoning and its always been an issue. What has happened in the past when this gap occurred is the curriculum was enhanced to fill the void. I've met many seasoned professionals who are very productive and clever who had trouble debugging.
KestrelTank@reddit
When I was in High school we had lessons on how to do online research for assignments and how to pick reliable sources.
I think we need these for using AI too. It’s not going away any time soon and learning how and when to use it can help establish the same things that has been taught about doing online research.
I personally use AI to help me with learning coding but I’m deliberate in how I use it. I’m not using it to solve a problem, I’m using it to help me understand. Like explaining things line by line, or how variables are moving, and giving me boilerplate and then writing it myself and learning how I can adjust to what I want it to do.
(I really want to comment on how often schools end up teaching that you just need to provide the correct answer vs learning and how to learn something but thats is a separate topic, but I wonder if that exacerbates this issue)
I have absolutely run into situations where the AI is initially wrong in its explanations, but this gets caught in the process of explaining things line by line in details and then me trying to apply it in different ways and troubleshooting.
It can be a very helpful tool if you use it right and if it aligns with your learning style.
I’m “Fuck around, find out” learner, show me the big thing and let me break it down to figure out how the small things work together.
But someone who learns better through researching and learning the small things and then using that knowledge to build up to a learning a big thing, maybe won’t benefit from using AI in the same way.
wayne0004@reddit
Before the apparition of AI tools, I went to a programming course in my city, where they started with the very basics using Python. I had programming experience but not with that language, and passing the course allowed me to enter an associate's degree, so I found myself doing the exercises quite quickly, so I helped around all the time.
There were students that were overwhelmed by the entire concept of programming, but they tried to overcome those difficulties. But then there were the ones that used Google to search for the exercises, or even asked in Facebook groups for the answers. And quite often those answers included concepts that were way above the ones we saw in class, it was so obvious.
logicbored@reddit
An analogous model to test this against is cooking where by there are levels of “cooking” and everyone can cook (or learn how to cook).
If a dish made has a problem - how would that person know what caused and how to fix it to improve the taste?
It seems to me it is up to those who want to make themselves and their dish more distinctive will be learning and understand the lower-level details.
Those who see it as a craft will likely continue to want to go deeper in their understanding of how things work to give themselves an edge.
Fearless_Bake_746@reddit
In my opinion AI good using for testing some ideas, but for production now its bad idea
Enough_Ad_696@reddit
Bonsoir, est-ce que vous donnez des cours en privé pour un débutant ?
spinwizard69@reddit
This makes me wonder why you allow them to use AI at all! Beyond that I’ve been of the opinion that programming is easy, that is the code creation. it is the debugging and structuring of software that is the challenge.
yyellowbanana@reddit
Using AI is faster. But not fun. Like its takes away the joys of programming.
Garriga@reddit
This is why students should learn program logic and fundamentals. Pseudo code and flow charts. So they know what they are looking at. Syntax gets heavy. And it can come later
Drekhedd2@reddit
I've been in a bridge program for a Comp Sci master's program and really learning how to code for the first time as part of it. I have found AI to be an invaluable tool, as long as I use it as a tutor, a learning aid, and not as the primary source of my code
It is great when I have specific questions or when I am trying to debug and missing something, but I could see how it could become a crutch as it would be all too easy to give up trying to figure things out on my own.
I have also taught (other subjects, obviously) in the past. If I were in your shoes, I think I'd have conversations with your students about personal responsibility when it comes to their learning, and. maybe come up with some assignments that reward folks who learn the fundamentals. Some of them will take to it, some of them won't...and that's OK.
MihaiBuilds@reddit
this is real. I use Claude every day for my projects but having years of debugging PLCs and legacy systems first means I can tell when the AI gives me garbage. without that foundation you're just hoping it works. AI is an accelerator, not a substitute for understanding what's actually happening.
Javanaut018@reddit
Frag mich jetzt, ob das in die Richtung läuft, das die Leute irgendwann kein Assembler mehr konnten bzw damit optimieren, sondern nur noch Hochsprachen. Oder ob die Veränderungen noch viel weiter gehen werden...
Rainbows4Blood@reddit
On some level it's the same as with other abstraction layers as before. It's hard to optimize for cache locality if all you've ever learned is JavaScript. Which isn't necessarily a bad thing. We always added abstractions to make ourselves faster, sacrificing our understanding of the foundation below.
And for a lot of use cases this might even be enough. Until it isn't.
Time will tell if being a pure prompter will be too much lost skill or if code prompter will be a legit job in the near future.
m12s@reddit
Personally, i believe this is just the educational system lagging behind quite a lot. Which isn't surprising since the technology is paving the way incredibly fast. But in reality, this is just one more thing that needs to be taught to students, and then they need to consider if they will follow the advice or not.
Students need to learn how to use AI responsibly and as a tool in their workflow. Just like some math books that have the answer key at the end, AI can be "an answer" or it can be "an assist in the path to "my" answer". Responsible use of AI will be a defining factor in these peoples careers and future lives, as well as their education.
The problem is, most (that i know of) educational institutions aren't familiar or acquainted with AI beyond some self-taught experts and enthusiasts. So the baseline knowledge is completely reliant on how intelligently these people have been adopting AI since day one.
For this specific post however, i'd say why not take 10 minutes from a lesson to talk about responsible use of AI and using AI as a tool? Seriously, 10 minutes is all that's required. Just like teachers previously would say: "It's weird how a lot of the past submissions were so similar to that example online", it's perfectly fine for a teacher to address the elephant in the room and talk about learning methods concerning new tech.
DiscipleofDeceit666@reddit
The right answer is to use AI as a godlike reference manual, not as a creator agent.
Dissentient@reddit
Those are the same kinds of students who made fizzbuzz viral 20 years ago. It's just that LLMs allow them to produce functional software now. Though to be fair, so can do most people who know how to use a computer. So I'm not entirely sure what their value is. You don't need four years to learn how to use claude code, a couple of weeks is enough.
Zuparoebann@reddit
You're just an old man yelling at Claude
aqua_regis@reddit
Clearly an AI yelling at AI
aqua_regis@reddit
You also were on 40 hiring committees this year
You have time to review 6 months of AI code
And then, you offer to fix Python/JS code for $10-$50
What else? I call fraud on every single point.
This seems to be the single truth here
And definitely to write your reddit posts - which violates Rule #13 of this subreddit.
Don't get me wrong, the gist of your post is right, the execution, however isn't and nothing of what you claim to be is even remotely credible.
e430doug@reddit
You’re allowing them to use tools to develop the software but not allowing them to use the tools to debug. How odd.
Organic_Artichoke_85@reddit
I taught programming for 7 years. This was before the AI craze and I would tell my students. If you run into a problem that you cant solve, be sure you have gathered all of the information you can before coming to me and I will do my best to steer you into discovering the answer so you can learn more about the problem and your ability to solve it. Dont come to me for the answer because if I give you the answer, the only thing you will learn is that I know the answer. AI has completely skipped this step for most people. They just give a partial description of what they want and learn that AI knows the answer and then their worlds fall apart because they cant fix it and the AI just tacks on more hallucinations onto what it already hallucinated.
RealNamek@reddit
They're learning how to Google; it's literally the same things we have been doing for decades as professionals. however as STUDENTS, you shouldn't be copying pasting code you find on stackoverflow, the same way you shouldn't be copying and pasting code you find using AI. the only difference between stackoverflow and gpt code is how quickly you can get the information.
Kriscagle3@reddit
Thank you for this perspective. I am currently in school and admit I use AI more than I should. While I understand the process, I don't think I'd be any good without it, at least right now.
tresorama@reddit
Being bad at the first months is normal. But over time you understanding must increase (you are learning). Bad signal is if today (day 60) you have the same understanding of day 5. Use ai as a slave-teacher and chose concepts you want to learn. Guide the program of concepts to learn.
Spend time adding debugger statements in the code and see variables value changes after each line of code. This was gold for me when I started (pre AI era)
Kriscagle3@reddit
I agree and I do see my progress. I appreciate you, thank you!
Hot-Profession4091@reddit
I imagine folks were saying similar things about kids learning C before assembly some years ago.
KyraSellers@reddit
My html cs and Js teacher shoehorned us into ai. As consequence I can’t do anything with those myself without great effort. I feel severely kneecapped by this. Even his technique of teaching us debugging was “ask your handy little AI tool.”
For my c# he took the time to teach us and went deep into code example and theories. C# is a lot more fluid and understandable. I would never recommend learning from AI. It’s not worth it.
zincifre@reddit
I'm so sorry for you having to be so optimistic.
DigmonsDrill@reddit
Why did you ask them to add a console.log()? Is that a feature someone needs?
I had someone write me a program using Java. I asked them what assembly instruction was involved at a given step. They just stared at me.
inventiveEngineering@reddit
well, your observations in the classroom arent new. I guess teachers experienced something similar decades ago, when small handheld calculators were introduced. Same principle more or less here. A student without fundamentals can calculate big numbers, but she cant explain why.
TNYprophet@reddit
Weighing in as one of the first adapters of AI in coding. 2 months into my education (right after learning basic HTML) as a front end developer, chat gpt dropped.
Our teacher told us right away to use chat gpt, and to adopt it as a tool because it's the future. I did, but I was very specific of HOW I used it. I was, and still am very proud of producing something of my own volition.
I used it as a mentor, blocked it from writing code, but it was allowed to explain logical concepts, problem solving, or ask me critical questions about how I was thinking. Everything you mentioned, I still had to learn. And I am glad I did.
Out of my class (39 students) only two got jobs. I was one of them. Most of my classmates used it how you are describing it. Albeit less efficient since it was an earlier model. And most outright failed their interviews and couldn't, and still can't get a job.
I still have a lot of impostor syndrome, despite having success in my career as a developer, because I feel as though I "lack" something only those "hardened" pre-AI devs have.
I think, the only reasonable way forward for learning development is to not allow code generation tools, but do allow that permanent, always available "AI Professor" at their disposal. I have interviewed devs who completed their education the way you describe, and the lack of problem solving, understanding, or language around code is making it very hard to justify hiring, or even internships.
Outrageous-Ice-6556@reddit
Great advertisement to not go to university. 2 of out 39 got jobs.
Artistic_Technician@reddit
I teach medical students.
Its the same issue focusing on knowledge outcome rather than process and principles that work when the normal.method doesnt.
We're all facing the same generational change in approach. I dont have a solution. I hope you might.
I'm reminded of a quote describing training special forces. Give a guy a $50000 dollar helmet that tells him where it is and where hes going and pray it doesnt fail, or teach him how to do it so he doesnt need the kit and know he can do it with just a map and compass.
lolsteamroller@reddit
To me it's the concept of management (managing features/issues by utilizing and executing AI-made plans) vs engineering - ensuring you understand the how the system is supposed to work, the tradeoffs, abstractions.
Even with AI nowadays, if the code for me isn't readable/cohesive - made with some intent, it will be rough going forward to even continue using the AI on top of the codebase.
For me programming was always two seperate processes, one was solving the problem, and other was just writing the execution flow. AI can do both, but obviously checking whether the approach is good is the core skill, and the execution, well usually language specific just needs to be with intent / easy to digest and maintainable/scalable.
lasfdjfd@reddit
i'm finding that a lot of the ai assisted projects i've looked at are missing features too. stuff like auth not being fleshed out, scaling not being considered, logging being insufficient. it's at the level of works on my machine because the user didnt consider those to be features.
iAmBlakeYerian@reddit
This is exactly what happens in mathematics with a graphing calculator. I have calculus students who are a full gradient from very bright to totally incompetent. Whether they use technology as a tool or a crutch is up to them and their environmental enforcement, it’s a blessing and a curse depending on factors out of my control. It isn’t the calculator that’s the problem, it’s the teachers who give a curriculum that can be socked by plugging into a calculator and the students who only wasn’t to get through it rather than learn how to think.
People who want to be good developers want to learn in how to code, given the right environment. I’d say those types will dominate a smaller market cooking forward and those who don’t care will be off doing spritzing else
dadvader@reddit
This is pretty much why people are calling AI 'multiplication' Those who can read code and understand syntax will basically know instantly what is working and what isn't. Learning programming is still important because of this. And people who recognize the strength/weakness of AI will go much faster than people who doesn't.
JohnBrownsErection@reddit
I started coding around 2017 or so. I use AI when I code now, primarily to help with debugging.
It works magnificently as a sort of digital rubber duck and also translates errors from libraries into plain English pretty effectively.
10/10 would use to augment my skills again