> Most people do view obtaining a degree as just a hurdle to getting a decent job
Then fail to actually learn anything and apply for jobs and try to cheat the interviewers using the same AI that helped them graduate. I fear that LLMs have already fostered the first batch of developers who cannot function without it. I don't even mind that you use an LLM for parts of your job, but you need to be able to function without it. Not all data is allowed to go into an AI prompt, some problems aren't solvable with the LLMs and you're not building your own skills if you rely on generated code/configuration for the simpler issues.
I think, rather than saying they can’t do their job without an LLM, we should just say some can’t do their jobs.
That is, the job of a professional programmer includes having produced code that they understand the behavior of. Otherwise you’ve failed to do your due diligence.
If people are using LLMs to generate code, and then actually doing the work of understanding how that code works… that’s fine! Who cares!
If people are just vibe coding and pushing the results to customers without understanding it—they are wildly unethical and irresponsible. (People have been doing this for decades, they didn’t have the AI to optimize the situation, but they managed to do it by copy-pasting from stack overflow).
> That is, the job of a professional programmer includes having produced code that they understand the behavior of.
I have met maybe two people who truly understood the behaviour of their code and both employed formal methods. Everyone else, including myself, are at varying levels of confusion.
> I fear that LLMs have already fostered the first batch of developers who cannot function without it.
Playing the contrarian here, but I'm from a batch of developers that can't function without a compiler, and I'm at 10% of what I can do without an IDE and static analysis.
That's really curious: I've never felt that much empowered by an IDE or static analysis.
Sure, there's a huge jump from a line editor like `ed` to a screen editor like `vi` or `emacs`, but from there on, it was diminishing returns really (a good debugger was usually the biggest benefit next) — I've also had the "pleasure" of having to use `echo`, `cat` and `sed` to edit complex code in a restricted, embedded environment, and while it made iterations slower, not that much more slower than if I had a full IDE at my disposal.
In general, if I am in a good mood (and thus not annoyed at having to do so many things "manually"), I am probably only 20% slower than with my fully configured IDE at coding things up, which translates to less than 5% of slow down on actually delivering the thing I am working on.
I think there’s a factor of speed there, not a factor of insight or knowledge. If all you have is ‘ed’ and a printer, then I think most of the time you will spend is with the printout. ‘vi’ eliminates the printout and the tediousness of going back and forth.
Same with more advanced editors and IDEs. They help with tediousness, which can hinders insight, but does not help it if you do not have the foundation.
I've seen this comparison a few times already, but IMHO it's totally wrong.
A compiler translates _what you have already implemented_ into another computer runnable language. There is an actual grammar that defines the rules. It does not generate new business logic or assumptions. You have already done the work and taken all the decisions that needed critical thought, it's just being translated _instruction by instruction_. (btw you should check how compilers work, it's fun)
Using an LLM is more akin to copying from Stackoverflow than using a compiler/transpiler.
In the same way, I see org charts that put developers above AI managers, which are above AI developers. This is just smoke. You can't have LLMs generating thousands of lines of code independently. Unless you want a dumpster fire very quickly...
Yeah ok. I was viewing AI as "a tool to help you code better", not as "you literally can't do anything without it generating everything for you". I could do some assembly if I really had to, but it would not be efficient at all. I wonder if there's actually "developers" who are only prompting an LLM and not understanding anything in the output ? Must be generating dumpster fires as you said.
Lots and lots of developers can't program at all. As in literally - can't write a simple function like "fizzbuzz" even if you let them use reference documentation. Many don't even know what a "function" even is.
(Yes, these are people with developer jobs, often at "serious" companies.)
I've never met someone like that and don't believe the claim.
Maybe you mean people who are bad at interviews? Or people whose job isn't actually programming? Or maybe "lots" means "at least one"? Or maybe they can strictly speaking do fizzbuzz, but are "in any case bad programmers"? If your claim is true, what do these people do all day (or, let's say, did before LLMs were a thing...)?
By "lots" I estimate about 40 percent of the software developer workforce. (Not a scientific estimate.)
> Maybe you mean people who are bad at interviews?
No, the opposite. These developers learn the relevant buzzwords and can string them together convincingly, but fail to actually understand what they're regurgitating. (Very similar to an LLM, actually.)
E.g., these people will throw words like "Dunder method" around with great confidence, but then will completely melt down for fifteen minutes if a function argument has the same name as a module.
When on the job these people just copy-paste existing code from the "serious company" monorepo all day, every day. They call it "teamwork".
Yeah I’ve been doing this for a while now and I’ve never met an employed developer who didn’t know what a function is or couldn’t write a basic program.
I’ve met some really terrible programmers, and some programmers who freeze during interviews.
I've definitely worked with a person who struggled to write if statements (let alone anything more complex). This was just one guy, so I wouldn't say "lots and lots" like the other poster did, but they do exist.
This is half the point of interviewing. I've been at places that just skip interviewing is the person comes highly recommended, has a great CV, or whatever.
Predictably they end up with some people on the range from "can't code at all" to "newbie coder without talent"
Then fail to actually learn anything and apply for jobs and try to cheat the interviewers using the same AI that helped them graduate. I fear that LLMs have already fostered the first batch of developers who cannot function without it. I don't even mind that you use an LLM for parts of your job, but you need to be able to function without it. Not all data is allowed to go into an AI prompt, some problems aren't solvable with the LLMs and you're not building your own skills if you rely on generated code/configuration for the simpler issues.