411
submitted 3 weeks ago by Cat@ponder.cat to c/technology@lemmy.world
top 50 comments
sorted by: hot top controversial new old
[-] corsicanguppy@lemmy.ca 131 points 3 weeks ago* (last edited 3 weeks ago)

I've said it before, but this is a 20-year-old problem.

After Y2K, all those shops that over-porked on devs began shedding the most pricey ones; worse in 'at will' states.

Who were those devs? Mentors. They shipped less code, closed fewer tickets, cost more, but their value wasn't in tickets and code: it was investing in the next generation. And they had to go because #numbersGoUp

And they left. And the first gen of devs with no mentorship joined and started their careers. No idea about edge cases, missing middles or memory management. No lint, no warnings, build and ship and fix the bugs as they come.

And then another generation. And these were the true 'lost boys' of dev. C is dumb, C++ is dumb, perl is dumb, it's all old, supply chain exploits don't exist, I made it go so I'm done, fuck support, look at my numbers. It's all low-attention span, baling wire and trophies because #numbersGoUp.

And let's be fair: they're good at this game, the new way of working where it's a fast finish, a head-pat, and someone else's problem. That's what the companies want, and that's what they built.

They say now that relying on Ai makes one never really exercise critical thought and problem-solving, and I see it when I'm forced to write fucking YAML for fucking Ansible. I let the GPTs do that for me, without worrying that I won't learn to code YAML for Ansible. Coding YAML for Ansible is NEVER going to be on my list of things I want to remember. But we're seeing people do that with actual work; with go and rust code, and yeah, no concept of why we want to check for completeness let alone a concept of how.

What do we do, though?

If we're in a position to do so, FAIL some code reviews on corner cases. Fail some reviews on ISO27002 and supply chain and role sep. Fail some deployments when they're using dev tools in prod. And use them all as teachable moments. Honestly, some of them got no mentorship in college if they went, and no mentorship in their first ten years as a pro. It's going to be hard getting over themselves, but the sooner they realise they still have a bunch to learn, the better we can rebuild coders. The hardest part will be weaning them off GPT for the cheats. I don't have a solution for this.

One day these new devs will proudly install a patch in the RTOS flashed into your heart monitor and that annoying beep will go away. Sleep tight.

[-] SpicyLizards@reddthat.com 41 points 3 weeks ago

I have seen this too much. My current gripe isn't fresh devs, as long as they are teachable and care.

My main pain over the last several years has been the bulk of 'give-no-shit' perms/contractors who don't want to think or try when they can avoid it.

They run a web of lies until it is no longer sustainable (or the project is done for contractors) and then again its someone else's problem.

There are plenty of 10/20 year plus and devs who don't know what they are doing and don't care whose problem it will be as long as it isnt theirs.

I'm sick of writing coding 101 standards for 1k+ a day 'experts'. More sick of PR feedback where it's a battle to get things done in a maintainable manner from said 'experts'.

load more comments (1 replies)
[-] MagicShel@lemmy.zip 26 points 3 weeks ago* (last edited 3 weeks ago)

No one wants mentors. The way to move up in IT is to switch jobs every 24 months. So when you're paying mentors huge salaries to train juniors who are velocity drags into velocity boosters, you do it knowing they are going to leave and take all that investment with them for a higher paycheck.

I don't say this is right, but that's the reality from the paycheck side of things and I think there needs to be radical change for both sides. Like a trade union or something. Union takes responsibility for certifying skills and suitability, companies can be more confident of hires, juniors have mentors to learn from, mentors ensure juniors have aptitude and intellectual curiosity necessary to do the job well, and I guess pay is more skill/experience based so developers don't have to hop jobs to get paid what they are worth.

Fixed typos due to my iPhone hating me.

load more comments (2 replies)
load more comments (5 replies)
[-] spark947@lemm.ee 105 points 3 weeks ago

What are you guys working on where chatgpt can figure it out? Honestly, I haven't been able to get a scrap of working code beyond a trivial example out of that thing or any other LLM.

