14 ms·
AI in software engineering at Google: Progress and the path ahead
- ur-whale 2y agoI wonder what fraction of "accepted AI-generated code" is used in the LLM building and training codebase ... Kind of reminds me of the mad cow disease problem.
- trybackprop 2y agoFrom the blog post: > We observe that with AI-based suggestions, the code author increasingly becomes a reviewer, and it is important to find a balance between the cost of review and added value. We typically address the tradeoff with acceptance rate targets. In the past year since GPT-4 came out, I've also found this to be the case. I'm an ML/backend engineer with little experience in frontend development. Yet, I've been able to generate React UIs and Python UIs with GPT-4 in a matter of minutes and simply review the code to understand how it works. I find this to be very useful!
- jprete 2y agoThis isn't a good trend. Reviewers never have the depth of knowledge or understanding of authors.
- trybackprop 2y ago[dead]
- bdjsiqoocwk 2y agoAlso, people shouldn't be allowed to use computers unless they understand how transistors work. If you don't have the depth of knowledge you get nothing.
- desolved 2y agoIt took me way too long to realize this was a joke.
- notpachet 2y agoIt's HN so you can't be entirely sure.
- BOOSTERHIDROGEN 2y agoAlthough this is well-expressed, I'm left with an unexplainable feeling that I can't quite put my finger on.
- bdjsiqoocwk 2y agoLet me try and articulate it. The person Im responding to was gatekeeping. I responded by sarcastically doing the same to an extreme degree. A lot of people Will have agreed with the person i'm responding to. "Oh yeah of course You should understand these things, the things that I already understand", genuinely not realizing that there's no basis for that. When they reae my response they realize what they were doing, and are less feeling embarrassed for their senseless (and pretentious!) gatekeeping.
- refulgentis 2y agoSource? This is unintuitive to me, I can't come up with a rationale.
- jprete 2y agoI know of no review process that produces the same level of understanding as does authorship, because the author must build the model from scratch and so must see all the details, while the reviewer is able to do less work because they're fundamentally riding on the author's understanding. In fact, in a high-trust system, e.g. a good engineering culture in a tech company, the reviewer will learn even less, because they won't be worried about the author making serious mistakes so they'll make less effort to understand. I've experienced this from both sides of the transaction for code, scientific papers, and general discussion. There's no shortcut to the level of understanding given by synthesizing the ideas yourself.
- refulgentis 2y agoSo the software lifecycle ends up with a sort of Zeno's paradox, each incremental maintainer understands the system less...fascinating, ty!
- Tao3300 2y agoOn sufficiently large and old code bases, yes, this is exactly the case.
- codr7 2y agoI believe pretty much anyone who has observed a few cycles can tell as much. Often the major trigger for a rewrite is that the knowledge has mostly left the building. But then there's the cognitive dissonance; because the we like pretending that the system is the knowledge and thus has economic value in itself, and that people are interchangeable. None of which is true.
- _the_inflator 2y agoI totally agree. Reviewing the solution is limited. What you don’t get are the myriads of other ways that didn’t work out. Elegant solutions are the result of weeding out dozens of other messy ways. So what gets perpetuated here then is the Dunnimg Kruger effect. While it might be speed things up in many normal circumstances, it devalues hard work in the long run. Not good.
- bongodongobob 2y agoRight because it's impossible for people to learn things themselves. Knowledge must only be passed down by The Gatekeeper. I'm starting to feel like the programming community is just mad things are easier to learn now.
- imabotbeep2937 2y ago"Easier to learn" is abjectly false. "Easier to get code submitted to a code base" is only marginally correlated with learning anything.
- irrational 2y agoAre they learning? Or are they just accepting the results, as long as it appears to more or less do what they want, and moving on? The danger seems to be code that is syntactically correct and compiles without errors, but is logically incorrect.
- bongodongobob 2y agoOh come on, the user is talking about building UIs. I don't know how else you learn. Your attitude just reeks of high-horse. As if it was better to learn things from stackoverflow.
- skydhash 2y agoWho learned stuff from stack overflow? In my own case, it was all books, plus a few videos. Stack Overflow was mostly to know why things has gone (errors not explicit enough) or very specific patterns. And there was a peer review system which lent credibility to answers.
- shermantanktop 2y ago“In my own case...” something worked for you. So what? Are you sure that would work for others? And that other approaches might not be more effective? I’ve learned lots of things from SO. The top voted answers usually provide quite a bit of “why” content which have general utility or pointers to more general content. Yes, there are insufferable people on there, but there are gatekeepers and self-centered people everywhere.
- kajecounterhack 2y agoDepends on what's being authored. Many times more experienced engineers review PRs from junior engineers and do have a higher level of knowledge.
- elboru 2y agoSometimes you simply don’t need that knowledge. Not needing to understand something frees your mind.
- WalterSear 2y agoIMHO, review is a misnomer for where software engineering is going. I'm not sure where we are going, but review implies less responsibility for the outcome. But I do think that we will have less depth of knowledge of the underlying processes. That's the point of having a machine do it. I expect this, however, to be a good trend: the systems will need to be up to a task before it makes sense to rely on them.
- reacharavindh 2y agoThis is how progress (in developer productivity) has always been made. We coded in assembler, then used macros, then a language like C, Fortran, then more of Java/Go/Puthon/Rust/Ruby et al. A developer writing a for loop over a list in Python need to necessarily know about linked lists and memory patterns because Python takes care of it. This frees up that developer from abstracted details and think one level closer to the problem at a higher speed. LLMs _can_ be a good tool under the right hands. They certainly have some ways to become a reliable assistant. I suppose in the way of LLMs, they need better training before they can get there.
- discreteevent 2y ago> We coded in assembler, then used macros, then a language like C, Fortran, then more of Java/Go/Puthon/Rust/Ruby et al. The difference is that: 1) All of those things are deterministic [1] 2) In all of those cases I can debug at the level of the abstraction. [1] Meaning: Do exactly what I say. Don't make it up.
- CoastalCoder 2y agoI agree with your overall point. In a certain sense I'd say optimizing compilers aren't deterministic: The same source code can produce different object code, depending on data and algorithms into which a typical programmer has little insight.
- vitiral 2y ago
- vineyardmike 2y agoFrankly, its fine more often than we may care to admit. As the parent comment suggested, UI elements are a great candidate for this. Often very similar (how many apps have a menu bar, side bar, etc) and full of boilerplate. And at the rate things change on the front-end, it's often a candidate for frequent re-writes, so code quality and health don't need to be as strict. It'd be nice if every piece of software ever written was done so by wise experts with hand-crafted libraries, but sometimes it's just a job and just needs to be done.
- Rumudiez 2y agoUI is a terrible example to make your point. Tell me you don’t know frontend development… Accessibility, cross browser+platform support, design systems, SEO, consistency and polish, you name it. You are most certainly not getting that from an LLM and most engineers don’t know how or don’t have a good eye for it to catch when the agent has gone astray or suggested a common mistake
- pquki4 2y agoYou definitely have a point, but the reality is that LLMs are about as good as an "average" UI developers in some cases -- lots of people who work on UI every day think very little about accessibility and don't understand if their code actually runs in a non-chromium browser.
- Mmskynettio 2y agoI do and i found plenty of issues while doing code review. But i started to read a lot more code than what i did 10 years ago
- williamcotton 2y agoThis is a false equivalence. When someone is using an LLM they are still the author. Think about it like someone who is searching through record crates for a good sample. They're going to "review" certain drum breaks and then decide if it should be included in an artwork. The reviewing that you're alluding to is like a book reviewer who has nothing to do with the finished product.
- anonyfox 2y agonot every developer knows how exactly his modern CPU oder memory layers work, or how electromagnetic waves are building up a signal. people use tools to make things. Its okay. Some "hardcore folks" advance the "lower level" tooling, other creative folks build actually useful things for daily life, and mostly these two groups have very little overlap IMO.
- mewpmewp2 2y agoWell it is not actually review where you have a PR. It is more like you are guiding and reviewing a very fast typer in your decided order that in any simple cases handles it 99 percent of the time.
- naijaboiler 2y agoYup that’s an old reviewer/author problem. Reviewer has a huge blind spot because they don’t even know what they don’t know. The author knows what he knows but more importantly also has a bigger grasp on what he doesn’t know. So he understands what’s safe to do and what’s not
- fnordpiglet 2y agoDoes everything ever written need to be crafted by an artisan? And awful lot of useful stuff written “good enough” is good enough. Depth of knowledge or understanding is irrelevant to a lot of front end UI development where the key is the design itself and that the behavior of the design is accurate and reliable not that the engineer -really- understand at a core of their soul graphql and react with the passion of a Japanese craftsman when they’re building a user interface for the ML backend that internal users use for non critical tasks. There does exist a hierarchy of when depth matters and it’s not homogeneously “literally everything you do.”
- zackproser 2y agoHaving a similar experience but in the other direction. I have a lot of backend and frontend development experience but no ml background. Being able to ask stupid questions to get further faster has been making difference for me.
- cloudking 2y agoThe most interesting chart is the "fraction of code created with AI assistance via code completion" trending up to 50%
- cplat 2y agoYes. Although I’d like to see a deeper investigation. Of course, quality of completions have improved. But there could be a confounding phenomenon where newer folks might just be accepting a lot of suggestions without scrutiny.
- runlevel1 2y agoI accept a lot of wrong suggestions because they look close enough that it's quicker for me to fix than it is to write the whole thing out from scratch. Which, IIUC, their metric captures: > Continued increase of the fraction of code created with AI assistance via code completion, defined as the number of accepted characters from AI-based suggestions divided by the sum of manually typed characters and accepted characters from AI-based suggestions. Notably, characters from copy-pastes are not included in the denominator.
- jghn 2y agoAs someone who is generally pro-AI coding tools, I do the same. However sometimes it winds up taking me so much effort to fix the mistakes that it'd have been faster to do it myself. I often wonder if I'm seeing a net positive effort gain over time, I *think* so, but it's hard to measure.
- ks2048 2y agoSeems they need to compare against "dumb" code completion. It seems that even when they are error-free, "large" AI-code-completions are just boilerplate that should be abstracted away in some functions rather than inserted into your code base. On a related note, maybe they should measure number of code characters that can be REMOVED by AI rather than inserted!
- 2y ago
- throwanem 2y agoIf there's anything in this press release to justify how "characters added by AI" is more true a reflection of quality than commit count is of productivity, I didn't see it. It's a short release and I read it twice, so if it was there I feel like I'd have noticed.
- deleted 2y ago[deleted]
- happypumpkin 2y agoOn a related note, Microsoft published a press release last year [1] where they seemed to suggest that 30% of accepted copilot suggests was a 30% productivity boost for devs. > users accept nearly 30% of code suggestions from GitHub Copilot > Using 30% productivity enhancement, with a projected number of 45 million professional developers in 2030, generative AI developer tools could add productivity gains of an additional 15 million “effective developers” to worldwide capacity by 2030. This could boost global GDP by over $1.5 trillion They were probably just being disingenuous to drum up hype but if not they'd have to believe that: 1) All lines of code take the same amount of time to produce 2) 100% of a developer's job is writing code [1]: https://github.blog/2023-06-27-the-economic-impact-of-the-ai-powered-developer-lifecycle-and-lessons-from-github-copilot/ https://github.blog/2023-06-27-the-economic-impact-of-the-ai...
- rishabhjain1198 2y agoIn its current state, I look at it as just a much smarter coding auto-complete, which is still very useful. With that perspective, "characters added by AI" is an ok metric to track.
- throwanem 2y agoI haven't found it particularly smart, at least in its GitHub Copilot incarnation. Per the metrics I added to the integration when I began to trial it, I accepted about 27% of suggestions. I didn't track how many suggestions I accepted unmodified, because that would have been orders of magnitude more difficult; I would be fascinated to see Google's solution to the same problem documented, but doubt strongly that I will. I'm sure it's entirely sound, though, and like all behavioral science in no sense a matter of projection, conjecture, interpretation, or assumption. I turned off the Copilot integration months ago, when I realized that the effort of understanding and/or dismissing its constant kibitzing was adding more friction on net to my process than its occasions of usefulness alleviated. I do still use LLMs as part of my work, but in a "peer consultant" role, via a chat model and a separate terminal. In that role, I find it useful. In my actual editor, conversely, it was far more than anything else a constant, nagging annoyance; the things it suggested that I'd been about to write were trivial enough that the suggestion itself broke my flow, and the things it suggested that I hadn't been about to write were either flagrantly misguided for the context or - much worse! - subtly wrong, in a way that took more time to recognize than simply going ahead and writing it by hand in the first place would have. I've been programming for 36 years, and it's been well more than two decades since I did any other kind of paying work. The idea that these tools are becoming commonplace, especially among more junior devs without the kind of confidence and discernment such tenure can confer, worries me - both on behalf of the field, and on theirs, because I believe this latest hype bubble ill serves them in a way that will make them much more vulnerable than they should need to be to other, later, attacks by capital on labor in this industry.
- endisneigh 2y agoAnyone who works at Google knows they are force feeding the employees with this stuff. Same thing they’re doing with the general public and search. Anyone who worked at google during + can see this is the same half hearted type of force feeding that will fail, with the rationalizations to boot. Disclaimer: I hold google stock but don’t work at google
- deleted 2y ago[deleted]
- refulgentis 2y agoThat's not true, I'm a xoogler as of October, and at least 2 of my ex-colleagues continue to generally wonder if AI can write code or not, and if it can, they haven't tried it. Last update 60 days ago. It does look like there's an auto-installed cider extension, which is fine, the worst case for this stuff is "it's in my autocomplete list" -- that's fine!
- yeahwhatever10 2y agoYou guys really got knock it off with adding “oogler” to everything.
- danpalmer 2y agoI work at Google, this stuff is available, entirely optional, and in fact the most recent stuff is still something you have to sign up for and get on an opt-in basis in return for providing feedback/answering surveys.
- m3kw9 2y agoPath ahead is to test you stuff before releasing
- runlevel1 2y agoHumans have limited RAM, so we have to put our ideas into an external medium that can then be refined. I've been finding AI's suggestions -- even when rather wrong -- help me do that initial step faster. Which, I think, jives with their findings here.
- nomel 2y agoFirst we extended the reach of our perception with language. Then we extended the energy in our calories reserves with crops/livestock. Then we extended the length of our memories with writing. Then we extended the breadth of our thinking with AI?
- gerdesj 2y ago"Humans have limited RAM" I would suggest we have flexible RAM. Also, we have an awful lot of it. The analogy breaks down as soon as you look at it too seriously! In IT we largely deal with compute, persistent storage and non-persistent storage. Roughly speaking: CPU, RAM, HDD. In humans we might be considered to have similar "abilities" but unlike IT there is a mostly a single thing that performs all of those functions - the brain. That organ is both compute and storage. LLMs can be surprisingly useful but they are a tool. As with all tools they can be abused and no doubt you have spotted all those tech blogs that spout the same old thing and often with subtle failings (hallucinations). Keep your tools sharp and know how to safely use sharp tools.
- bigiain 2y agoI'm looking forward to the day that some spicy autocomplete regurgitates an obvious chunk of AGPL code that it's stolen without permission or attribution - and it ends up in some critical part of Googles money printing machine, and the outside world finds out about it. I'm gonna need a _lot_ of popcorn.
- jjallen 2y agoHow would the outside world find out about private Google code? Maybe the fact could be leaked? Unlikely though.
- HeatrayEnjoyer 2y agoAn insider could tip them off, then IP owner sues and Google has to produce it during discovery.
- shermantanktop 2y agoAnd? For big companies, lawsuits are mostly about being forced to pay money. Rarely does losing a case drive real behavioral change, much less fundamental change. IP getting coughed out of an AI will keep some lawyers busy and result in fig leaf changes.
- HeatrayEnjoyer 2y agoThe outcome of any IP lawsuit is going to include an order to cease use of the IP. Even a DMCA notice requires cessation. If the infringing code powered a widely used service, replacing the code with a clean room refactor could be arduous and time-consuming and might require a court-appointed monitor to sign off.
- imabotbeep2937 2y agoYou're way, way under thinking the problem. People who work at your bank right now are pasting your personal details into language models and asking if you deserve a loan. People will figure out how to get this data back out. "But the model only uses old training data" there are myriad lawsuits in flight where these companies took information they shouldn't have, in all forms. Prompt engineers have already got the engines to spew things that are legally damning. A real hack, which might archive user inputs as well as exfiltrate training data. We're only beginning to imagine the nightmare. Can people use these language models to get private Google info? Only if Google was dumb enough to include that in the training. Hint: Yes, it's much, much worse than anyone imagines.
- vsskanth 2y agoI wonder if AI code completion reduces the value of abstractions if boilerplate code is easy to generate. Will this lead to highly repetitive code ?
- deleted 2y ago[deleted]
- piloto_ciego 2y agoIf it works and it never needs a human, does it matter?
- dennis_moore 2y agoIt works until it doesn't at which point you have a massive, useless pile of uninterpretable garbage.
- piloto_ciego 2y agoThen you ask another LLM to explain it to you lol, like - I don’t think people are thinking hard enough about what this future is likely to look like.
- pquki4 2y agoWell, someone (a human being) still maintains it, and ultimately someone likely will find the code unmaintainable even if LLMs help. If you use ChatGPT enough you would know it has its standards as well, actually pretty high. At one point the code likely still needs to be refactored, by human or not.
- the_doctah 2y agoCrazy that people say shit like this without seeing a problem with it.
- piloto_ciego 2y ago
- zackproser 2y agoAfter reading this I'm wondering how the indy code autocomplete tools are going to be able to compete longterm with this giant feedback rich data machine Google has built...do engineering orgs of sufficient scale ultimately hoard their tooling for competitive advantage, thereby leaving independent players to cater to developers outside of Google? Feels like yes...but plenty of inventions trickle out in various forms.
- skywhopper 2y agoI’m not seeing any evidence that any of this is actually good for Google’s business. Their observations that half of code checked in is from suggestions by an LLM is not really surprising in a regimented dev platform with tons of boilerplate. That stat tells us nothing about actual code quality, development velocity, or skill curves over time, much less business impact. What product of Google’s has been improved by this feedback loop? The trajectory of Google search itself in the past year has been steadily downhill. And what other products of theirs I use don’t really change much, at least not in positive ways. Gmail is just gradually being crushed from every side by other app widgets scrounging for attention. Chrome has added… genAI features and more spyware? Great.
- mensetmanusman 2y agoGoogle prints money until search goes away. Nothing else they work on has to succeed.
- zackproser 2y agoBut increasingly I prefer to ask LLMs the same things I used to search Google for...
- SrslyJosh 2y agoAnd then you do search to check that the output reflects reality, right? If not, good luck.
- bitwize 2y agoToday on Facebook I saw a headline: "Marvel Fans Want to See Miley Cyrus as Rogue in the MCU". And I thought to myself: Which Marvel fans? And now... > Just five years later, in 2024, there is widespread enthusiasm among software engineers about how AI is helping write code. Which software engineers?
- Auracle 2y agoThere are plenty in this post, and I'm one of them. It may or may not be great for job prospects, but as someone who isn't one of you fancy startup/FAANG super programmers it's great for me to be able to ask it design problems, what the 'best' way to do a certain thing is, or tell it "I need a function given x,y, and z that does this and returns this." There are plenty of instances where it doesn't make sense to use it, but I always have a tab with ChatGPT open when coding now. Always.
- viking123 2y agoIt's good if you have some domain knowledge and can kind of detect the bullshit there, and also just in cases where there is large amounts of training data. I am in big tech and I use it pretty much every day, mostly in cases where I would have spent a lot of time googling before.
- deleted 2y ago[deleted]
- 29athrowaway 2y agoWelcome to the AI pawn shop, where you sell your skills to the AI, you get paid and then your knowledge and skills is sold at cents per token.
- bitwize 2y agoYou'd be surprised at how many "Make money teaching AIs to code!" job postings there are out there now. Taking "training your replacement" to whole new levels.
- userbinator 2y agoAs others have mentioned, unless you have a strong conscience and really know what you're doing, it's far too tempting to just accept AI-generated suggestions without really thinking, and IMHO losing that understanding is a dangerous path to go down. AI can only increase quantity, not quality. The industry desperately needs far more of the latter. Related: https://navendu.me/posts/ai-generated-spam-prs/ https://navendu.me/posts/ai-generated-spam-prs/
- bamboozled 2y agoIt's a concern I have too, when I get tired, I start to just delegate to co-pilot suggestions as I get desperate, if I didn't have co-pilot, I'd probably just log off for the day. I actually don't really use copilot as I didn't find it that helpful, so I don't really have the problem anymore, but I could see it was a danger. Bit like driving when tired.
- RogerL 2y agoI look at is as asking an intern to do some work that I don't have time for. Do I have to check their work? Yes. Might I have to correct and guide the outcome? Again, yes. Am I going to ask them to implement something novel and groundbreaking? Not really, that'd be a disaster unless they are a prodigy. None of that removes my capacity, or any kind of danger.
- darkerside 2y agoIt's funny, the slowness of the intern is probably a feature. You delegate, and you don't have to deal with it until you are refreshed. With AI, you delegate, and then you need to review in the next minute while you are still exhausted.
- jazzyjackson 2y agoif you don't have time to do work then you don't have time to mentor an intern doing that work if you're just delegating work you don't have an intern, you have an undercompensated employee
- vitus 2y agoFrom the screencast: > implement also for Days This fails to recognize that this is a bad feature that the Abseil library would explicitly reject (hence the existence of absl::CivilDay) [0], and instead perpetuates the oversimplification that 1 day is exactly 24 hours (which breaks at least twice every year due to DST). Which is to say: it'll tell you how to do the thing you ask it to do, but will not tell you that it's a bad idea. And, of course, that assumes that it even makes the change correctly in the first place (which is nowhere near guaranteed, in my experience). I have seen (and bug-reported!) cases where it incorrectly inverts conditionals, introduces inefficient or outright unsafe code, causes unintended side effects, perpetuates legacy (discouraged) patterns, and more. It turns out that ML-generated code is only as good as its training data, and a lot of google3 does not adhere to current best practices (in part due to new library developments and adoption of new language versions, but there are also many corners of the codebase with, um, looser standards for code quality). [0] https://github.com/abseil/abseil-cpp/blob/bde089f/absl/time/time.h#L502-L506 https://github.com/abseil/abseil-cpp/blob/bde089f/absl/time/...
- deleted 2y ago[deleted]
- kgilpin 2y agoWhen AI is used properly, it’s doing one of two things: 1) Making non-controversial fixes that save time and take cognitive load off the developer. The best example is when code completion is working well. 2) It’s making you smarter and more knowledgeable by virtue of the suggestions it makes. You may discard them but you still learn something new, and having an assistant brainstorm for you enables a different mode of thinking - idea triage - that can be fun, productive, useful and relaxing. People sometimes want completion to do this also, but it’s not well suited to it beyond teaching new language features by example. The article makes an interesting assertion that AI tools “fail to scale” when the user has to remember to trigger the feature. So how can AI usefully suggest design-level and conceptual ideas in a way that doesn’t require a user “trigger”? Within the IDE, I’m not sure. The example given of automated comment resolution is interesting and “automatic”, but not likely to be particularly high level in nature. And it also occurs in the “outer flow” of code review. It’s the “inner flow” that’s the most interesting to me because it’s when the real creativity is happening.
- asabla 2y ago> So how can AI usefully suggest design-level and conceptual ideas in a way that doesn’t require a user “trigger”? I'm just guessing here. But maybe make it part of some other (already natural and learned) trigger made by the user. I'm thinking part of refactoring. Were your AI is not only looking at the code, but the LSP, recent git changes (both commit and branch name), which code files you've been browsing. And if you want to make it even more powerful. I guess also part of your browser history will be relevant (even if there is privacy concerns)
- thaumasiotes 2y ago> So how can AI usefully suggest design-level and conceptual ideas in a way that doesn’t require a user “trigger”? Within the IDE, I’m not sure. https://upload.wikimedia.org/wikipedia/en/d/db/Clippy-letter.PNG https://upload.wikimedia.org/wikipedia/en/d/db/Clippy-letter...
- whywhywhywhy 2y agoClippy was on the right path at the wrong time, the issue wasn't the concept of an assistant that watches your work and provides help, the issue was it could detect a letter, offer help but the help it gave you was just a bunch of shallow formatting suggestions without context to the actual work. An actual assistant that can preempt what you need and create it before you get there with a 95% success rate will not feel like Clippy.
- leoh 2y agoGoogle has been really lost here over the last several years. When lambda and bard were already killer at producing reasonable code and OpenAI had scarcely released anything, there was an explicit embargo against using them internally. When Blake Lemoine was talking nonsense about lambda being conscious in June ‘22, these internal models were already killer at producing code. ChatGPT wouldn’t be released for another 5-6 months. https://theconversation.com/is-googles-lamda-conscious-a-philosophers-view-184987 https://theconversation.com/is-googles-lamda-conscious-a-phi...
- deleted 2y ago[deleted]
- dangcalluhack 2y ago[flagged]
- dangcalluhack 2y ago[flagged]
- dangcalluhack 2y ago[flagged]
- jakelazaroff 2y agoThis is kind of like answering “which software engineers are excited about Stack Overflow?” with “mediocre to bad ones”. It’s A) insulting, but more importantly B) wrong — if I’m, say, a web developer who is trying to learn graphics programming, of course I’ll need help as I build a mental model of the domain.
- suyash 2y agoSo how long till AI will be fully replacing a SWE at Google? That is where the drive for productivity at organizations like Google are leading towards.
- knallfrosch 2y agoAssuming Google has tens of thousands of software engineers (for a lower bound of 10,000) and artificial intelligence increases productivity by at least 0.01%, the first engineer has already been replaced.
- bamboozled 2y agoSo how long till AI will be fully replacing a SWE at Google? Notice parent said "fully"
- zekica 2y agoNever? Google will probably reduce their SWE more and more assuming we get exponentially better at LLMs or something better comes along, but it won't ever be fully replaced.
- rebolek 2y agoThat depends on when we'll have AI and my guess is never. But I may be wrong.
- DebtDeflation 2y agoIt's the wrong question. It's like asking "How long until a bulldozer [1] fully replaces a human construction worker?" A bulldozer is not a full replacement for a human construction worker. However, 1 worker with a bulldozer can do the work of 10 workers with shovels. And 10 workers with bulldozers can build things no amount of workers with shovels can. [1] I'm using bulldozer as shorthand for all automated construction equipment - front end loaders, backhoes, cranes, etc.
- booleandilemma 2y ago
- deleted 2y ago[deleted]
- dr_dshiv 2y agoHalf of all code at Google is AI generated?? (See the line chart, reaching 50%)
- rKarpinski 2y agoAnd what % of "code" is boilerplate?
- hejdufufjrj 2y agoNo, half of new code has at least one character AI generated, something like that.
- Majestic121 2y agoHalf of new characters are AI generated
- dr_dshiv 2y agoThat’s my understanding too
- hi-v-rocknroll 2y agoThe gradual, eventual, ultimate conclusion killer app of AI is to run the systems, debug apps like an SRE, manage warm datastores, and eventually write app code based on the desires of feedback and requirements descriptions from users, design new programming languages/formats for it, and later design silicon. The curious bit is how product managers will fit into this picture to perhaps supervise what is allowed, only to eventually removed. There's no conceivable job that can't be eaten partially or mostly by AI, if not nearly entirely eaten in the future. At some region on the technological "singularity" timeline, there will can and will be fully-autonomous corporations. The question is: With corporate personhood, can a corporation exist, pay (some) taxes, reinvest in itself, and legally function without any human owners? This may also be contingent on whether or not a corporation conduct legal and business activities, i.e., if performed by a human agent or through some automated means, even if they were directed by AI management. IANAL, but I guess an autonomous corporation could be sued, and perhaps even the creators of the software used to create the AI that run it could also be potentially at risk.
- dash2 2y agoWe're going to invest $7 trillion to get... better autocomplete? Apple and Microsoft are gonna smoke these guys.
- jillesvangurp 2y agoLLMs are undeniably useful for programming. The core challenge in making them more useful is the right UX for making this more seamless. I use intellij and things like codegpt. A few weeks ago they enabled auto complete. I disabled it after a day. Reason: most of the suggestions weren't great and it drowned out the traditional auto complete, which I depend on. I just found the whole thing too distracting. I also have the chat gpt desktop app installed since a few weeks. This adds a key binding (option + space) to be able to ask it questions. I've found myself using it more because of that. Copy some code, option+space, ask it a question and there it goes. The main issue is that it is a bit ground hog day in the sense that I have to explain it in detail what I want every time. I can't just ask it to generate a unit test (which it does very well). Instead I have to specify that I want it to generate a unit test, use kotlin-test and kotest-assertions, and not use backticks for the function names (doesn't work with kotlin-js). Every time. If I don't it will just default to the wrong things because it doesn't remember your preferences for frameworks, style, habits, etc. and it doesn't look at the whole code base to infer any of that. Mostly, progress here is going to come in the form of better IDE support and UX. The right key bindings would help. A bigger context so it can just grab your whole git project and be able to suggest appropriate code using all the right idioms, frameworks, etc. would then be possible. Additionally, it would be able to generate files and directories as needed and fill them with all the right stuff. I don't think that's going to take very long. Gpt-4o already has a quite large context and with the progress in OSS models, we might be doing some of this stuff locally pretty soon.
- simonw 2y ago> Instead I have to specify that I want it to generate a unit test, use kotlin-test and kotest-assertions, and not use backticks for the function names (doesn't work with kotlin-js). Every time. Have you experimented with GPTs much? I'd solve this problem by creating my own private "write a unit test" GPT that has my preferences configured in the system prompt.
- calderwoodra 2y agoThis, as well as system prompts could help you a bunch.
- orsenthil 2y agoAn extrapolation to these make me think that programmers becoming like Tony Stark telling Jarvis what to do, and it gets it done. Or Minority Report style interfaces, where people will inform their intent (prompt?) and get the answers.
- yencabulator 2y agoWhat I've learned is that a video play/pause button in the far right corner is horribly unintuitive.
- rldjbpin 2y agoHappy for them to experiment with the tools, but i am afraid it will have more negative effect through others blindly copying without reading between the lines. i am still struggling to find value where the main selling points of using llm for code lies. for boilerplate this is a very inefficient although interesting way, but it does not help me do the thinking. well-written, language-specific boilerplate generation in most ide brings out the current effects just fine.