this post was submitted on 25 Jan 2024
329 points (97.1% liked)
Asklemmy
43916 readers
1148 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I want to offer my perspective on the AI thing from the point of view of a senior individual contributor at a larger company. Management loves the idea, but there will be a lot of developers fixing auto-generated code full of bad practices and mysterious bugs at any company that tries to lean on it instead of good devs. A large language model has no concept of good or bad, and it has no logic. It'll happily generate string-templated SQL queries that are ripe for SQL injection. I've had to fix this myself. Things get even worse when you have to deal with a shit language like Bash that is absolutely full of God awful footguns. Sometimes you have to use that wretched piece of trash language, and the scripts generated are horrific. Remember that time when Steam on Linux was effectively running
rm -rf /*
on people's systems? I've had to fix that same type of issue multiple times at my workplace.I think LLMs will genuinely transform parts of the software industry, but I absolutely do not think they're going to stand in for competent developers in the near future. Maybe they can help junior developers who don't have a good grasp on syntax and patterns and such. I've personally felt no need to use them, since I spend about 95% of my time on architecture, testing, and documentation.
Now, do the higher-ups think the way that I do? Absolutely not. I've had senior management ask me about how I'm using AI tooling, and they always seem so disappointed when I explain why I personally don't feel the need for it and what I feel its weaknesses are. Bossman sees it as a way to magically multiply IC efficiency for nothing, so I absolutely agree that it's likely playing a part in at least some of these layoffs.
So basically, once again, management has no concept of the work and processes involved in creating/improving [thing], but still want to throw in the latest and greatest [buzzword/tech-of-the-day], and then are flabbergasted why their devs/engineers/people who actually do the work tell them it's a bad idea.
I'm pretty excited about LLMs being force multipliers in our industry. GitHub's Copilot has been pretty useful (at times). If I'm writing a little utility function and basically just write out the function signature, it'll fill out the meat. Often makes little mistakes, but I just need to follow up with little tweaks and tests (that it'll also often write).
It also seems to take context of my overall work at the time somehow and infers what I'll do next occasionally, to my astonishment.
It's absolutely not replacing me any time soon, but it sure can be helpful in saving me time and hassle.
Those little mistakes drove me nuts. By the end of my second day with copilot, I felt exhausted from looking at bad suggestions and then second guessing whether I was the idiot or copilot was. I just can't. I'll use ChatGPT for working through broad issues, catching arcane errors, explaining uncommented code, etc. but the only LLM whose code output doesn't generally create a time cost for me is Cody.
If you tried copilot at the beginning, it's improved a lot since, now it's using GPT-4.
Tragically, this seems to be the minority viewpoint - at least among CS students. A lot of my peers seem to have convinced themselves that the hallucination machines are intelligent... even when it vomits unsound garbage into their lap.
This is made worse by the fact that most of our work is simple and/or derivative enough for
$MODEL
to usually give the right answer, which reinforces the majority "thinking machine" viewpoint - while in reality, generating an implementation of&
using only~
and|
is hardly an Earth-shattering accomplishment.And yes, it screws them academically. It doesn't take a genius to connect the dots when the professor who encourages Copilot use has a sub-50% test average.
In my experience copilot for neovim is pretty useful if you
If you expect it to whip out of thin air what you really need and not have you correct it in several places, learn to code without it first.
To add to this, at my company, we've received a mandate to avoid putting any code into an AI prompt because of privacy concerns. So effectively no one is using it here.
Yep as far as most companies should be concerned, using something like CoPilot means giving free license to Microsoft to all your trade secrets and code that you input.
We had the same. And you would have thought for a heavily regulated industry we’d keep it that way.
But no, some executive wonk from Microsoft flew over, gave our c-suite a “it’s safe, promise” chat over champagne and lobster, and now we’re happily using copilot.
There's your mistake, treating bash like a language and not like a scripting tool. Its strength is that it's a common standard available on almost every machine because its older than most of us, its weakness is that it's full of horribly outdated syntax because its older than most of us. If used to script other processes it's great, but when you start using it as a language then the number of ways you can do something horrible that sort of works makes JavaScript look slick!