7 ms·
In my company I feel that we getting totally overrun with code that's 90% good, 10% broken and almost exactly what was needed. We are producing more code, but
by jeppester 1y ago
In my company I feel that we getting totally overrun with code that's 90% good, 10% broken and almost exactly what was needed.
We are producing more code, but quality is definitely taking a hit now that no-one is able to keep up.
So instead of slowly inching towards the result we are getting 90% there in no time, and then spending lots and lots of time on getting to know the code and fixing and fine-tuning everything.
Maybe we ARE faster than before, but it wouldn't surprise me if the two approaches are closer than what one might think.
What bothers me the most is that I much prefer to build stuff rather than fixing code I'm not intimately familiar with.
- epolanski 1y agoAs Fowler himself states, there's a need to learn to use these tools properly. In any case poor work quality is a failure of tech leadership and culture, it's not AI's fault.
- FromTheFirstIn 1y agoIt’s funny how nothing seems to be AI’s fault.
- johnnienaked 1y agoNo one seems to be able to grasp the possibility that AI is a failure
- raducu 1y ago> No one seems to be able to grasp the possibility that AI is a failure. Do you think by the time GPT-9 comes, we'll say "That's it, AI is a failure, we'll just stop using it!" Or do you speak in metaphorical/bigger picture/"butlerian jihad" terms?
- johnnienaked 1y agoI don't see the use-case now, maybe there will be one by GPT-9
- Kiro 1y agoAbsence of your need isn't evidence of no need.
- johnnienaked 1y agoThis is true, but I've never heard of a use case. To which you might reply, "doesn't mean there isn't one," which you would be also right about. Maybe you know one.
- Kiro 1y agoI presume your definition of use case is something that doesn't include what people normally use it for. And I presume me using it for coding every day is disqualified as well.
- johnnienaked 1y agoI didn't mean to suggest it has no utility at all. That's obviously wrong (same for crypto). I meant a use case in line with the projections the companies have claimed (multiple trillions). Help with basic coding (of which efficiency gains are still speculative) is not a multi-trillion dollar business.
- colordrops 1y agoYou've failed to figure out when and how to use it. It's not a binary failed/succeeded thing.
- nicce 1y agoNone of the copyright issues or suicide cases are handled in the court yet. There are many aspects.
- johnnienaked 1y agoMetaverse was...
- jama211 1y ago“There’s no use for this thing!” - said the farmer about the computer
- epolanski 1y agoIf poor work gets merged, the responsibility lies in who wrote it, who merged it, and who allows such a culture. The tools used do not hold responsibilities, they are tools.
- discreteevent 1y ago"I got rid of that machine saw. Every so often it made a cut that was slightly off line but it was hard to see. I might not find out until much later and then have to redo everything."
- colordrops 1y agoHow could a tool be at fault? If an airplane crashes is the plane at fault or the designers, engineers, and/or pilot?
- wk_end 1y agoDesigners, engineers, and/or pilots aren't tools, so that's a strange rhetorical question. At any rate, it depends on the crash. The NTSB will investigate and release findings that very well may assign fault to the design of the plane and/or pilot or even tools the pilot was using, and will make recommendations about how to avoid a similar crash in the future, which could include discontinuing the use of certain tools.
- colordrops 1y agoMy point is that the tool (the airplane in this case) is not at at fault, but rather the humans in the loop.
- Cthulhu_ 1y agoThat's because it's software / an application. I don't blame my editor for broken code either. You can't put blame on software itself, it just does what it's programmed to do. But also, blameless culture is IMO important in software development. If a bug ends up in production, whose fault is it? The developer that wrote the code? The LLM that generated it? The reviewer that approved it? The product owner that decided a feature should be built? The tester that missed the bug? The engineering organization that has a gap in their CI? As with the Therac-25 incident, it's never one cause: https://news.ycombinator.com/item?id=45036294 https://news.ycombinator.com/item?id=45036294
- wk_end 1y agoBlameless culture is important for a lot of reasons, but many of them are human. LLMs are just tools. If one of the issues identified in a post-mortem is "using this particular tool is causing us problems", there's not a blameless culture out there that would say "We can't blame the tool..."; the action item is "Figure out how to improve/replace/remove the tool so it no longer contributes to problems."
- Jensson 1y ago> You can't put blame on software itself, it just does what it's programmed to do. This isn't what AI enthusiasts say about AI though, they only bring that up when they get defensive but then go around and say it will totally replace software engineers and is not just a tool.
- FromTheFirstIn 1y agoBlame is purely social and purely human. “Blaming” a tool or process and root causing are functionally identical. Misattributing an outage to a single failure is certainly one way to fail to fix a process. Failing to identify faulty tools/ faulty applications is another way. I was being flippant to say it’s never AI’s fault, but due to board/C-Suite pressure it’s harder than ever to point out the ways that AI makes processes more complex, harder to reason about, stochastic, and expensive. So we end up with problems that have to be attributed to something not AI.
- xtracto 1y agoIf your toaster burns your breakfast bread, Do you ultimately blame "it"? You gdt mad, swear at it, maybe even throw it to the wall on a git of rage but, at the end of the day, deep inside you still know you screwed.
- skydhash 1y agoDevices can be faulty and technology can be inappropriate.
- sarchertech 1y agoIf I bought an AI powered toaster that allows me to select a desired shade of toast, I select light golden brown, and it burns my toast, I certainly do blame “it”. I wouldn’t throw it against a wall because I’m not a psychopath, but I would demand my money back.
- utyop22 1y ago"but quality is definitely taking a hit now that no-one is able to keep up." And its going to get worse! So please explain to me how in the net, you are going to be better off? You're not. I think most people haven't taken a decent economics class and don't deeply understand the notion of trade offs and the fact there is no free lunch.
- computerex 1y agoTechnology has always helped people. Are you one of the people that say optimizing compilers are bad? Do you not use the intellisense? Or IDEs? Do you not use higher level languages? Why not write in assembly all the time? No free lunch right. Yes there are trade offs, but at this point if you haven’t found a way to significantly amplify and scale yourself using llms, and your plan is to instead pretend that they are somehow not useful, that uphill battle can only last so long. The genie is out of the bag. Adapt to the times or you will be left behind. That’s just what I think.
- joe_the_user 1y agoSomeone already pointed out that we're at the point when it's longer possible to know if comments like the above are satire or not.
- johnnienaked 1y agoTechnology does not always help people, in fact often it creates new problems that didn't exist before. Also telling someone to "adapt to the times" is a bit silly. If it helped as much as its claimed, there wouldn't be any need to try and convince people they should be using it. A LOT of parallels with crypto, which is still trying to find its killer app 16 years later.
- Difwif 1y agoMy parents could have said your first paragraph when I tried to teach them they could Google their questions and find answers. Technology moves forward and productivity improves for those that move with it.
- Cthulhu_ 1y agoI'd argue that this awareness is a good thing; it means you're measuring, analyzing, etc all the code. Best practices in software development for forever have been to verify everything; CI, code reviews, unit tests, linters, etc. I'd argue that with LLM generated code, a software developer's job and/or that of an organization as a whole has shifted even more towards reviewing and verification. If quality is taking a hit you need to stop; how important is quality to you? How do you define quality in your organization? And what steps do you take to ensure and improve quality before merging LLM generated code? Remember that you're still the boss and there is no excuse for merging substandard code.
- whstl 1y agoLLMs are amazing at producing boilerplate, which removes the incentive to get rid of it. Boilerplate sucks to review. You just see a big mass of code and can't fully make sense of it when reviewing. Also, Github sucks for reviewing PRs with too many lines. So junior/mid devs are just churning boilerplate-rich code and don't really learn. The only outcome here is code quality is gonna go down very very fast.
- jstummbillig 1y agoI envy the people working at mystical places where humans were on average writing code of high quality prior LLMs. I'll never know you now.
- actionfromafar 1y agoSome of them will get hired to fix the oceans of boilerplate code.
- jeltz 1y agoI am working at one right now and I have worked at such in the past. One of the main tricks is to treat code reviews very seriously so people are not incentived to write lazy code. You need to build a cultire which cares about quality of both product and code. You also need decent developers, but not necessarily great developers.
- raziel2p 1y agoIt's very easy to go from what you're describing to a place hamstrung by nitpicking, though. The code review becomes more important than the code itself and appearances start mattering more than results.
- jstummbillig 1y agoOh, I understand what you need to do. It's like losing weight. It's fairly simple. And at the same time it's borderline impossible proven by the fact that people can't do it, even though everyone understands and roughly everyone agrees on how it works. So the actual "trick" turns out to be understanding what keeps people from doing the necessary things that they all agree on are important – like treating code reviews very seriously. And getting that part right turns out to be fairly hard.
- dapperdrake 1y agoPerlis, epigram 7: 7. It is easier to write an incorrect program than understand a correct one. Link: http://cs.yale.edu/homes/perlis-alan/quotes.html http://cs.yale.edu/homes/perlis-alan/quotes.html
- ekidd 1y ago> In my company I feel that we getting totally overrun with code that's 90% good, 10% broken and almost exactly what was needed. This is painfully similar to what happens when a team grows from 3 developers to 10 developers. All of sudden, there's a vast pile of coding being written, you've never seen 75% of it, your architectural coherence is down, and you're relying a lot more on policy and CI. Where LLM's differ is that you can't meaningfully mentor them, and you can't let them go after the 50th time they try turn off the type checker, or delete the unit tests to hide bugs. Probably, the most effective way to use LLMs is to make the person driving the LLM 100% responsible for the consequences. Which would mean actually knowing the code that gets generated. But that's going to be complicated to ensure.
- jimbokun 1y agoHave thorough code reviews and hold the developer using the LLM responsible for everything in the PR before it can be merged.
- thrawa8387336 1y agoImagine someones add 10 UTs carefully devised and someone notices they need 1 more during the PR. Scenario B, you add 40 with an LLM, that look good on paper but only cover 6 of the original ones. Besides, who's going to pay careful attention to a PR with 40. "Must be so thorough!".
- stevage 1y ago> What bothers me the most is that I much prefer to build stuff rather than fixing code I'm not intimately familiar with. Me too. But I think there's a split here. Some people love the new fast and loose way and rave about how they're experiencing more joy coding than ever before. But I tried it briefly on a side project, and hated the feeling of disconnect. I started over, doing everything manually but boosted by AI and it's deeply satisfying. There is just one section of AI written code that I don't entirely understand, a complex SQL query I was having trouble writing myself. But at least with an SQL query it's very easy to verify the code does exactly what you want with no possibility of side effects.