[-] 0x0@programming.dev 45 points 3 weeks ago

I'm forced to use Copilot at work and as far as code completion goes, it gets it right 10-15% of the times... the rest of the time it just suggests random — credible-looking — noise or hallucinates variables and shit.

[-] expr@programming.dev 12 points 3 weeks ago

Forced to use copilot? Wtf?

I would quit, immediately.

load more comments (3 replies)
[-] Thorry84@feddit.nl 32 points 3 weeks ago

Agreed. I wanted to test a new config in my router yesterday, which is configured using scripts. So I thought it would be a good idea for ChatGPT to figure it out for me, instead of 3 hours of me reading documentation and trying tutorials. It was a test scenario, so I thought it might do well.

It did not do well at all. The scripts were mostly correct but often in the wrong order (referencing a thing before actually defining it). Sometimes the syntax would be totally wrong and it kept mixing version 6 syntax with version 7 syntax (I'm on 7). It will also make mistakes and when I point out the mistake it says Oh you are totally right, I made a mistake. Then goes on to explain what mistake it did and output new code. However more often than not the new code contained the exact same mistake. This is probably because of a lack of training data, where it is referencing only one example and that example just had a mistake in it.

In the end I gave up on ChatGPT, searched for my testscenario and it turned out a friendly dude on a forum put together a tutorial. So I followed that and it almost worked right away. A couple of minutes of tweaking and testing and I got it working.

I'm afraid for a future where forums and such don't exist and sources like Reddit get fucked and nuked. In an AI driven world the incentive for creating new original content is way lower. So when AI doesn't know the answer, you are just hooped and have to re-invent the wheel yourself. In the long run this will destroy productivity and not give the gains people are hoping for at the moment.

[-] baltakatei@sopuli.xyz 11 points 3 weeks ago

It's like useful information grows as fruit from trees in a digital forest we call the Internet. However, the fruit spoils over time (becomes less relevant) and requires fertile soil (educated people being online) that can be eroded away (not investing in education or infrastructure) or paved over (intellectual property law). LLMs are like processed food created in factories that lack key characteristics of more nutritious fresh ingredients you can find at a farmer's market. Sure, you can feed more people (provide faster answers to questions) by growing a monocrop (training your LLM on a handful of generous people who publish under Creative Commons licenses like CC BY-SA on Stack Overflow), but you also risk a plague destroying your industry like how the Panama disease fungus destroyed nearly all Gros Michel banana farming (companies firing those generous software developers who “waste time” by volunteering to communities like Stack Overflow and replacing them with LLMs).

There's some solar punk ethical fusion of LLMs and sustainable cultivation of high quality information, but we're definitely not there yet.

load more comments (1 replies)
load more comments (1 replies)
[-] theterrasque@infosec.pub 27 points 3 weeks ago* (last edited 3 weeks ago)

When I had to get up to speed on a new language, it was very helpful. It's also great to write low to medium complexity scripts in python, powershell, bash, and making ansible tasks. That said I've been programming for ~30 years, and could have done those things myself if I needed, but it would take some time (a lot of it being looking up documentation and writing boilerplate code).

It's also nice for writing C# unit tests.

However, the times I've been stuck on my main languages, it's been utterly useless.

[-] MagicShel@lemmy.zip 29 points 3 weeks ago

ChatGPT is extremely useful if you already know what you're doing. It's garbage if you're relying on it to write code for you. There are nearly always bugs and edge cases and hallucinations and version mismatches.

It's also probably useful for looking like you kinda know what you're doing as a junior in a new project. I've seen some shit in code reviews that was clearly AI slop. Usually from exactly the developers you expect.

load more comments (1 replies)
[-] CeeBee_Eh@lemmy.world 13 points 3 weeks ago

I've been using (mostly) Claude to help me write an application in a language I'm not experienced with (Rust). Mostly with helping me see what I did wrong with syntax or with the borrow checker. Coming from Java, Python, and C/C++, it's very easy to mismanage memory the exact way Rust requires it.

That being said, any new code that generates for me I end up having to fix 9 times out of 10. So in a weird way I've been learning more about Rust from having to correct code that's been generated by an LLM.

I still think LLMs for the next while will be mostly useful as a hyper-spell checker for code, and not for generating new code. I often find that I would have saved time if I just tackled the problem myself and not tried to reply on an LLM. Although sometimes an LLM can give me an idea on how to solve a problem.

[-] sugar_in_your_tea@sh.itjust.works 12 points 3 weeks ago* (last edited 3 weeks ago)

Same. It can generate credible-looking code, but I don't find it very useful. Here's what I've tried:

  • describe a function - takes longer to read the explanation than grok the code
  • generate tests - hallucinates arguments, doesn't do proper boundary checks, etc
  • looking up docs - mostly useful to find search terms for the real docs

The second was kind of useful since it provided the structure, but I still replaced 90% of it.

I'm still messing with it, but beyond solving "blank page syndrome," it's not that great. And for that, I mostly just copy something from elsewhere in the project anyway, which is often faster than going to the LLM.

I'm really bad at explaining what I want, because by the time I can do that, it's faster to just build it. That said, I'm a senior dev, so I've been around the block a bit.

load more comments (3 replies)
[-] zerofk@lemm.ee 96 points 3 weeks ago* (last edited 3 weeks ago)

As someone who has interviewed candidates for developer jobs for over a decade: this sounds like “in my day everything was better”.

Yes, there are plenty of candidates who can’t explain the piece of code they copied from Copilot. But guess what? A few years ago there were plenty of candidates who couldn’t explain the code they copied from StackOverflow. And before that, there were those who failed at the basic programming test we gave them.

We don’t hire those people. We hire the ones who use the tools at their disposal and also show they understand what they’re doing. The tools change, the requirements do not.

[-] uranibaba@lemmy.world 18 points 3 weeks ago

I think that LLMs just made it easier for people who want to know but not learn to know. Reading all those posts all over the internet required you to understand what you pasted together if you wanted it to work (not always but the barr was higher). With ChatGPT, you can just throw errors at it until you have the code you want.

While the requirements never changed, the tools sure did and they made it a lot easier to not understand.

load more comments (3 replies)
load more comments (3 replies)
[-] barsoap@lemm.ee 76 points 3 weeks ago

Not in any way a new phenomenon, there's a reason fizzbuzz was invented, there's been a steady stream of CS graduates who can't code their way out of a wet paper bag ever since the profession hit the mainstream.

Actually fucking interview your candidates, especially if you're sourcing candidates from a country with for-profit education and/or rote learning cultures, both of which suck when it comes to failing people who didn't learn anything. No BS coding tests go for "explain this code to me" kind of stuff, worst case they can understand code but suck at producing it, that's still prime QA material right there.

[-] sugar_in_your_tea@sh.itjust.works 31 points 3 weeks ago

We do two "code challenges":

  1. Very simple, many are done in 5 min; this just weeds out the incompetent applicants, and 90% of the code is written (i.e. simulate working in an existing codebase)
  2. Ambiguous requirements, the point is to ask questions, and we actually have different branches depending on assumptions they made (to challenge their assumptions); i.e. simulate building a solution with product team

The first is in the first round, the second is in the technical interview. Neither are difficult, and we provide any equations they'll need.

It's much more important that they can reason about requirements than code something quick, because life won't give you firm requirements, and we don't want a ton of back and forth with product team if we can avoid it, so we need to catch most of that at the start.

In short, we're looking for actual software engineers, not code monkeys.

[-] barsoap@lemm.ee 13 points 3 weeks ago* (last edited 3 weeks ago)

Those are good approaches, I would note that the "90% is written" one is mostly about code comprehension, not writing (as in: Actually architect something), and the requirement thing is a thing that you should, IMO, learn as a junior, it's not a prerequisite. It needs a lot of experience, and often domain knowledge new candidates have no chance of having. But, then, throwing such stuff at them and then judging them by their approach, not end result, should be fair.

The main question I ask myself, in general, is "can this person look at code from different angles". Somewhat like rotating a cube in your mind's eye if you get what I mean. And it might even be that they're no good at it, but they demonstrate the ability when talking about coffee making. People who don't get lost when you're talking about cash registers having a common queue having better overall latency than cash registers with individual queues. Just as a carpenter would ask someone "do you like working with your hands", the question is "do you like to rotate implication structures in your mind".

load more comments (3 replies)
load more comments (3 replies)
[-] TsarVul@lemmy.world 73 points 3 weeks ago

I'm a little defeatist about it. I saw with my own 3 eyes how a junior asked ChatGPT how to insert something into an std::unordered_map. I tell them about cppreference. The little shit tells me "Sorry unc, ChatGPT is objectively more efficient". I almost blew a fucking gasket, mainly cuz I'm not that god damn old. I don't care how much you try to convince me that LLMs are efficient, there is no shot they are more efficient than opening a static page with all the info you would ever need. Not even considering energy efficiency. Utility aside, the damage we have dealt to developing minds is irreversible. We have convinced them that thought is optional. This is gonna bite us in the ass. Hard.

[-] Dark_Arc@social.packetloss.gg 21 points 3 weeks ago

I work in a small company that doesn't hire hardly at all... Stories like this scare me because I have no way to personally quantify how common that kind of attitude might be.

[-] TsarVul@lemmy.world 25 points 3 weeks ago

Look, ultimately the problem is the same as it has always been: juniors doing junior shit. There's just more of it going on. If you're hiring one, you put a senior on them ready to extinguish fires. A good review process is a must.

Now that I think about it, there was this one time the same young'un I was talking about tried to commit this insane subroutine that was basically resizing a vector in the most roundabout way imaginable. Probably would have worked, but you can also just use the resize method, y'know? In retrospect, that was probably some Copilot bullshit, but because we have a review process in place, it was never an issue.

load more comments (16 replies)
[-] avidamoeba@lemmy.ca 54 points 3 weeks ago* (last edited 3 weeks ago)

Unless AI dramatically improves from where LLMs are today (in ways that it so far hasn't), as a worker, I'm looking forward to the drastic shortage of experienced senior devs in a few years time.

load more comments (1 replies)
[-] filister@lemmy.world 46 points 3 weeks ago

The problem is not only the coding but the thinking. The AI revolution will give birth to a lot more people without critical thinking and problem solving capabilities.

load more comments (3 replies)
[-] FarceOfWill@infosec.pub 45 points 3 weeks ago* (last edited 3 weeks ago)

Junior Devs could never code, yes including us

[-] patatahooligan@lemmy.world 29 points 3 weeks ago

Agreed. A few year back the devs looking for quick fixes would go over to StackOverflow and just copy answers without reading explanations. This caused the same type of problems that OP is talking about. That said, the ease of AI might be making things even worse.

load more comments (1 replies)
load more comments (2 replies)
[-] nexguy@lemmy.world 42 points 3 weeks ago

Stack Overflow and Google were once the "AI" of the previous generation. "These kids can't code, they just copy what others have done"

[-] Feathercrown@lemmy.world 16 points 3 weeks ago

Yeah, and copy-pasting SO answers with no thought is just as bad.

[-] embed_me@programming.dev 20 points 3 weeks ago

And when copy-pasting didn't work, those who dared to rise above and understand it, became better. Same with AI, those of the new generation who see through the slop will learn. It's the same as it has always been. Software engineering is more accessible than ever, say what you will about the current landscape of software engineering but that fact remains undeniable.

load more comments (6 replies)
load more comments (1 replies)
[-] ryven@lemmy.dbzer0.com 41 points 3 weeks ago

Recently my friend was trying to get me to apply for a junior dev position. "I don't have the right skills," I said. "The biggest project I ever coded was a calculator for my Java final, in college, a decade and a half ago."

It did not occur to me that showing up without the skills and using a LLM to half ass it was an option!

[-] 7fb2adfb45bafcc01c80@lemmy.world 33 points 3 weeks ago

To me, I feel like this is a problem perpetuated by management. I see it on the system administration side as well -- they don't care if people understand why a tool works; they just want someone who can run it. If there's no free thought the people are interchangeable and easily replaced.

I often see it farmed out to vendors when actual thought is required, and it's maddening.

load more comments (1 replies)
[-] pls@lemmy.plaureano.nohost.me 27 points 3 weeks ago

Of course they don't. Hiring junior devs for their hard skills is a dumb proposition. Hire for their soft skills, intellectual curiosity, and willingness to work hard and learn. There is no substitute for good training and experience.

[-] froggycar360@slrpnk.net 25 points 3 weeks ago

I could barely code when I landed my job and now I’m a senior dev. It’s saying a plumber’s apprentice can’t plumb - you learn on the job.

[-] FlyingSquid@lemmy.world 11 points 3 weeks ago

You're not learning anything if Copilot is doing it for you. That's the point.

load more comments (2 replies)
[-] Naich@lemmings.world 23 points 3 weeks ago

Poisoning AI with backdoored code is surely a real risk now? I can see this getting quite nasty.

[-] RamenJunkie@midwest.social 20 points 3 weeks ago

I am not a professional coder, just a hobbyist, but I am increasingly digging into Cybersecurity concepts.

And even as an "amature Cybersecurity" person, everything about what you describe, and LLM coders, terrifies me, because that shit is never going to have any proper security methodology implemented.

load more comments (1 replies)
[-] Evotech@lemmy.world 19 points 3 weeks ago
[-] invertedspear@lemm.ee 21 points 3 weeks ago

Exactly, the jr dev that could write anything useful is a rare gem. Boot camps cranking out jr dev by the dozens every couple of months didn’t help the issue. Talent needs cultivation, and since every tech company has been cutting back lately, they stopped cultivating and started sniping talent from each other. Not hard given the amount of layoffs lately. So now we have jr devs either unable to find a place to refine them, or getting hired by people who just want to save money and don’t know that you need a senior or two to wrangle them. Then chat gpt comes along and gives the illusion of sr dev advice, telling them how to write the wrong thing better, no one to teach them which tool is the right one for the job.

Our industry is in kind of a fucked state and will be for a while. Get good at cleaning up the messes that will be left behind and that will keep you fed for the next decade.

load more comments (3 replies)
[-] drathvedro@lemm.ee 18 points 3 weeks ago

This post is literally an ad for AI tools.

No, thanks. Call me when they actually get good. As it stands, they only offer marginally better autocomplete.

I should probably start collecting dumb AI suggestions and gaslighting answers to show the next time I encounter this topic...

load more comments (5 replies)
[-] socsa@piefed.social 15 points 3 weeks ago* (last edited 3 weeks ago)

This isn't a new thing. Dilution of "programmer" and "computer" education has been going on for a long time. Everyone with an IT certificate is an engineer th se days.

For millennials, a "dev" was pretty much anyone with reasonable intelligence who wanted to write code - it is actually very easy to learn the basics and fake your way into it with no formal education. Now we are even moving on from that to where a "dev" is anyone who can use an AI. "Prompt Engineering."

[-] frezik@midwest.social 13 points 3 weeks ago

"Prompt Engineer" makes a little vomit appear in the back of my mouth.

[-] phoenixz@lemmy.ca 15 points 3 weeks ago

To be fair, most never could. I've been hiring junior devs for decades now, and all the ones straight out of university barely had any coding skills .

Its why I stopped looking at where they studied, I always first check their hobbies. if one of the hobbies is something nerdy and useless, tinkering with a raspberry or something, that indicates to me it's someone who loves coding and probably is already reasonably good at it

load more comments (1 replies)
load more comments
view more: next ›
this post was submitted on 17 Feb 2025
411 points (95.4% liked)

Technology

66107 readers
2508 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS