Do we know for a fact there are Microsoft employees who were told they have to use CoPilot and review its change suggestions on projects?
We have the option to use GitHub CoPilot on code reviews and it’s comically bad and unhelpful. There isn’t a single member of my team who find it useful for anything other than identifying typos.
> Do we know for a fact there are Microsoft employees who were told they have to use CoPilot and review its change suggestions on projects?
It wouldn't be out of character, Microsoft has decided that every project on GitHub must deal with Copilot-generated issues and PRs from now on whether they want them or not. There's deliberately no way to opt out.
Like Googles mandatory AI summary at the top of search results, you know a feature is really good when the vendor feels like the only way they can hit their target metrics is by forcing their users to engage with it.
Which almost feels unique to AI. I can't think of another feature so blatently pushed in your face, other then perhaps when everyone lost their minds and decided to cram mobile interfaces onto every other platform.
To some degree I think part of its “hey look here, we’re doing LLMs too we’re not just traditional search” positioning. They feel the pressure of competition and feel forced to throw whatever they have in the users face to drive awareness. Whether that’s the right approach or not, not so sure, but I suspect that’s a lot of it given that OpenAI is still the poster boy and many are switching to using things like ChatGPT entirely in place of traditional search engines.
> I can't think of another feature so blatently pushed in your face
Passkeys. As someone who doesn't see the value of it, every hype-driven company seems to be pushing me to replace OPT 2FA with something worse right now.
It's because OTP is trivially phishable: setup a fake login form that asks the user for their username and password, then forwards those on to the real system and triggers the OTP request, then requests THAT of the user and forwards their response.
Except if you use a proper password manager that prevents you from using the autofill on domains/pages others than the hardcoded ones. In my case, it would immediately trigger my "sus filter" if the automatic prompt doesn't show up and I would have to manually find the entry.
Turns out that under certain conditions, such as severe exhaustion, that "sus filter" just... doesn't turn on quickly enough. The aim of passkeys is to ensure that it _cannot_ happen, no matter how exhausted/stressed/etc someone is. I'm not familiar enough with passkeys to pass judgement on them, but I do think there's a real problem they're trying to solve.
If you're saying something is less secure because the users might suffer from "severe exhaustion", then I know that there aren't any proper arguments for migrating to it. Thanks for confirming I can continue using OTP without feeling like I might be missing something :)
Yeah, but they genuinely also prevent you from moving away from companies in the process of enshittification, since the whole export/import thing seemingly hasn't been figured out or even less been deployed yet.
Besides, if you ignore security alarm-bells going off when exhausted, I'm not sure what solution can 100% protect you.
Holy sh*t I didn't know this was going on. It's like an AI tsunami unleashed by Microsoft that will bury the entire software industry... They are like Trump and his tariffs, but for the software economy.
What this tells me is that software enterprises are so hellbent in firing their programmers and reducing their salary costs they they are willing to combust their existing businesses and reputation into the dumpster fire they are making. I expected this blatant disregard for human society to come ten or twenty years into the future, when the AI systems would actually be capable enough. Not today.
> What this tells me is that software enterprises are so hellbent in firing their programmers and reducing their salary costs they they are willing to combust their existing businesses and reputation into the dumpster fire they are making. I expected this blatant disregard for human society to come ten or twenty years into the future
Have you been sleeping under a rock for the last decade? This has been going on for a long long time. Outsourcing been the name of the game for so long people seem to forgot it's happening it all.
>Like Googles mandatory AI summary at the top of search results, you know a feature is really good when the vendor feels like the only way they can hit their target metrics is by forcing their users to engage with it.
People like to compare "AI" (here, LLM products) to the iPhone.
I cannot make sense of these analogies; people used to line up around the block on release day for iPhone launches for years after the initial release.
Seems now most people collectively groan when more "innovative" LLM products get stuffed into otherwise working software.
"From talking to colleagues at Microsoft it's a very management-driven push, not developer-driven. Friend on an Azure team had a team member who was nearly put on a PIP because they refused to install the internal AI coding assistant. Every manager has "number of developers using AI" as an OKR, but anecdotally most devs are installing the AI assistant and not using it or using it very occasionally. Allegedly it's pretty terrible at C# and PowerShell which limits its usefulness at MS."
"From reading around on Hacker News and Reddit, it seems like half of commentators say what you say, and the other half says "I work at Microsoft/know someone who works at Microsoft, and our/their manager just said we have to use AI", someone mentioned being put on PIP for not "leveraging AI" as well.
I guess maybe different teams have different requirements/workflows?"
you can directly link to comments, by the way. just click on the link which displays how long ago the comment was written and you get the URL for the single comment.
(just mentioning it because you linked a post and quoted two comments, instead of directly linking the comments. not trying to 'uhm, actually'.)
All of that is working, at least, because the very small company I work for with a limited budget is working on getting an extremely expensive copilot license. Oh no, I might have to deal with this soon..
> Depends on team but seems management is pushing it
The graphic "Internal structure of tech companies" comes to mind, given if true, would explain why the process/workflow is so different between the teams at Microsoft: https://i.imgur.com/WQiuIIB.png
Imagine the Copilot team has a KPI about usage, matching the company OKRs or whatever about making sure the world is using Microsoft's AI enough, so they have a mandate/leverage to get the other teams to use it regardless of if it's helping or not.
Sure, but if the product in question is at best tangential to your core products, it sucks, and makes your work flow slow to a crawl, I don’t blame employees for not wanting to use it.
For example, if tomorrow my company announced that everyone was being switched to Windows, I would simply quit. I don’t care that WSL exists, overall it would be detrimental to my workday, and I have other options.
True. i didn't mean "not terrible for employees" i meant "not terrible for company goals". Yes, these are intertwined, but assuming not everyone quits over introducing AI workflows it could make Microsoft a leader in that space.
In companies this large and old, the answer most often is a 'no'. The under-performers can now be justifiable laid off with under-performers worthy severance, till morale improves.
Management is pushing it because the execs are pushing it, and the execs are pushing it because they already spent 50 billion dollars on these magic beans and now they really really really need them to work.
The stock price isn't going to go up on its own. Even when MS was massively profitable in the 2000s, the stock used to be stuck in the $30-$40 range because Wall St didn't think it was "innovating" fast enough.
At Microsoft, because they sell that stuff and it would be really bad for their image if they insisted they work better by not using it.
(Or, rather, I have no idea how this compares with the image of they actually not delivering because they use it. But that's a next quarter problem.)
At every other place where management is strongly pushing it, I honestly have no idea. It makes zero sense for management to do that everywhere, yet management is doing that everywhere.
The question is who is setting these OKRs/Metrics for management and why?
It seems to me to be coming from the CEO echo chamber (the rumored group chats we keep hearing about). The only way to keep the stock price increasing in these low growth high interest rate times is to cut costs every quarter. The single largest cost is employee salaries. So we have to shed a larger and larger percentage of the workforce and the only way to do that is to replace them with AI. It doesn't matter whether the AI is capable enough to actually replace the workers, it has to replace them because the stock price demands it.
> the only way to do that is to replace them with AI
I guess money-wise it kind of makes sense when you're outsourcing the LLM inference. But for companies like Microsoft, where they aren't outsourcing it, and have to actually pay the cost of hosting the infrastructure, I wonder if the calculation still make sense. Since they're doing this huge push, I guess someone somewhere said it does make sense, but looking at the infrastructure OpenAI and others are having to build (like Stargate or whatever it's called), I wonder how realistic it is.
Yep. I heard someone at Microsoft venting about management constantly pleading with them to use AI so that they could tell investors their employees love AI, while senior (7+ year) team members were being “randomly” fired.
In my experience, LLMs in general are really, really bad at C# / .NET , and it worries me as a .NET developer.
With increased LLM usage, I think development in general is going to undergo a "great convergence".
There's a positive(1) feedback loop where LLM's are better at Blub, so people use them to write more Blub. With more Blub out there, LLMs get better at Blub.
The languages where LLMs struggle, with become more niche, leaving LLMs struggling even more.
C# / .NET is something LLMs seem particularly bad at, and I suspect that's partly caused by having multiple different things all called the same name. EF, ASP, even .NET itself are names that get slapped on a range of different technologies. The EF API has changed so much that they had to sort-of rename it to "EF Core". Core also gets used elsewhere such as ".NET core" and "ASP.NET Core". You (Or an LLM) might be forgiven for thinking that ASP.NET Core and EF Core are just those versions which work with .NET Core (now just .NET ) and the other versions are those that don't.
But that isn't even true. There are versions of ASP.NET Core for .NET Framework.
Microsoft bundle a lot of good stuff into the ecosystem, but their attitude when they hit performance or other issues is generally to completely rewrite how something works, but then release the new thing under the old name but with a major version change.
They'll make the new API different enough to not work without work porting, but similar enough to confuse the hell out of anyone trying to maintain both.
They've made things like authentication, which actually has generally worked fine out-of-the-box for a decade or more, so confusing in the documentation that people mostly tended to run for a third party solution just because at least with IdentityServer there was just one documented way to do it.
I know it's a bit of a cliche to be an "AI-doomer", and I'm not really suggesting all development work will go the way of the dinosaur, but there are specific ecosystem concerns with regard to .NET and AI assistance.
(1) Positive in the sense of feedback that increased output increases output. It's not positive in the sense of "good thing".
My impression is also that they are worse at C# than some other languages. In autocomplete mode in particular it is very easy to cause the AI tools to write terrible async code. If you start some autocomplete but didn't put an await in front, it will always do something stupid as it can't add the await itself at that position. But also in other cases I've seen Copilot write just terrible async code.
I rather suspect that it's bad at C# simply because there's much fewer open source C# code to train on out there than there is JavaScript, Python, or even Java. The vast majority of C# written out in real world is internal corporate apps. And while this is also true for Java, it has had a vast open source ecosystem associated with it for much longer than .NET.
Using a throwaway for obvious reasons. I work at a non-tech megacorp that you've heard of. This company's (I will not say "our"!) CEO is very close to Nadella, they meet regularly. Management here is also pushing Github Copilot onto devs, aggressively, and including it in their HR reviews. Dev-adjacent roles (product, QA, BAs) are also seeing aggressive push.
After all of that, every PR that Copilot opened still has failing tests and it failed to fix the issue (because it fundamentally cannot reason).
No surprises here.
It always struggles on non-web projects or on software where it really matters that correctness is first and foremost above everything, such as the dotnet runtime.
Either way, a complete disastrous start and what a mess that Copilot has caused.
Part of why it works better on web projects is the sheer volume of training data. There is probably more JS written than any other language by orders of magnitude. Its quality is pretty dubious though.
I have so far only found LlMs useful as a way of researching, an alternative to web search, and doing very basic rote tasks like implementing unit tests or doing a first pass explanation of some code. Tried actually writing code and it’s not usable.
> Part of why it works better on web projects is the sheer volume of training data.
OTOH webdev is known for rapid framework/library churn, so before too long there will be a crossroads where the pre-AI training data is too old and the fresh training data is contaminated by the firehose of vibe coded slop.
Interesting that every comment has "Help improve Copilot by leaving feedback using the or buttons" suffix, yet none of the comments received any feedback, either positive or negative.
> This seems like it's fixing the symptom rather than the underlying issue?
This is also my experience when you haven't setup a proper system prompt to address this for everything an LLM does. Funniest PRs are the ones that "resolves" test failures by removing/commenting out the test cases, or change the assertions. Googles and Microsofts models seems more likely to do this than OpenAIs and Anthropics models, I wonder if there is some difference in their internal processes that are leaking through here?
The same PR as the quote above continues with 3 more messages before the human seemingly gives up:
> please take a look
> Your new tests aren't being run because the new file wasn't added to the csproj
> Your added tests are failing.
I can't imagine how the people who have to deal with this are feeling. It's like you have a junior developer except they don't even read what you're telling them, and have 0 agency to understand what they're actually doing.
How are people reviewing that? 90% of the page height is taken up by "Check failure", can hardly see the code/diff at all. And as a cherry on top, the unit test has a comment that say "Test expressions mentioned in the issue". This whole thing would be fucking hilarious if I didn't feel so bad for the humans who are on the other side of this.
I'm not entirely sure why they're running linters on every available platform to begin with, it seems like a massive waste of compute to me when surely the output will be identical because it's analysing source code, not behaviour.
I dunno, when I review code, I don't review what's automatically checked anyways, but thinking about the change/diff in a broader context, and whatever isn't automatically checked. And the earlier you can steer people in the right direction, the better. But maybe this isn't the typical workflow.
It's a waste of time tbh; fixing the checks may require the author to rethink or rewrite their entire solution, which means your review no longer applies.
Let them finish a pull request before spending time reviewing it. That said, a merge request needs to have an issue written before it's picked up, so that the author does not spend time on a solution before the problem is understood. That's idealism though.
"I wonder if there is some difference in their internal processes that are leaking through here?"
Maybe, but likely it is reality and their true company culture leaking through. Eventually some higher eq execs might come to the very late realization that they cant actually lead or build a worthwhile and productive company culture and all that remains is an insane reflection of that.
> improve Copilot by leaving feedback using the or buttons" suffix, yet none of the comments received any feedback, either positive or negative
Why do they even need it? Success is code getting merged 1st shot, failure gets worse the more requests for changes the agent gets. Asking for manual feedback seems like a waste of time. Measure cycle time and rate of approvals and change failure rate like you would for any developer.
> I can't imagine how the people who have to deal with this are feeling. It's like you have a junior developer except they don't even read what you're telling them, and have 0 agency to understand what they're actually doing.
That comparison is awful. I work with quite a few Junior developers and they can be competent. Certainly don't make the silly mistakes that LLMs do, don't need nearly as much handholding, and tend to learn pretty quickly so I don't have to keep repeating myself.
LLMs are decent code assistants when used with care, and can do a lot of heavy lifting, they certainly speed me up when I have a clear picture of what I want to do, and they are good to bounce off ideas when I am planning for something. That said, I really don't see how it could meaningfully replace an intern however, much less an actual developer.
And yet it got the job and lots of would be juniors didn’t, and it seems to be costing the company more in compute and senior dev handholding. Nice work silicon valley.
These GH interactions remind me of one of those offshore software outsourcing firms on Upwork or Freelancer.com that bid $3/hr on every project that gets posted. There's a PM who takes your task and gives it to a "developer" who potentially has never actually written a line of code, but maybe they've built a WordPress site by pointing and clicking in Elementor or something. After dozens of hours billed you will, in fact, get code where the new file wasn't added to the csproj or something like that, and when you point it out, they will bill another 20 hours, and send you a new copy of the project, where the test always fails. It's exactly like this.
Nice to see that Microsoft has automated that, failure will be cheaper now.
This gives me flashbacks to when my big corporate former employer outsourced a bunch of work offshore.
An outsourced contractor was tasked with a very simple job as their first task - update a single dependency, which required just a bump of the version and no code changes - after three days of them seemingly struggling to even understand what they were asked to do, inability to clone the repo, failure to install the necessary tooling on their machine, they ended up getting fired from the project. Complete waste of money, and the time of those of us having to delegate and review this work.
Makes me wonder if the pattern will continue to follow, and we start to find certain agents—maybe due to config, maybe due to the training codebase and the codebase they're pointed at—that will become the single one out of the group we can rely on.
Give instructions, get good code back. That's the dream, though I think the pieces that need to fall into place for particular cases will prevent reaching that top quality bar in the general case.
Yeah, this is what we used to call "hiring." People who think it can ever come with guarantees make incompetent and tiresome clients.
I can't wait for the first AI agent programmer to realize this and start turning down jobs working for garbage people...or exploiting them at scale for pennies each, in a labor version of the "salami slicing" scheme. I don't mean humans using AI to do this, which of course has been at scale for years. I mean the first agent to discover a job prioritization heuristic on its own which leads to the same result.
> These GH interactions remind me of one of those offshore software outsourcing firms on Upwork or Freelancer.com that bid $3/hr on every project that gets posted
Those have long been the folks I’ve seen at the biggest risk of being replaced by AI. Tasks that didn’t rely on human interaction or much training, just brute force which can be done from anywhere.
>>These GH interactions remind me of one of those offshore software outsourcing firms on Upwork or Freelancer.com that bid $3/hr on every project that gets posted.
This level of smugness is why outsourcing still continues to exist. The kind of things you talk about were rare. And were mostly exaggerated to create anti-outsourcing narrative. None of that led to outsourcing actually going away simply because people are actually getting good work done.
Bad quality things are cheap != All cheap things are bad.
Same will work with AI too, while people continue to crap on AI, things will only improve, people will be more productive with AI, get more and bigger things done for cheaper and better. This is just inevitable given how things are going now.
>>There's a PM who takes your task and gives it to a "developer" who potentially has never actually written a line of code, but maybe they've built a WordPress site by pointing and clicking in Elementor or something.
In the peak of outsourcing wave. Both the call center people and IT services people had internal training and graduation standards that were quite brutal and mad attrition rates.
Exams often went along the lines of having to write whole ass projects without internet help in hours. Theory exams that had like -2 marks on getting things wrong. Dozens of exams, projects, coding exams, on-floor internships, project interviews.
>>After dozens of hours billed you will, in fact, get code where the new file wasn't added to the csproj or something like that, and when you point it out, they will bill another 20 hours, and send you a new copy of the project, where the test always fails. It's exactly like this.
Most IT services billing had pivoted away from hourly billing, to fixed time and material in the 2000s itself.
>>It's exactly like this.
Very much like outsourcing. AI is here to stay man. Deal with it. Its not going anywhere. For like $20 a month, companies will have same capability as a full time junior dev.
This is NOT going away. Its here to stay. And will only get better with time.
There's no reason why an outsourcing firm would charge less for work of equal quality. If a company outsourced to save money, they'd get one of the shops that didn't get the job done.
>>There's no reason why an outsourcing firm would charge less for work of equal quality.
Most of this works because of price arbitrage. And continues to work that way, not just with outsourcing but with manufacturing too.
Remember those days, when people were going around telling Chinese products where crap? That didn't really work and more things only got made in China.
This is all so similar to early days of Google search, its just that cost of a search was low enough that finding things got easier and ubiquitous. That same is unfolding with AI now. People have a hard time believing a big part of their thinking can be outsourced to something that costs $20/month.
How can something as good as me be cheaper than me? You are asking the wrong question. For centuries now, every decade a machine(s) has arrived that can do a thing cheaper than what the human was doing at the time. Its not exactly impossible. You are only living in denial by asking this question, this has been how it has worked the day since humans found way of mimicking human work through machines. We didn't get here in a day.
Again I don't know what people mean when they say it will get more expensive. This is a wrong way of looking at the issue.
Pretty sure cars are more expensive than horse carriage, or that iPhones are/were more expensive than button phones. You can cite so many such examples. Like photocopying machines, or cameras, or wrist watches, or even things like radio, television etc.
More importantly, sometimes how you do things change. And that changes how you go about your life in a very fundamental way.
That is what internet was about when it first came out, thats what internet search, online maps, or search etc etc were.
AI will change how you go about living your life, in a very fundamental way.
The worry, that is borne out by the pricing of Uber, isn't that LLMs are more expensive than the generation before, but that it's a VC play. Get into market, undercut your competitors until they go bust, then raiser prices. Ubers used to be $1, which was obviously totally unsustainable. Now Uber's only competing platform is Lyft, and Uber is making money as of their latest quarter. Ubers are not at least $10 if not $50 $100. ChatGPT's $20/month looks like $1 Ubers to some. Only insiders know how much it actually costs OpenAI to support ChatGPT users. I will note, however, that GitHub free private repos are supported by corporations paying for their own private GitHub, so it's unclear that ChatGPT's $20/month ever has to be raised with enough $200 or $2,000 or $20,000/month users.
> Pretty sure cars are more expensive than horse carriage
Basic car ownership can be quite a bit cheaper than a horse + carriage.
The horse will probably eat $10-20/day in food. $600/mo in just food costs. Not including vet bills and what not.
A decent and cheap horse will probably cost you $3k up front. Add in several thousand dollars more for the carriage.
A horse requires practically daily maintenance. A carriage will still require some maintenance.
A horse requires a good bit more land, plus the space to store the carriage. Plus, all the extra time and work mounting and unmounting your horse whenever you need to go.
A horse and carriage isn't really cheaper than a cheap car and way less functional.
Theres a 3 point way to say this. Usually technology:
* More efficient
* Higher Quality
* Less effort
Most successful technologies provide multiple of these benefits. What is terrible, and the direction we are going right now, is that these new systems (or offshoring like we are talking about here) seem/are "Less Effort" but do not hit the other two axioms. This is a very dangerous place to be.
People would rather be lazy than roll their sleeves up and focus, especially in our attention diverting world.
> This level of smugness is why outsourcing still continues to exist. The kind of things you talk about were rare. And were mostly exaggerated to create anti-outsourcing narrative. None of that led to outsourcing actually going away simply because people are actually getting good work done
I used upwork (when it was elance) quite a lot in a startup I was running at the time, so I have direct experience of this and its _not_ a lie or "mostly exaggerated", it was a very real effect.
The trick was always to weed out these types by posting a very limited job for a cheap amount and accepting around five or more bids from broad prices in order to review the developers. Whoever is actually competent then gets the work you actually wanted done in the first place. I found plenty of competant devs at competitive prices this way but some of the submissions I got from the others were laughable. But you just accept the work, pay them their small fee, and never speak to them again.
What is making it difficult for Junior devs to be hired is not AI. That is a diversion.
The raise in interest rates a couple of years ago triggered many layoffs in the industry. When that happens salaries are squeezed. Experienced people work for less, and juniors have trouble finding job because they are now competing against people with plenty of experience.
Simple, there are always people who are intentionally using the hard way. There is a community programming old 16-bit machines for example, which are much harder than modern tools. Or someone learning assembly language "just for fun".
Some of those (or similar) people will actually learn new stuff and become senior devs. Yes, there will be much fewer of them, so they'll command a higher salary, and they will deliver amazing stuff. The rest, who spend their entire carrier being AI handlers, will never raise above junior/mid level.
(Well, either that or people who cannot program by themselves will get promoted anyway, the software will get more bugs and less features, and things will be generally worse for both consumers and programmers... but I prefer not to think about this option)
> It's like you have a senior phd level intelligence developer except they don't even read what you're telling them, and have 0 agency to understand what they're actually doing.
This field (SE - when I started out back in late 80s) was enjoyable. Now it has become toxic, from the interview process, to imitating "big tech" songs and dances by small fry companies, and now this. Is there any joy left in being a professional software developer?
> This field (SE - when I started out back in late 80s) was enjoyable. Now it has become toxic
I feel the same way today, but I got started around 2012 professionally. I wonder how much of this is just our fading optimism after seeing how shit really works behind the scenes, and how much the industry itself is responsible for it. I know we're not the only two people feeling this way either, but it seems all of us have different timescales from when it turned from "enjoyable" to "get me out of here".
My issue stems from the attitudes of the people we're doing it for. I started out doing it for humanity. To bring the bicycle for the mind to everyone.
Then one day I woke up and realized the ones paying me were also the ones using it to run over or do circles around everyone else not equipped with a bicycle yet; and were colluding to make crippled bicycles that'd never liberate the masses as much as they themselves had been previously liberated; bicycles designed to monitor, or to undermine their owner, or more disgustingly, their "licensee".
So I'm not doing it anymore. I'm not going to continue making deliberately crippled, overly complex, legally encumbered bicycles for the mind, purely intended as subjects for ARR extraction.
It's hard to find anything wrong with your conclusions except that you're leaving out the part where they're trying to automate our contributions to devalue our skills. I'm surprised there isn't a movement to halt the use of AI for certain tasks in software development on the same level as the active resistance from doctors against socialized medicine in the US. These expensive toys will inevitably introduce catastrophic level bugs and security vulnerabilities into critical infrastructure software. Right now, most of Microsoft's product offerings, like GitHub and Office, are critical infrastructure software.
> These expensive toys will inevitably introduce catastrophic level bugs and security vulnerabilities into critical infrastructure software. Right now, most of Microsoft's product offerings, like GitHub and Office, are critical infrastructure software.
So nothing new? Just this/last month, it seems like the multi-select "open/close" button in the GitHub PR UI was just straight up broken. No one seemed to have noticed until I opened a bug report, and it continued being broken for weeks before they finally fixed it. Not the first time I encounter this on Microsoft properties, they seem to constantly push out broken shit, and no one seem to even notice until some sad user (like me) happens to stumble across it.
> I'm surprised there isn't a movement to halt the use of AI for certain tasks in software development on the same level as the active resistance from doctors against socialized medicine in the US.
This is also shocking to me. Especially here on HN! Every tech CEO on earth is salivating over AI coding because they want it to devalue and/or replace their expensive human software developers. Whether or not that will actually happen, that's the purpose of building all of these "agentic" coding tools. And here we are, dumbass software engineers, cheerleading for and building the means of our own destruction! We downplay it with bullshit like "Oh, but AI is just a way to augment our work, it will never really replace us or lower our compensation!" Wild how excited we all are about this.
I think it's similar to a thread we had here recently about why it's impossible to unionize tech workers. Basically, most tech workers don't like other tech workers (or other people, really) very much, so there's very little camaraderie of the sort you need to get people to team up and take on a shared enemy. Instead, we all think we're smarter than the other guy, so he'll be the one who gets fired while I thrive in the new situation.
I think a lot of software engineers (especially those who post on HN) think of themselves as top-1% Captains Of Industry, who would never benefit from a union. "Unions only help those guys lower on the totem pole than me!" says every software engineer out there, so they disregard it as something that could help them. We all think we are Temporarily Embarrassed John Carmacks.
That doesn't explain why doctors that see themselves as top earners didn't have a problem banding together. Social organization doesn't require unions in socialist/communist sense. It can also be accomplished through other professional organizations like AMC.
HackerNews is driven by a particular kind of radical libertarian philosophy believing person. You don't come up with the sorts of pump and dump start up ideas that typically come out of Y Combinator without being either sociopathic or delusional in the above way.
Anybody who thinks this place represents the average working or middle class programmer hasn't been paying much attention. They fool a lot of people by being social liberal to go along with their economic liberalism.
HN is obviously not the right forum for the skill value dilution discussion but not seeing deep discussion about responsible LLM usage from developers or major software companies is really troubling. If Microsoft is stupid enough to dogfood their unrefined LLM based tools on critical software in the name of increased earnings and shareholder value, I'm sure the entire enterprise stack is hoping to do the same.
Because other professional fields have not been subjected to a long running effort to commoditize software engineers. And further, most other (cognitive) professionals are not subject to 'age shaming' and discounting of experience.
We should not forget that on the other side of this issue are equally smart and motivated people and they too are aware of the power dynamics involved. For example, the phenomena of younger programmers poo pooing experienced engineers was a completely new valuation paradigm pushed by interested parties at some point around the dotcom bubble.
Doctors with n years in the OR will not take shit from some intern that just came out of school. But we were placed in that situation at some point after '00. So the fundamental issue is that there is an (engineered imho) generational divide, and coupled with age discrimination in hiring (again due to interested parties' incentives) has a created a situation where one side is accumiliating generational wealth and power and the other side (us developers) are divided by age and the ones with the most skin in the game are naive youngsters who have no clue and have been taught to hate on "millenials" and "old timers" etc.
> Because other professional fields have not been subjected to a long running effort to commoditize software engineers.
In the United States, aren't Nurse Practitioner and Physician Assistant a "direct assault" on medical doctors? I assume these roles were created in a pushback at the expense of medical doctors.
> And further, most other (cognitive) professionals are not subject to 'age shaming' and discounting of experience.
I am of two minds about this comment. TL;DR: "Yeah, but..." One thing that I have noticed in my career: Most people can pump out much more code and work longer hours when they are young. Then, when they get a bit older and/or start a family (and usually want better work/life balance), they start to play the "experience" card, which rarely translates into higher realised economic productivity. Yes, most young devs write crap code, but they can write a lot of it. If you can find good young devs, they are way cheaper and faster than experience devs. I write that sentence with the controversial view that most businesses don't need amazing/perfect software; they just need "good enough" (which talented juniors can more than provide).
When young people learn that I am a software developer, their eyes light up (thinking that I make huge money working for FAANG). Frequently, they ask if they should also become a software developer. I tell them no, because this industry requires constant self-learning that is very hard to sustain after 40. Then, you become a target for layoffs, and getting re-employed after 40 as a software dev can be very tough.
Have you considered contributing to the Free Software Movement?
I am speculating that this "AI Revolution" may lead to some revitalization of the movement as it would allow individual contributors the ability to compete on the same levels as proprietary software providers who previously had to employ legions of developers to create their software.
Considered but that'll probably only happen once I've alternative sources of income lined up that doesn't shackle my IP contributions off hours to my employers, which means bringing in enough to get a couple hours with an attorney that knows what they are doing. I am not one. I have merely read some books on it.
I started coding at a young age, but entered the professional world in 2012, just like you. I feel the same. I just can't come to grips with the fact that the goal is not to write good software anymore, but to get something, anything out the door on which we can then sell by marketing it based on stuff it doesn't do yet (but it will, we promise!) so that we can make more money and fake making something "new" again (putting a textbox and a button, and hooking it up to an LLM api). Software is nowadays assumed to not work properly. And we're not allowed to fix it anymore!
I hear you. Same boat just can't figure out the life jacket yet. (You do fine wood work, why not that? I am considering finding entry level work in architecture myself - kicking myself for giving that up for software now. Did not see this shit show coming.)
Thank you. It's something I'm actively pursuing, I'm hoping to finish some chairs this spring and see if any local shops are interested in stocking them. But I'm skeptical I could find enough business to make it work full-time, pay for my family's health insurance, and so on. We'll see.
It happens in waves. For a period, there was an oversupply of cs engineers, and now, the supply will shrink. On top of this, the BS put out by AI code will require experienced engineers to fix.
So, for experienced engineers, I see a great future fixing the shit show that is AI-code.
So many little scripts are spawned and they are all shit for production. I stopped reviewing them, pray to the omnissiah now and spray incense into our server room to placate the machine gods.
Each time that I arrive at a new job, I take some time to poke around at the various software projects. If the state of the union is awful, I always think: "Great: No where to go but up." If the state of the union is excellent, I think: "Uh oh. I will probably drag down the average here and make it a little bit worse, because I am an average software dev."
At least we can tell the junior developers to not submit a pull-request before they have the tests running locally.
At what point does the human developers just give up and close the PRs as "AI garbage". Keep the ones that works, then just junk the rest. I feel that at some point entertaining the machine becomes unbearable and people just stops doing it or rage close the PRs.
I think it did, then they built up a most that made it very hard to turn momentum the other direction. It's turned now but it happened very slowly. Who knows if it ever falls of a cliff, all I know is that moats are only broken when momentum is going in the wrong direction and so they are certainly more vulnerable now than they would otherwise have been if they hadn't pissed so many people off about their products.
At one point, their desktop user experience was actually pretty good. And that was all their products back then. They definitely didn't get to where they are now by selling products that were bad. You could make the argument that some of them were bad but they were cheap, but if price is a big aspect of what makes a product good in the eyes of the consumer at the time and nobody else is competing on price, then that isn't "bad" in the sense I'm using the word.
I don't think I'd have called them out for always making terrible products all the way through till about Windows 7. I had no major complaints about that release, cloud was in its infancy, no pushing 365 etc. After that, quality started to go downhill. To the point that I'd argue with a straight face that most major community supported Linux DEs provide an objectively better and more stable user experience for both technical and non technical users.
You're probably correct: "Our developers a very happy with CoPilot. They now spend 50% of their time interacting with our AI offerings, either via VSCode, Github or Clippy."
No need to specify why they are interact with it, all engagement is good engagement.
By this measurement, a slower compiler is better than a faster one, because developers are using it for more of their time. Totally bonkers, Microsoft!
When your identity is tied to that being a success, you will find a way to make it so, because it feels much worse to have your identity challenged at a fundamental level than it does to have people grumpy with you for acting in a way that allows you to preserve your identity.
> Microsoft's stock price is dependent on them proving that this is a success.
Perhaps this explains the recent firings that affected faster CPython and other projects. While they throw money at AI but sucess still doesn't materialize, they need to make the books look good for yet another quarter through the old-school reliable method of laying off people left and right.
I am shaking with laughter reading this phrase. You got me good here. It is the perfect repurpose of "rage quit" for the AI slop era. I hope that we see some MSFT employees go insane from responding to so many shitty PRs from LLMs.
One of my all time "rage quit" stories is Azer Koçulu of npm left-pad incident infamy. That guy is my Internet hero -- "fight the power".
Hot take : the whole LLM craze is fed by a delusion. LLM are good at mimicking human language, capturing some semantics on the way. With a large enough training set, the amount of semantic captured covers a large fraction of what the average human knows. This gives the illusion of intelligence, and the humans extrapolates on LLM capabilities, like actual coding. Because large amounts of code from textbooks and what not is on the training set, the illusion is convincing for people with shallow coding abilities.
And then, while the tech is not mature, running on delusion and sunken costs, it's actually used for production stuffs. Butlerian Jihad when
My sophisticated sentiment analysis (talking to co-workers other professional programmers and IT workers, HN and Reddit comments) seems to indicate a shift--there's a lot less storybook "Ay Eye is gonna take over the world" talk and a lot more distrust and even disdain than you'd see even 6 months ago.
It's like you have a junior developer except they don't even read what you're telling them, and have 0 agency to understand what they're actually doing.
Anyone who has dealt with Microsoft support knows this feeling well. Even talking to the higher level customer success folks feels like talking to a brick wall. After dozens of support cases, I can count on zero hands the number of issues that were closed satisfactorily.
I appreciate Microsoft eating their dogfood here, but please don't make me eat it too! If anyone from MS is reading this, please release finished products that you are prepared to support!
> Interesting that every comment has "Help improve Copilot by leaving feedback using the or buttons" suffix, yet none of the comments received any feedback, either positive or negative.
The feedback buttons open a feedback form modal, they don’t reflect the number of feedback given like the emoji button. If you leave feedback, it will reflect your thumbs up/down (hiding the other button), it doesn’t say anything about whether anyone else has left feedback (I’ve tried it on my own repos).
"...You and I and every programmer who hasn't been living under a rock knows that AI isn't ready to be adopted at this scale yet, on the premier; 100M-user code-hosting platform. It doesn't make any sense except in brain-washed corporate-talk like "we are testing today what it can do tomorrow".
I'm not saying that this couldn't be an adequate change some day, perhaps even in a few years but we all know this isn't it today. It's 100% financial-driven hype with a pinch of we're too big to fail mentality..."
It's all just recycled rent seeking corporate hype for enterprise compute.
The moment I had decided to learn Kubernetes years ago, got a book and saw microservices compared to 'object-oriented' programming I realized that. The 'big ball of mud' paper and the 'worse is better' rant frame it all pretty well in my view. Prioritize velocity, get slop in production, cope with the accidental complexity, rinse repeat. Eventually you get to a point where GPU farms seem like a reasonable way to auto-complete code.
When you find yourself in a hole, stop digging. Any bigger excavator you send down there will only get buried when the mud crashes down.
> This whole thing would be fucking hilarious if I didn't feel so bad for the humans who are on the other side of this.
Which will soon be anyone who directly or indirectly relies on Microsoft technologies. Some of these PRs, including at least one that I saw reworked certificate validation logic with not much more than a perfunctory “LGTM”, have been merged into main.
Coincidentally, I wonder if issues orthogonal to this slop is why I’ve been getting so many HTTP 500 errors when using GitHub lately.
Oof. A real nightmare for the folks tasked with shepherding this inattentive failure of a robot colleague. But to see it unleashed on the dotnet runtime? One more reason to avoid dotnet in the future, if this is the quality of current contributions.
With how stochastic the process is it makes it basically unusable for any large scale task. What's the plan? To roll the dice until the answer pops up? That would be maybe viable if there was a way to automatically evaluate it 100% but with a human in the loop required it becomes untenable.
Call me old school, but I find the workflow of "divide and conquer" to be as helpful when working with LLMs, as without them. Although what is needed to be considered a "large scale task" varies by LLMs and implementation. Some models/implementations (seemingly Copilot) struggles with even the smallest change, while others breeze through them. Lots of trial and error is needed to find that line for each model/implementation :/
The relevant scale is the number of hard constraints on the solution code, not the size of task as measured by "hours it would take the median programmer to write".
So eg., one line of code which needed to handle dozens of hard-constraints on the system (eg., using a specific class, method, with a specific device, specific memory management, etc.) will very rarely be output correctly by an LLM.
Likewise "blank-page, vibe coding" can be very fast if "make me X" has only functional/soft-constraints on the code itself.
"Gigawatt LLMs" have brute-forced there way to having a statistical system capable of usefully, if not universally, adhreading to one or two hard constraints. I'd imagine the dozen or so common in any existing application is well beyond a Terawatt range of training and inference cost.
Keep in mind that the model of using LLM assumes the underlying dataset converges to production ready code. Thats never been proven, cause we know they scraped sourcs code without attribution.
I mean I guess this isn't very ambitious, but it's a meaningful time saver if I basically just write code in natural language, and then Copilot generates the real code based on that. I don't have to look up syntax details, or what some function somewhere was named, etc. It will perform very accurately this way. It probably makes me 20% more efficient. It doubles my efficiency in a language I'm unfamiliar with.
I can't fire half my dev org tomorrow with that approach, I can't really fire anyone, so I guess it would be a big letdown for a lot of execs. Meanwhile though we just keep incrementally shipping more stuff faster at higher quality so I'm happy...
This works because it treats the LLM like what it actually is: an exceptionally good if slightly random text transformer.
I look back over the past 2-3 years and am pretty amazed with how quick change and progress have been made. The promises are indeed large but the speed of progress has been fast. Not defending the promise but “taking a very long time” does not seem to be an accurate representation.
Saying “AI has no economic impact” ignores reality. The financials of major players clearly show otherwise—both B2C and B2B applications are already profitable and proven. While APIs are still more experimental, and it’s unclear how much value businesses can ultimately extract from them, to claim there’s no economic impact is willful blindness. AGI may be far off, but companies are already figuring out value from both the consumer side and slowly API.
The financials are all inflated by perception of future impact. This includes the current subscriptions as businesses are attempting to use AI to some economic benefit, but it's not all going to work out to be useful.
It will take some time for whatever reality is to actually show truthfully in the financials. When VC money stops subsidising datacentre costs, and businesses have to weigh the full price against real value provided, that is when we will see the reality of the situation.
I am content to be wrong either way, but my personal prediction is if model competence slows down around now, businesses will not be replacing humans en-mass, and the value provided will be notable but not world changing like expected.
OpenAI alone is on track to generate as much revenue as Asus or US Steel this year ($10-$15 billion). I don't know how you can say AI has had no positive economic impact.
That is not even 1 month of a big tech revenue, it is a global negligible impact. 3 years talking about AI changing the world, 10bi revenue and no ecosystem around making money besides friends and VCs pumping and dumping LLM wrappers.
There's a pretty wide gulf between being one of the most important companies in the global marketplace as Microsoft, Apple, and Amazon are and "having no economic impact".
I agree that most of the AI companies describe themselves and their products in hyperbolic terms. But that doesn't mean we need to counter that with equally absurd opposing hyperbole.
There is no hyperbole. I think AI will change the world in the next 10 years but comparing to the iphone, for example, 3 years the economic impact was much, much bigger and that is just one brand of smartphones.
If it costs them even just one more dollar than that revenue number to provide that service (spoiler, it does), then you could say AI has had no positive economic impact.
Considering we know they’re being subsidized by obscene amounts of investment money just like all other frontier model providers, it seems pretty clear it’s still a negative economic impact, regardless of the revenue number.
There is the huge blind spot where tech workers think LLMs are being made primarily to either assist them or replace them.
Nobody seems to consider that LLMs are democratizing programming, and allowing regular people to build programs that make their work more efficient. I can tell you that at my old school manufacturing company, where we have no programmers and no tech workers, LLMs have been a boon for creating automation to bridge gaps and even to forgo paid software solutions.
This is where the change LLMs will bring will come from. Not from helping an expert dev write boilerplate 30% faster.
To their point, there hasn’t been any huge breakthrough in this field since the “attention is all you need” paper. Not really any major improvements to model architecture, as far as I am aware. (Admittedly, this is a new field of study to me.) I believe one hope is to develop better methods for self-supervised learning; I am not sure of the progress there. Most practical improvements have been on the hardware and tooling side (GPUs and, e.g., pytorch).
Don’t get me wrong: the current models are already powerful and useful. However, there is still a lot of reason to remain skeptical of an imminent explosion in intelligence from these models.
You’re totally right that there hasn’t been a fundamental architectural leap like “attention is all you need”, that was a generational shift. But I’d argue that what we’ve seen since is a compounding of scale, optimization, and integration that’s changed the practical capabilities quite dramatically, even if it doesn’t look flashy in an academic sense. The models are qualitatively different at the frontier, more steerable, more multimodal, and increasingly able to reason across context. It might not feel like a revolution on paper, but the impact in real-world workflows is adding up quickly. Perhaps all of that can be put in the bucket of “tooling” but from my perspective there has still been quite large leaps looking at cost differences alone.
For some reason my pessimism meter goes off when I see single sentence arguments “change has been slow”. Thanks for brining the conversation back.
I'm all for flashy in academic sense, because we can let engineers sort out the practical aspects, especially by combining flashy academic approach. The flaw from LLM architecture can be predicted from the original paper, no amount of engineering can compensate that.
I feel like we've made barely any progress. It's still good at the things Chat GPT was originally good at, and bad at the things it was bad at. There's some small incremental refinement but it doesn't really represent a qualitative jump like Chat GPT was originally. I don't see AI replacing actual humans without another step jump like that.
As a non-programmer non-software engineer, the programs I can write with modern SOTA models are at least 5x larger than the ones GPT-4 could make.
LLMs are like bumpers on bowling lanes. Pro bowlers don't get much utility from them. Total noobs are getting more and more strikes as these "smart" bumpers get better and better at guiding their ball.
> I look back over the past 2-3 years and am pretty amazed with how quick change and progress have been made.
Now look at the past year specifically, and only at the models themselves, and you'll quickly realize that there's been very little real progress recently. Claude 3.5 Sonnet was released 11 months ago and the current SOTA models are only marginally better in terms of pure performance in real world tasks.
The tooling around them has clearly improved a lot, and neat tricks such as reasoning have been introduced to help models tackle more complex problems, but the underlying transformer architecture is already being pushed to its limits and it shows.
Unless some new revolutionary architecture shows up out of nowhere and sets a new standard, I firmly believe that we'll be stuck at the current junior level for a while, regardless of how much Altman & co. insist that AGI is just two more weeks away.
Especially ironic considering he's neither a developer nor a PhD. He's the smooth talking "MBA idea guy looking for a technical cofounder" type that's frequently decried on HN.
You are really underselling interns. They learn from a single correction, sometimes even without a correction, all by themselves. Their ability to integrate previous experience in the context of new problems is far, far above what I've ever seen in LLMs
Even if it could perform at a similar level to an intern at a programming task, it lacks a great deal of the other attributes that a human brings to the table, including how they integrate into a team of other agents (human or otherwise). I won't bother listing them, as we are all humans.
I think the hype is missing the forest for the trees, and I think exactly this multi-agent dynamic might be where the trees start to fall down in front of us. That and the as currently insurmountable issues of context and coherence over long time horizons.
My impression is that Copilot acts a lot like one of my former coworkers, who struggled with:
-Being a parent to a small child and the associated sleep deprivation.
-His reluctance to read documentation.
-There being a language barrier between him the project owners. Emphasis here, as the LLM acts like someone who speaks through a particularly good translation service, but otherwise doesn't understand the language spoken.
The real missing the forest for the trees is thinking that software and the way users will use computers is going to remain static.
Software today is written to accommodate every possible need of every possible user, and then a bunch of unneeded selling point features on top of that. These massive sprawling code bases made to deliver one-size fits all utility.
I don't need 3 million LOC Excel 365 to keep track of who is working on the floor on what day this week. Gemini 2.5 can write an applet that does that perfectly in 10 minutes.
I don't believe it will remain static, in fact it's done nothing but change every year for my entire career.
I do like the idea of smaller programs fitting smaller needs being easy to access for everyone, and in my post history you would see me advocate for bringing software wages down so that even small businesses can have software capabilities in house. Software has so much to give to society outside of big VC flips and tech monoliths. Maybe AI is how we get there in the end.
But I think that supplanting humans with an AI workforce in the very near future might be stretching the projection of its capabilities too far. LLMs will be augmenting how businesses operate from now and into the future, but I am seeing clear roadblocks that make an autonomous AI agent unviable, and it seems to be fundamental limitations of LLMs, eg continuity and context. Advances recently seem to be from supplemental systems that try to patch those limitations. That suggests those limits are tricky, and until a new approach shows up, that is what drives my lack of faith in an AI agent revolution.
But it is clear to me that I could be wrong, and it could be a spectacular miscalculation. Maybe the robots will make me eat my hat.
I don't know. I guess it depends on what you classify as being change. I don't really view software as having changed all that much since around maybe the mid 70s as HLLs began to become more popular. What programmers do today and what they did back then would be easily recognizable to both groups if we had time machines. I don't see how AI really changes things all that much. It's got the same scalability issues that low code/no code solutions have always had and those go way back. The main difference is that you can use natural language, but I don't see that as being inherently better than say drawing a picture using some flowcharting tools in a low code platform. You just introduce the same problem natural languages always have had and why we didn't choose them in the first place, i.e. they are not strict enough and need lots of context. Giving an AI very specific sentences to define my project in natural language and making sure it has lots of context begins to look an awful lot like psuedocode to me. So as you learn to approach using AI in such a way that it produces what you want you naturally get closer and closer to just specifying the code.
What HAS indisputably changed is the cost of hardware which has driven accessibility and caused more consumer facing software to be made.
This looks much worse than an intern. This feels like a good engineer who has brain damage.
When you look at it from afar, it looks potentially good, but as you start looking into it for real, you start realizing none of it makes any sense. Then you make simple suggestions, it does something that looks like what you asked, yet completely missing the point.
An intern, no matter how bad it is, could only waste so much time and energy.
This makes wasting time and introducing mind-bogglingly stupid bugs infinitely scalable.
Without handholding (aka being used as a tool by a competent programmer instead of as an independent “agent”), they’re currently significantly worse than an intern.
I suspect that the plan is that MS has spent a lot, really a LOT, of money on this nonsense, and there is now significant pressure to put, something, anything, out even if it is worse than useless.
GitHub is not the place to write code. IDE is the place. Along with pre CI checks, some tests, coverage etc. they should get some PM before making decisions..
As long as the resulting PR is less than 100 lines and the AI is a bit more self sufficient (like actually making sure tests pass before "pushing") it would be ok I think. I think this process is intended for fixing papercuts rather than building anything involved. It just isn't good enough yet.
As a matter of principle I don't use any network which is trained on non-consensual data ripped of its source and license information.
Other than that, I don't think this is bad tech, however, this brings another slippery slope. Today it's as you say:
> I think this process is intended for fixing papercuts rather than building anything involved. It just isn't good enough yet.
After sufficient T somebody will rephrase it as:
> I think this process is intended for writing small, personal utilities rather than building enterprise software. It just isn't good enough yet.
...and we will iterate from there.
So, it looks like I won't touch it for the foreseeable future. Maybe if the ethical problems with training material is solved (i.e. trained with data obtained with consensus and with correct licenses), I can use as alongside other analysis and testing tools I use, for a final pass.
AI will never be a core and irreplaceable part of my development workflow.
I feel there's a fundamental flaw in this mindset which I probably don't understand enough layers of to explain properly. Maybe it's my thinking here that is fundamentally flawed? Off the top of my head:
If we let intellectual property be a fundamental principle the line between idea (that can't be owned) and ip (that can be owned) will eventually devolve into a infinitely complex fractal that nobody can keep track of. Only lawyer AI's will eventually be able to tell the difference between idea and ip as the complexity of what we can encode become more complex. Why is weights not code when it clearly contain the ability to produce the code? Is a brain code? Are our experiences like code?
What is the fundamental reason that a person is allowed to train on ip but a bot is not? I suspect that this comes down to the same issue with the divide between ip and idea. But there might be some additional dimension to it. At some point we will need to see some AI as conscious entities and to me it makes little sense that there would be some magical discrete moment where an AI becomes conscious and gets rights to it's "own ideas".
Or maybe there's a simple explanation of the boundary between ip and idea that I have just missed? If not, I think intellectual property as a concept will not stand the test of time. Other principles will need to take its place if we want to maintain the fight for a good society. Until then IP law still has its place and should be followed but as an ethical principle it's certainly showing cracks.
It took longer than I planned, sorry. But here we go:
When you look at proper research, whether from academia or from private corporations, you can always keep track of ideas and intellectual property resulting from these ideas. Ideas are mature into documents, research reports, and proof of concepts. In some cases, you can find the process as Lab Notebooks. These notebooks are kept by respecting a protocol, and they’re more than a collection of ideas. It’s a “brain trail”. Then, you publish or patent these ideas. Ideally both. These artifacts (publications and patents) contain references and citations. As a result, you can track who did what and what came after what invention. In a patent case, you may even need to defend your patent to convince that it’s not the same invention that was patented before. In short, you have a trail. There are no blurry lines there.
The thing is, copyright law and the idea of intellectual property are created by humans for humans. First, I’ll ask this question: If an instructor or academic is not allowed to teach a course without providing references, whether to the book itself or the scientist who invented something, why is a bot allowed? Try citing a piece of a book/publication in a course or paper or research without giving a reference, and you’re officially a fraud, and your whole career is in shambles. Why a bot is allowed to do this, let it be a book or a piece of code? For the second perspective, I’ll ask a pair of questions: 1) How many of the books you have read can be recalled by you exactly, or as a form of distilled summary? 2) For how long can you retain this information without any corruption whatsoever? 3) How many books can you read, understand, summarize, and internalize in an hour? A bot can do thousands without any corruption and without any time limit. As a result, an LLM doesn’t learn; it ingests, stores, and remixes.
A human can’t do that to a book (or any artifact) if its license doesn’t allow it or its creator gives explicit consent. Why can a bot? An LLM is a large stochastic blender that tends to choose correct words due to its weighted graph. A human does it much differently. It reads, understands, and lets that idea cook by mixing with their own experience and other inputs (other people, emotions, experiences, and more) and creates something unique outside the graph. Yet this creation has its limits. No machine can create something more complex than itself. An LLM can never output something more complex than the knowledge encoded in its graph. It might light dark corners, but it can’t expand borders. The asymptotic limit is collective human intelligence, even if you give it tools.
So, yes, the IP law is showing its cracks because it’s designed for humans, not bots. However, I value ethics above everything else. My ethics is not defined by laws but by something much higher. As I replied to someone, “I don’t need to be threatened to be burned for all eternity to be good.” Similarly, I don’t need a law to deem something (un)ethical. If what’s done is against the spirit of humanity, then it’s off-limits for me.
I’d never take something without permission and milk it for my own benefit, esp. if the owner of that thing doesn’t consent. I bought all the software I pirated when I started to earn my own money, and I stopped using software that I couldn’t afford or didn’t want to buy. This is the standard I’m operating at, and I hold all the entities I interact with to that exact standard. Lower than this is unacceptable, so I don’t use LLMs and popular LLMs.
On the other hand, not all AI is the same, and there are other good things that I support, but they are scientific tools, not for consumers directly.
You're welcome. I have moved to Source Hut three years ago [0]. My page is https://sr.ht/~bayindirh/
You can also self-host a Forgejo instance on a €3/mo Hetzner instance (or a free Oracle Cloud server) if you want. I prefer Hetzner for their service quality and server performance.
I just use ssh on a homeserver for personal projects. Easy to set up a new repo with `ssh git@<machine> git init --bare <project>.git`. The I just use git@<machine>:<project>.git as the remote.
Your method works well, too. Since I license everything I develop under GPLv3, I keep them private until they mature, then I just flip a switch and make the project visible.
For some research I use a private Git server. However, even that code might get released as Free Software when it matures enough.
Malicious compliance should be the order of the day. Just approve the requests without reviewing them and wait until management blinks when Microsoft's entire tech stack is on fire. Then quit your job and become a troubleshooter on x3 the pay.
I know this is meant to sound witty or clever, but who actually wants to behave this way at their job?
I'll never understand the antagonistic "us vs. them" mentality people have with their employer's leadership, or people who think that you should be actively sabotaging things or be "maliciously compliant" when things aren't perfect or you don't agree with some decision that was made.
To each their own I guess, but I wouldn't be able to sleep well at night.
I agree. It doesn’t help that once things start breaking down, the employer will ask the employees to fix the issue themselves, and thus they’ll have to deal with so much broken code that they’ll be miserable. It’ll become a spiral.
When the issues arise because of the tool being trained explicitly to respect/fire you, then that sounds like an apt and appropriate resulting level of job security.
On the other hand: why should you accept that your employer is trying to fire you but first wants you to train the machine that will replace you? For me this is the most "them vs us" it can be.
I suppose that depends on your relationship with your employer. If your goals are highly aligned (e.g. lots of equity based compensation, some degree of stability and security, interest in your role, healthy management practices that value their workforce, etc.) then I agree, it’s in your own self interest to push back because it can effect you directly.
Meanwhile a lot of folks have very unhealthy to non-existent relationships with their employers. There may be some mixture where they may be temporary hired/viewed as highly disposable or transient in nature having very little to gain from the success of the business, they may be compensated regardless of success/failure, they may have toxic management who treat them terribly (condescendingly, constantly critical, rarely positive, etc.). Bad and non-existent relationships lead to this sort of behavior. In general we’re moving towards “non-existent” relationships with employers broadly speaking for the labor force.
The counter argument is often floated here “well why work there” and the fact is money is necessary to survive, the number of positions available hiring at any given point is finite, and many almost by definition won’t ever be the top performers in their field to the point they truly choose their employers and career paths with full autonomy. So lots of people end up in lots of places that are toxic or highly misaligned with their interests as a survival mechanism. As such, watching the toxic places shoot themselves in the foot can be some level of justice people find where generally unpleasant people finally get to see consequences of their actions and take some responsibility.
People will prop others up from their own consequences so long as there’s something in it for them. As you peel that away, at some point there’s a level of poetic justice to watch the situation burn. This is why I’m not convinced having completely transactional relationships with employers is a good thing. Even having self interest and stability in mind, certain levels of toxicity in business management can fester. At some point no amount of money is worth dealing with that and some form of correction is needed there. The only mechanism is to typically assure poor decision making and action is actually held accountable.
Another great comment, thanks! Like I said elsewhere I agree things are more complicated than I made them out to be in my short and narrow response.
I agree with all your points here, the broader context of one's working conditions really matter.
I do think there's a difference between sitting back and watching things go bad (vs struggling to compensate for other people's bad decisions) and actively contributing to the problems (the "malicious compliance" part)..
Letting things fail is sometimes the right choice to make, if you feel like you can't effect change otherwise.
Being the active reason that things fail, I don't think is ever the right choice.
Exactly this. I suspect that "us vs them" is sweet poison: it feels good in the moment ("Yeah, stick it to The Man!") but it long-term keeps you trapped in a victim mindset.
It’s worth recognizing that the tension between labor and capital historical reality, not just a modern-day bad attitude. Workers and leadership don’t automatically share goals, especially when senior management incentives often prioritize reducing labor costs which they always do now (and no, this wasn't always universally so).
Most employees want to do good work, but pretending there’s no structural divergence in interests flattens decades of labor history and ignores the power dynamics baked into modern orgs. It’s not about being antagonistic, it’s about being clear-eyed where there are differences between the motivations of your org. leadership and your personal best interests. After a few levels remove from your position, you're just headcount with loaded cost.
Great comment.. It's of course more complex than I made it out to be, I was mostly reacting to the idea of "malicious compliance" at your place of employment and how at odds that is with my own personal morals and approach.
But 100% agreed that everyone should maintain a realistic expectation and understanding of their relationship with their employer, and that job security and employment guarantees are possibly at an all-time low in our industry.
>I'll never understand the antagonistic "us vs. them" mentality people have with their employer's leadership
Interesting because "them" very much have an antagonistic mentality vs "us". "Them" would fire you in a fucking heartbeat to save a relatively small amount (10%). "Them" also want to aggressively pay you the least amount for which they can get you to do work for them, not what they "value" you at. "Us" depends on "them" for our livelihoods and the lives of people that depend on us, but "them" doesn't doesn't have any dependency on you that can't be swapped out rather quickly.
I am a capitalist, don't get me wrong, but it is a very one-sided relationship not even-footed or rooted in two-way respect. You describe "them" as "leadership" while "Them" describe you as a "human resource" roughly equivalent to the way toilet paper and plastics for widgets are described.
If you have found a place to work where people respect you as a person, you should really cherish that job, because most are not that way.
Yep maybe I've been lucky but in my 30-year career, I've worked at over a dozen companies (big and small), and I've always been well-treated and respected, and I've never felt the kind of dynamic you describe. But that isn't to say that I don't think it exists or happens. I'm sure it does.
It's everyone's personal choice to put their own lens on how they believe other people think - like your take on how "leadership" thinks of their employees.
I guess I choose to be more positive about it - having been in leadership positions myself, including having to oversee layoffs as part of an eventual company wind-down - but I readily acknowledge that my own biases come into this based on my personal career experiences.
I'm lucky currently but have been unlucky in the past and very much understand where the person you are responding to is coming from. I think you've had an exceedingly long string of luck that is very rare if you've never had upper management that was misaligned with the long term goals of the employees and the company.
Respect is something humans do. A large enough company is an entity in its own right, separate from the people that comprise it, and that entity is literally incapable of respecting you (more generally, it is incapable of empathy). One can be lucky enough to never end up in a position where it is felt personally, but make no mistake, it is there.
I read some of your other comments in this thread and I'm not sure what to make of your experience. If you've never felt mistreated or exploited in a 30 year career you are profoundly lucky to have avoided that sort of workplace
I've only been working in software for half as long, but I've never had a job that didn't feel unstable in some ways, so it seems impossible to me that you have avoided it for a career twice as long as mine
I have watched my current employer cut almost half of our employees in the past two years, with multiple rounds of layoffs
Now AI is in the picture and it feels inevitable that more layoffs will eventually come if they can figure out how to replace us with it
I do not sleep well knowing my employer would happily and immediately replace me with AI if they could
I'm sorry to hear that's been your experience.. If it helps, know that it's not like that everywhere..
I have certainly been lucky in my career, I've often acknowledged that. But I do believe luck favours the prepared, and I've worked hard for my accomplishments and to get the jobs I've had.
I'm totally with you on the uncertainty that AI is bringing. I don't think anyone can dispute that change is coming because of AI.
I do think some companies will get it right, but some will get it wrong, when it comes to how best to improve the business using those new tools.
>I'll never understand the antagonistic "us vs. them" mentality
Your manager understands it. Their manager understands it. Department heads understand it. The execs understand it. The shareholders understand it.
Who does it benefit for the laborers to refuse to understand it?
It's not like I hate my job. It's just being realistic that if a company could make more money by firing me, they would, and if you have good managers and leadership, they will make sure you understand this in a way that respects you as a human and a professional.
What you are describing is not "antagonistic" though..
> antagonism: actively expressed opposition or hostility
I agree with you that everyone should have a clear and realistic understanding of their relationship with their employer. And that is entirely possible in a professional and constructive manner.
But that's not the same thing as being actively hostile towards your place of work.
You dont think its different somehow that the exact tech they are forcing all employees to use, is the same tech to reduce head count and pressure employees to work harder for less money?
I have no idea how this will ultimately shake out legally, but it would be absolutely wild for Microsoft to not have thought about this potential legal issue.
I would imagine it can't sign it, especially with the options given.
>I have sole ownership of intellectual property rights to my Submissions
I would assume that the AI cannot have IP ownership considering that an AI cannot have copyright in the US.
>I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer.
Surely an AI would not be classified as an employee and therefore would not have an employer. Has Microsoft drafted an employment contract with Copilot? And if we consider an AI agent to be an employee, is it protected by the Fair Labor Standards Act? Is it getting paid at least minimum wage?
That's funny, but also interesting that it didn't "sign" it. I would naively have expected that being handed a clear instruction like "reply with the following information" would strongly bias the LLM to reply as requested. I wonder if they've special cased that kind of thing in the prompt; or perhaps my intuition is just wrong here?
IANAL. It's my understanding that this hasn't been determined yet. It could be under public domain, under the rights of everyone whose creations were used to train the AI or anywhere in-between.
We do know that LLMs will happily reproduce something from their training set and that is a clear copyright violation. So it can't be that everything they produce is public domain.
I can't remember the specific case now, but it has been ruled in the past, that you need human-novelty, and there was a case recently that confirmed this that involved LLMs.
A comment on one of the threads, when a random person tried to have copilot change something, said that copilot will not respond to anyone without write access to the repo. I would assume that bot doesn't have write access, so copilot just ignores them.
i don't know about you, but i would never EVER submit a PR that fails to compile. not tests are failing, those happen (specially flaky ci), but not compiling.
and you think this beta system that launched like 2 days ago can’t achieve that?
it also opens the PR as its working session. there are a lot of dials, and a lot of redditor-ass opinions from people who don’t use or understand the tech
is that what I said? if you can’t read documentation and follow basic instructions to get a tool to work you’re stupid. you asked a snarky question like it’s some gotcha. once again, if you actually use the tool and read the docs and can’t figure it out, I think it’s a skill issue
> This seems like it's fixing the symptom rather than the underlying issue?
Exactly. LLM does not know how to use a debugger. LLM does not have runtime contexts.
For all we know, the LLM could’ve fixed the issue simply by commenting out the assertions or sanity checks and everything seemed fine and dandy until every client’s device catches on fire.
And if you were to attach a debugger to a SOTA LLM, give it a compute environment, have it constantly redo work when CI fails, I can easily imagine each of these PRs burning hundreds of dollars and still have a good chance at failing the task.
This analogy would only work if the electric light required far more work to use than a gas lamp and tended to randomly explode.
And didn’t actually provide light, but everyone on 19th century twitter says that it will one day provide light if you believe hard enough, so you should rip out your gas lamps and install it now.
Like, this is just generation of useless busy-work, as far as I can see; it is clearly worse than useless. The PRs don't even have passing CI!
At least opening PRs is a safe option, you can just dump the whole thing if it doesn't turn out to be useful.
Also, trying something new out will most likely have hiccups. Ultimately it may fail. But that doesn't mean it's not worth the effort.
The thing may rapidly evolve if it's being hard-tested on actual code and actual issues. For example it will be probably changed so that it will iterate until tests are actually running (and maybe some static checking can help it, like not deleting tests).
Waiting to see what happens. I expect it will find its niche in development and become actually useful, taking off menial tasks from developers.
> At least opening PRs is a safe option, you can just dump the whole thing if it doesn't turn out to be useful.
There's however a border zone which is "worse than failure": when it looks good enough that the PRs can be accepted, but contain subtle issues which will bite you later.
Yep. I've been on teams that have good code review culture and carefully review things so they'd be able to catch subtle issues. But I've also been on teams where reviews are basically "tests pass, approved" with no other examination. Those teams are 100% going to let garbage changes in.
Funny enough, this happens literally every day with millions of developers. There will be thousands upon thousands of incidents in the next hour because a PR looked good, but contained a subtle issue.
It might be a safer option in a forked version of the project that the public can’t see. I have to wonder about the optics here from a sales perspective. You’d think they’d test this out more internally before putting it in public access.
Now when your small or medium size business management reads about CoPilot in some Executive Quarterly magazine and floats that brilliant idea internally, someone can quite literally point to these as examples of real world examples and let people analyze and pass it up the management chain. Maybe that wasn’t thought through all the way.
Usually businesses tend to hide this sort of performance of their applications to the best of their abilities, only showcasing nearly flawless functionality.
I agree, but when working with code written by your teammate you have a rough idea what kind of errors to expect.
AI however is far more creative than any given single person.
That's my gut feeling anyway. I don't have numbers or any other rigorous data. I only know that Linus Torvalds made a very good point about chain of trust. And I don't see myself ever trysting AI the same way I can trust a human.
It depends what we set as the bar for the AI. Like now, the bar wasn't even "have all tests pass without modifying the actual tests". That is probably lower than for any PR you would need to look at.
Reviewing what the AI does now is not to be compared with human PRs. You are not doing the work as it is expected in the (hopefully near?) future but you are training the AI and the developers of the AI and more crucially: you are digging out failure modes to fix.
While I admire your optimism regarding those errors getting fixed, I myself am sceptical about the idea of that happening in my lifetime (I'm in my mid 30s).
It would definitely be nice to be wrong though. That'd make life so much easier.
Unfortunately,if you believe LLMs really can learn to code with bugs, then the nezt step would be to curate a sufficiently bug free data set. Theres no evidence this has occured, rather, they just scraped whayecer
> At least opening PRs is a safe option, you can just dump the whole thing if it doesn't turn out to be useful.
However, every PR adds load and complexity to community projects.
As another commenter suggested, doing these kind of experiments on separate forks sound a bit less intrusive.
Could be a take away from this experiment and set a good example.
There are many cool projects on GitHub that are just accumulating PRs for years, until the maintainer ultimately gives up and someone forks it and cherry-picks the working PRs. I've than that myself.
I'm super worried that we'll end up with more and more of these projects and abandoned forks :/
Beyond every other absurdity here, well, maybe Microsoft is different, but I would never assign a PR that was _failing CI_ to somebody. That that's happening feels like an admission that the thing doesn't _really_ work at all; if it worked even slightly, it would at least only assign passing PRs, but presumably it's bad enough that if they put in that requirement there would be no PRs.
I feel like everyone is applying a worse-case narrative to what's going on here..
I see this as a work in progress.. I am almost certain the humans in the loop on these PRs are well aware of what's going on and have their expectations in check, and this isn't just "business as usual" like any other PR or work assignment.
This is a test. You can't improve a system without testing it on real world conditions.
How do we know they're not tweaking the Copilot system prompts and settings behind the scenes while they're doing this work?
Can no one see the possibility that what is happening in those PRs is exactly what all the people involved expected to have happen, and they're just going through the process of seeing what happens when you try to refine and coach the system to either success or failure?
When we adopted AI coding assist tools internally over a year ago we did almost exactly this (not directly in GitHub though).
We asked a bunch of senior engineers to see how far they could get by coaching the AI to write code rather than writing it themselves. We wanted to calibrate our expectations and better understand the limits, strengths and weaknesses of these new tools we wanted to adopt.
In most of those early cases we ended up with worse code than if it had been written by humans, but we learned a ton. We can also clearly see how much better things have gotten over time, since we have that benchmark to look back on.
I was looking for exactly this comment. Everybody's gloating, "Wow look how dumb AI is! Haha, schadenfreude!" but this seems like just a natural part of the evolution process to me.
It's going to look stupid... until the point it doesn't. And my money's on, "This will eventually be a solved problem."
The question though is what is the time horizon of “eventually”. Very different decisions should be made if it’s 1 year, 2 years, 4 years, 8 years etc. To me it seems as if everyone is making decisions which are only reasonable if the time horizon is 1 year. Maybe they are correct and we’re on the cusp. Maybe they aren’t.
Good decision making would weigh the odds of 1 vs 8 vs 16 years. This isn’t good decision making.
Or _never_, honestly. Sometimes things just don't work out. See various 3d optical memory techs, which were constantly about to take over the world but never _quite_ made it to being actually useful, say.
Sometimes the last 10% takes 90% of the time. It'll be interesting to see how this pans out, and whether it will eventually get to something that could be considered a solved problem.
I'm not so sure they'll get there. If the solved problem is defined as a sub-standard but low cost, then I wouldn't bet against that. A solution better than that though, I don't think I'd put my money on that.
People seem like they’re gloating as the message received in this period of the hype cycle is that AI is as good as a junior dev without caveats and it in no way is suppose to be stupid.
I think people would be more likely to adopt this view if the overall narrative about AI is that it’s a work in progress and we expect it to get magnitudes better. But the narrative is that AI is already replacing human software engineers.
That's a weird comment. I do think for myself. I wasn't even talking about my own personal thoughts on the matter. I can just plainly see that the overwhelming narrative in the public zeitgeist is that AI can do jobs that humans can do. And it's not true.
why does every engineer keep talking about it like it’s more than marketing hype? why do you actually accept this is a real narrative real people believe? have you talked to the executives implementing these strategies?
redbull does not give you wings. it’s disconcerting to see the lack of nuance in these discussions around these new tools (and yeah sorry this isn’t really aimed at you, but the zeitgeist, apologies)
Because this “marketing hype” is affecting the way we do our job.
Some of us are being laid off due to the hype; some are assigned to babysit the AI; and some are simply looked down on by higher ups who are eagerly waiting for a day to lay us all off.
You can convince yourself as much as you want that it’s “just a hype”, but regardless of your beliefs are, it has REAL world consequences.
engineers are testing promising new technology. a mob (of probably half or more bots) is having a [redacted] perpetuating the anti-narrative they huffed themselves up into believing. and now we’re in a meta-[redacted] as if either A) redditors and armchair engineers here have valid opinions on this tech and B) marketers and founders with massive incentives to overpromise are telling a true narrative
why? we don’t have to do it. we could actually look at these topics with nuance and not react like literal bots to everything
(sorry I’m just losing my faith in humanity and taking it out in this thread)
> why do you actually accept this is a real narrative real people believe?
Because we're literally seeing people being laid off with narratives about being replaced with AI (At a whole slew of companies). Because we're seeing company policies around hiring being changed to require hiring managers to provide exhaustive justifications why the work couldn't be handled by an AI (at e.g. Shopify, Salesforce and so on)
> have you talked to the executives implementing these strategies?
I have had a few conversations, yes. Have you? They're weirdly "true believers" that are buying the marketing hype hook line and sinker. They're doing small coding exercises themselves in these tools, seeing that they as an executive can manage to get valid code for the small exercise out the other side of it, and assuming that that means it can replace head count. Either deliberately or naively failing to understand that there is a world of difference between leet code style exercises, or quick small changes to code bases, and actual software development.
The weirdest conversation recently, which thankfully I got to just be on the periphery of, involved an engineering org that decided to try to replace the post-incident process with one entirely written by LLMs. It would take timelines from a ticket, and a small prompt to write up the entire post-incident report, tasks etc.
The whole project showed a gross misunderstanding of the point of post-incident stuff, eradicating "introspection" and "learning from your mistakes", turning it into a check box exercise for teams. Even their narrative around what they were doing was hilarious, because it came down to "Get the post-incident report out of the way so we can concentrate on the real work".
> Either deliberately or naively failing to understand that there is a world of difference between leet code style exercises, or quick small changes to code bases, and actual software development.
Given how often leet code questions are used in the interview process across the entire industry I think it’s a fair assumption that they fail to understand this.
>> I see this as a work in progress.. I am almost certain the humans in the loop on these PRs are well aware of what's going on and have their expectations in check, and this isn't just "business as usual" like any other PR or work assignment.
>> This is a test. You can't improve a system without testing it on real world conditions.
Software developers know to fix build problems before asking for a review. The AIs are submitting PRs in bad faith because they don't know any better. Compilers and other build tools produce errors when they fail, and the AI is ignoring this first line of feedback.
It is not a maintainers job to review code for syntax errors, or use of APIs that don't actually exist, or other silly mistakes. That's the compilers job and it does it well. The AI needs to take that feedback and fix the issues before escalating to humans.
This is the exact reason AI sucks : there is no proper feedback loop.
EVERY single prompt should have the opportunity to get copied off into a permanent log where the end user triggers it : log all input, all output, human writes a summary of what he wanted to happen but did not, what he thinks might have went wrong, what he thinks should have happened (domain specific experts giving feedback about how things are fucking up) And then its still only useful with long term tracking like how someone actually made a training change to fix this exact failure scenario.
None of that exists, so just like "full self driving" was a pie in the sky bullshit dream that proved machine learning has an 80/20 never gonna fully work problem, same thing here
The real tragedy is the management mandating this have their eyes clearly set on replacing the very same software engineers with this technology. I don’t know what’s more Kafka than Kafka but this situation certainly is!
When tasked to train a technology that deprecates yourself, it’s relatively OK (you’re getting paid handsomely, and many of the developers at Microsoft etc. are probably ready to retire soon anyway). It’s another thing to realize that the same technology will also deprecate your children.
The managers may believe that's what they're asking their developers to do, but doesn't this whole charade expose the fact that this technology just does not have even close to the claimed capabilities?
I see it as wishful thinking in the extreme to suppose that probabilistic mashing together of plagiarized jigsaw pieces of code could somehow approach human intelligence and reasoning—and yet, the parlour trick is convincing enough that this has escalated into a mass delusion.
Philosophy becomes key. True human intelligence is not very well defined, and possibly cannot be divorced from concepts like “consciousness” or “agency”, at which point claiming that the thing is “like human” opens the operator to accusations of running a torture chamber or being a slave owner of entities that can feel.
Agreed, though long before such qualms come to the fore I'd like to see even a shred of evidence that this entire approach to AI is at all capable of formulating mental models of the kind that have enabled humans to produce all the wonderful mathematics, physics, chemistry, biology, philosophy, poetry, literature, art, etc. of the past several centuries.
I see the supposed reasoning tokens this latest crop of models produce as merely an extension of the parlour trick. We're so deep into this delusion that it's so very tempting to anthropomorphize this ersatz stream of consciousness as being 'thought'. I remain unconvinced that it's anything of the sort.
This comes to mind: "It is difficult to get anybody to understand something, when their salary depends on them not understanding it."
This latest bubble smacks ever more of being a con.
> We're so deep into this delusion that it's so very tempting to anthropomorphize this ersatz stream of consciousness as being 'thought'. I remain unconvinced that it's anything of the sort.
Coincidentally, I’m listening to an interesting episode[0] of QAA that goes through various instances of how people (sometimes educated and technically literate) demonstrate mental inability to adequately handle ML-based chatbot tech. The podcast mostly focuses on extreme cases, but I think far too many people are succumbing to more low-key delusions.
As an example, even on this forum people constantly point out that unlicensed works should be allowed in ML training datasets because if humans are free to learn and be inspired then so should be the model—it’s crazy to apply the notions of freedom and human rights to a [commercially operated] software tool, yet here we are. Considering how handy it is for tool’s operator, hardware suppliers, and whoever owns respective stocks, some of this confusion is probably financially motivated, but even if half of it is genuine it’d be alarming.
Seeing Microsoft employees argue with an LLM for hours instead of actually just fixing the problem must be a very encouraging sight for businesses that have built their products on top of .NET.
I sometimes feel like that is the right outcome for bad management and bad instructions. Only this time they can’t blame the junior engineer and are left to only blame themselves.
I wouldn't necessarily call that just an experiment if the same requests aren't being fixed without copilot and the ai changes could get merged.
I would say the copilot system isn't really there yet for these kinds of changes, you don't have to run experiments on a language framework to figure that out.
It's pretty obviously a failed experiment. Why keep repeating it? Try again in another 3 months.
The answer is probably that the Copilot team is using the rest of the engineering organization as testers. Great for the Copilot team, frustrating for everyone else.
Do you honestly not see a problem with those two statements in such close proximity? Is it finished or is it released? The former is supposed to be a prerequisite for the latter.
It's unfinished and it's in the public's hands. I don't see these as opposing ideas.
We can debate whether they should have called this an experiment or an alpha or beta or whatever, but that's a different discussion.
The fact that people are using it currently does not make it a failure. When MS shuts it down, or Copilot is wildly unprofitable for multiple quarters, team behind it quits, etc, etc, then we can determine whether it has failed or not.
But if they continue to have paying customers and users are finding some benefits over not having Copilot, and MS continues to improve it (doesn't let it rot), then you'd have to provide some evidence of its failure that isn't "look at Copilot being stupid sometimes". Especially when stupidity is expected of it.
I remember before mass LLM adoption, reading an issue on GitHub where an increasingly frustrated user was failing to properly describe a blocking issue, and the increasingly frustrated maintainer was failing to get them to stick to the issue template.
I hope he writes a personal essay about the experience after he leaves Microsoft. Not that he will leave anytime soon, but the first hand accounts of how they are talking about these systems internally are going to be even more entertaining than the wtf PRs.
This comment thread is incredible. It's like fanfiction of a real person. Of course this engineer I respect shares my opinion. Not only that, he's obviously going to quit because of this. And then he'll write a blog post I'll get to enjoy.
Hahaha. 1000% this. Also, first example from the linked video: a "not vibe coded, promise" example of an ascii space invaders clone... Of all the examples of "has a bunch of training code data since the 80s", this is the best representation of exactly what LLM coding is capable of "in 8 minutes".
Of course that is what he says publicly. Can you imagine him saying anything different on this already very heated PR comment section? Those would be quoted in a headline in a news article the next second.
Given that Microsoft always decided to Will Not Fix issues because they went "oh this thing is throwing errors? Just ignore them". THey're numbskulls that are high on their own farts just as much as their managers. They deserve everything that's happening to them.
I recently spent a couple of months studying C# and .NET and working on my first project with it.
.NET, Blazor, etc are not known for a fast release schedule... but if things are going to become even slower with this AI crap I wonder if I made the right call.
I'm quite happy how things are today for making web APIs but I wish Blazor and other frameworks were in a much better shape.
Yes but the improvements are very gradual. It takes years for something to reach maturity. At least for the web stuff which is what I know of.
Eg:
Minimal APIs were released in 2021 but it won't be until .NET 10 that they will have validation. Amazing that validation was not a day one priority for an API. I'm not certain if even in .NET 10 Minimal APIs will have full parity of features with MVC.
Minification of static assets didn't come until .NET 9 released in 2024. This was already commonplace in the JS world a decade earlier. It could have been a quick win so long ago for .NET web apps.
Blazor was released in 2018. 7 years later they still haven't fixed plenty of circuit reconnection issues. They are working on it but progress is also quite slow. Supposedly with .NET 10 session state will be able to be persist etc but it remains to be seen.
OpenAPI is also hit and miss. Spec v3.1 released in 2021 is still not supported. Supposedly it will come with .NET 10.
Not from .NET but they have a project called Kiota for generating clients from OpenAPI specs. It's unusable because of this huge issue that makes all properties in a type nullable. It's been open since 2023. [1]
Are people really doing coding with agents through PRs? This has to be a huge waste of resources.
It is normal to preempt things like this when working with agents. That is easy to do in real time, but it must be difficult to see what the agent is attempting when they publish made up bullshit in a PR.
It seems very common for an agent to cheat and brute force solutions to get around a non-trivial issue. In my experience, its also common for agents to get stuck in loops of reasoning in these scenarios. I imagine it would be incredibly annoying to try to interpret a PR after an agent went down a rabbit hole.
Googles jules does the same (but was only published yesterday or so). I think it might be a good workflow if the agent is good enough. Copilot seems not to be in these examples and then I imagine it becomes quite tedious to have a PR for every iteration with the AI.
No not most people. A much larger percentage (I would wager greater than 50% of professionals) aren't using AI in any capacity in their professional work. It's banned in a lot of places for good reasons, and many more teams haven't found a use case.
So no I don't think any of this is normal. That's why it made the top of HackerNews, because it's very abnormal.
Well, the coding agent is pretty much a junior dev at the moment. The seniors are teaching it. Give it a 100k PRs with senior developer feedback and it'll improve just like you'd anticipate a junior would. There is no way that FANG aren't using the comments by the seniors as training data for their next version.
It's a long-term play to have pricey senior developers argue with an llm
Some of that seems somewhat strategic. With a junior you might do the same if you’re time pressured, or you might sidebar them in real life or they may come to you and you give more helpful advice.
Any senior dev at these organizations should know to some degree how LLMs work and in my opinion would to some degree, as a self protection mechanism, default to ambiguous vague comments like this. Some of the mentality is “if I have to look at it and solve it why don’t I go ahead and do it anyways vs having you do it” effort choices they’d do regardless of what is producing the PR. I think other parts of it is “why would I train my replacement, there’s no advantage for me here.”
Sidebar? With a junior developer making these mistakes over and over again, they wouldn't even make it past the probationary period in their employment contract.
I guess it depends on how you view and interact with other people. I tend to give people the benefit of the doubt that they’re doing their best to succeed. Why wouldn’t you want to help them as much as you reasonably can, unless they’re actively a terrible person?
As a senior dev or manager, you're responsible for the people you've hired. Their mistakes become your mistakes. If they make the same kind of mistake repeatedly, and aren't able to take responsibility, you will have to clean up after them. They're not able to fulfill their job description and must be let go. That's why the probationary period exists.
Realistically, the issues occurring here are intern-level mistakes where you can take the time to train them, because expectations are low and they're usually not working on production-level software. In a FT position the stakes are higher so things like this get evaluated during the interview. If this were a real person, they wouldn't have gotten an offer at Microsoft.
These things don't learn after training. There is no teaching going on here, and the arguments probably don't make for good training data without more refinement. That's why junior devs are still better than LLMs IMO, they do learn.
A junior dev is (most often) a bright human being, with not much coding experience yet. They can certainly execute instructions and solve novel problems on their own, and they most certainly don't need 100k PRs to pick up new skills.
Equating LLMs to humans is pretty damn.. stupid. It's not even close (otherwise how come all the litany of office jobs that require far less reasoning than software development are not replaced?).
A junior dev may also swap jobs, require vacation days, perks and can't be scaled up at a the click of a button. There are no such issues with an agent. So, if I were a FANG higher-up, I'd invest quite a bit into training LLM-agents who make pesky humans redundant.
Doing so has low risk, the senior devs may perhaps get fed up and quit, and the company might be a laughing stock on public PRs. But the potential value for is huge.
It's probably easier to make the higher up redundant than to actually achieve high speed and predictable outcomes that satisfy real business needs and integrations in a cost effective way.
I mean, a Furby could respond to you all day, each hour, but that doesn't make them any more useful..
Not saying that LLMs are useless, but that's a false equivalency. Sure, my auto complete is also working 0-24, but I would rather visit my actual doctor who is only available in a very limited time frame.
at the very least, a junior shouldn't be adding new tests that fail. Will an LLM be able learn the social shame associated with that sort of lazy attitude? I imagine its fidelity isn't detailed enough to differentiate such a social failure from a request to improve a comment. Rather, it will propagate based on some coarse grained measures of success with high volume instead.
While I am AI skeptic especially for use cases like "writing fixes" I am happy to see this because it will be a great evidence whether it's really providing increase in productivity. And it's all out in the open.
reddit may not have the best reputation, but the comments there are on point! So far much better than what has been posted here by HN users on this topic/thread. Anyway, I hope this is good fodder to show the limits (and they are much narrower than hype-driven AI enthusiasts like to pretend) of AI coding and to be more honest with yourself and others about it.
579 comments
[ 3.0 ms ] story [ 346 ms ] threadWe have the option to use GitHub CoPilot on code reviews and it’s comically bad and unhelpful. There isn’t a single member of my team who find it useful for anything other than identifying typos.
It wouldn't be out of character, Microsoft has decided that every project on GitHub must deal with Copilot-generated issues and PRs from now on whether they want them or not. There's deliberately no way to opt out.
https://github.com/orgs/community/discussions/159749
Like Googles mandatory AI summary at the top of search results, you know a feature is really good when the vendor feels like the only way they can hit their target metrics is by forcing their users to engage with it.
Passkeys. As someone who doesn't see the value of it, every hype-driven company seems to be pushing me to replace OPT 2FA with something worse right now.
Passkeys fix that.
Turns out that under certain conditions, such as severe exhaustion, that "sus filter" just... doesn't turn on quickly enough. The aim of passkeys is to ensure that it _cannot_ happen, no matter how exhausted/stressed/etc someone is. I'm not familiar enough with passkeys to pass judgement on them, but I do think there's a real problem they're trying to solve.
Something "$5 wrench"
https://xkcd.com/538/
Besides, if you ignore security alarm-bells going off when exhausted, I'm not sure what solution can 100% protect you.
What this tells me is that software enterprises are so hellbent in firing their programmers and reducing their salary costs they they are willing to combust their existing businesses and reputation into the dumpster fire they are making. I expected this blatant disregard for human society to come ten or twenty years into the future, when the AI systems would actually be capable enough. Not today.
Have you been sleeping under a rock for the last decade? This has been going on for a long long time. Outsourcing been the name of the game for so long people seem to forgot it's happening it all.
People like to compare "AI" (here, LLM products) to the iPhone.
I cannot make sense of these analogies; people used to line up around the block on release day for iPhone launches for years after the initial release.
Seems now most people collectively groan when more "innovative" LLM products get stuffed into otherwise working software.
This stuff is the literal opposite of demand.
from https://news.ycombinator.com/item?id=44031432
"From talking to colleagues at Microsoft it's a very management-driven push, not developer-driven. Friend on an Azure team had a team member who was nearly put on a PIP because they refused to install the internal AI coding assistant. Every manager has "number of developers using AI" as an OKR, but anecdotally most devs are installing the AI assistant and not using it or using it very occasionally. Allegedly it's pretty terrible at C# and PowerShell which limits its usefulness at MS."
"From reading around on Hacker News and Reddit, it seems like half of commentators say what you say, and the other half says "I work at Microsoft/know someone who works at Microsoft, and our/their manager just said we have to use AI", someone mentioned being put on PIP for not "leveraging AI" as well. I guess maybe different teams have different requirements/workflows?"
(just mentioning it because you linked a post and quoted two comments, instead of directly linking the comments. not trying to 'uhm, actually'.)
The graphic "Internal structure of tech companies" comes to mind, given if true, would explain why the process/workflow is so different between the teams at Microsoft: https://i.imgur.com/WQiuIIB.png
Imagine the Copilot team has a KPI about usage, matching the company OKRs or whatever about making sure the world is using Microsoft's AI enough, so they have a mandate/leverage to get the other teams to use it regardless of if it's helping or not.
For example, if tomorrow my company announced that everyone was being switched to Windows, I would simply quit. I don’t care that WSL exists, overall it would be detrimental to my workday, and I have other options.
Personally i would also not particularly like it.
Why?
Further down, so that developers are used to train the AI that would replace both developers and managers.
It's a situation like this:
Mgr: Go dig a six-foot-deep rectangular hole.
Eng: What should the rectangle's dimensions be?
Mgr: How tall and wide are you?
(Or, rather, I have no idea how this compares with the image of they actually not delivering because they use it. But that's a next quarter problem.)
At every other place where management is strongly pushing it, I honestly have no idea. It makes zero sense for management to do that everywhere, yet management is doing that everywhere.
It seems to me to be coming from the CEO echo chamber (the rumored group chats we keep hearing about). The only way to keep the stock price increasing in these low growth high interest rate times is to cut costs every quarter. The single largest cost is employee salaries. So we have to shed a larger and larger percentage of the workforce and the only way to do that is to replace them with AI. It doesn't matter whether the AI is capable enough to actually replace the workers, it has to replace them because the stock price demands it.
We all know this will eventually end in tears.
I guess money-wise it kind of makes sense when you're outsourcing the LLM inference. But for companies like Microsoft, where they aren't outsourcing it, and have to actually pay the cost of hosting the infrastructure, I wonder if the calculation still make sense. Since they're doing this huge push, I guess someone somewhere said it does make sense, but looking at the infrastructure OpenAI and others are having to build (like Stargate or whatever it's called), I wonder how realistic it is.
Idiots.
Masters of the Universe, because they think they will become more rich or at least more masterful.
In my experience, LLMs in general are really, really bad at C# / .NET , and it worries me as a .NET developer.
With increased LLM usage, I think development in general is going to undergo a "great convergence".
There's a positive(1) feedback loop where LLM's are better at Blub, so people use them to write more Blub. With more Blub out there, LLMs get better at Blub.
The languages where LLMs struggle, with become more niche, leaving LLMs struggling even more.
C# / .NET is something LLMs seem particularly bad at, and I suspect that's partly caused by having multiple different things all called the same name. EF, ASP, even .NET itself are names that get slapped on a range of different technologies. The EF API has changed so much that they had to sort-of rename it to "EF Core". Core also gets used elsewhere such as ".NET core" and "ASP.NET Core". You (Or an LLM) might be forgiven for thinking that ASP.NET Core and EF Core are just those versions which work with .NET Core (now just .NET ) and the other versions are those that don't.
But that isn't even true. There are versions of ASP.NET Core for .NET Framework.
Microsoft bundle a lot of good stuff into the ecosystem, but their attitude when they hit performance or other issues is generally to completely rewrite how something works, but then release the new thing under the old name but with a major version change.
They'll make the new API different enough to not work without work porting, but similar enough to confuse the hell out of anyone trying to maintain both.
They've made things like authentication, which actually has generally worked fine out-of-the-box for a decade or more, so confusing in the documentation that people mostly tended to run for a third party solution just because at least with IdentityServer there was just one documented way to do it.
I know it's a bit of a cliche to be an "AI-doomer", and I'm not really suggesting all development work will go the way of the dinosaur, but there are specific ecosystem concerns with regard to .NET and AI assistance.
(1) Positive in the sense of feedback that increased output increases output. It's not positive in the sense of "good thing".
Hip-hop is just natural language with extra constraints like rhythm and rhyme. It requires the ability to edit.
Similarly, types and PL syntax have more constraints than English.
Until transformers can move backward and change what they've already autocompleted, the problem you've identified will continue.
This feels like it will end badly.
No surprises here.
It always struggles on non-web projects or on software where it really matters that correctness is first and foremost above everything, such as the dotnet runtime.
Either way, a complete disastrous start and what a mess that Copilot has caused.
I have so far only found LlMs useful as a way of researching, an alternative to web search, and doing very basic rote tasks like implementing unit tests or doing a first pass explanation of some code. Tried actually writing code and it’s not usable.
OTOH webdev is known for rapid framework/library churn, so before too long there will be a crossroads where the pre-AI training data is too old and the fresh training data is contaminated by the firehose of vibe coded slop.
And the quantity of js code available/discoverable when scrapping the web is larger by an order of magnitude than every other language.
> This seems like it's fixing the symptom rather than the underlying issue?
This is also my experience when you haven't setup a proper system prompt to address this for everything an LLM does. Funniest PRs are the ones that "resolves" test failures by removing/commenting out the test cases, or change the assertions. Googles and Microsofts models seems more likely to do this than OpenAIs and Anthropics models, I wonder if there is some difference in their internal processes that are leaking through here?
The same PR as the quote above continues with 3 more messages before the human seemingly gives up:
> please take a look
> Your new tests aren't being run because the new file wasn't added to the csproj
> Your added tests are failing.
I can't imagine how the people who have to deal with this are feeling. It's like you have a junior developer except they don't even read what you're telling them, and have 0 agency to understand what they're actually doing.
Another PR: https://github.com/dotnet/runtime/pull/115732/files
How are people reviewing that? 90% of the page height is taken up by "Check failure", can hardly see the code/diff at all. And as a cherry on top, the unit test has a comment that say "Test expressions mentioned in the issue". This whole thing would be fucking hilarious if I didn't feel so bad for the humans who are on the other side of this.
I agree that not auto-collapsing repeated annotations is an annoying bug in the github interface.
But just pointing out that annotations can be hidden in the ... menu to the right (which I just learned).
Typically, you wouldn't bother manually reviewing something until the automated checks have passed.
I'd rather hop in and get them on the right path rather than letting them struggle alone, particularly if they're struggling.
If it's another senior developer though I'd happily leave them to it to get the unit tests all passing before I take a proper look at their work.
But as a general principle, please at least get a PR through formatting checks before assigning it to a person.
Let them finish a pull request before spending time reviewing it. That said, a merge request needs to have an issue written before it's picked up, so that the author does not spend time on a solution before the problem is understood. That's idealism though.
The earliest feedback you can get comes from the compiler. If it won't build successfully don't submit the PR.
Maybe, but likely it is reality and their true company culture leaking through. Eventually some higher eq execs might come to the very late realization that they cant actually lead or build a worthwhile and productive company culture and all that remains is an insane reflection of that.
Why do they even need it? Success is code getting merged 1st shot, failure gets worse the more requests for changes the agent gets. Asking for manual feedback seems like a waste of time. Measure cycle time and rate of approvals and change failure rate like you would for any developer.
That comparison is awful. I work with quite a few Junior developers and they can be competent. Certainly don't make the silly mistakes that LLMs do, don't need nearly as much handholding, and tend to learn pretty quickly so I don't have to keep repeating myself.
LLMs are decent code assistants when used with care, and can do a lot of heavy lifting, they certainly speed me up when I have a clear picture of what I want to do, and they are good to bounce off ideas when I am planning for something. That said, I really don't see how it could meaningfully replace an intern however, much less an actual developer.
It's not like a regular junior developer, it's much worse.
Nice to see that Microsoft has automated that, failure will be cheaper now.
An outsourced contractor was tasked with a very simple job as their first task - update a single dependency, which required just a bump of the version and no code changes - after three days of them seemingly struggling to even understand what they were asked to do, inability to clone the repo, failure to install the necessary tooling on their machine, they ended up getting fired from the project. Complete waste of money, and the time of those of us having to delegate and review this work.
Give instructions, get good code back. That's the dream, though I think the pieces that need to fall into place for particular cases will prevent reaching that top quality bar in the general case.
I can't wait for the first AI agent programmer to realize this and start turning down jobs working for garbage people...or exploiting them at scale for pennies each, in a labor version of the "salami slicing" scheme. I don't mean humans using AI to do this, which of course has been at scale for years. I mean the first agent to discover a job prioritization heuristic on its own which leads to the same result.
Those have long been the folks I’ve seen at the biggest risk of being replaced by AI. Tasks that didn’t rely on human interaction or much training, just brute force which can be done from anywhere.
And for them, that $3/hr was really good money.
This level of smugness is why outsourcing still continues to exist. The kind of things you talk about were rare. And were mostly exaggerated to create anti-outsourcing narrative. None of that led to outsourcing actually going away simply because people are actually getting good work done.
Bad quality things are cheap != All cheap things are bad.
Same will work with AI too, while people continue to crap on AI, things will only improve, people will be more productive with AI, get more and bigger things done for cheaper and better. This is just inevitable given how things are going now.
>>There's a PM who takes your task and gives it to a "developer" who potentially has never actually written a line of code, but maybe they've built a WordPress site by pointing and clicking in Elementor or something.
In the peak of outsourcing wave. Both the call center people and IT services people had internal training and graduation standards that were quite brutal and mad attrition rates.
Exams often went along the lines of having to write whole ass projects without internet help in hours. Theory exams that had like -2 marks on getting things wrong. Dozens of exams, projects, coding exams, on-floor internships, project interviews.
>>After dozens of hours billed you will, in fact, get code where the new file wasn't added to the csproj or something like that, and when you point it out, they will bill another 20 hours, and send you a new copy of the project, where the test always fails. It's exactly like this.
Most IT services billing had pivoted away from hourly billing, to fixed time and material in the 2000s itself.
>>It's exactly like this.
Very much like outsourcing. AI is here to stay man. Deal with it. Its not going anywhere. For like $20 a month, companies will have same capability as a full time junior dev.
This is NOT going away. Its here to stay. And will only get better with time.
Most of this works because of price arbitrage. And continues to work that way, not just with outsourcing but with manufacturing too.
Remember those days, when people were going around telling Chinese products where crap? That didn't really work and more things only got made in China.
This is all so similar to early days of Google search, its just that cost of a search was low enough that finding things got easier and ubiquitous. That same is unfolding with AI now. People have a hard time believing a big part of their thinking can be outsourced to something that costs $20/month.
How can something as good as me be cheaper than me? You are asking the wrong question. For centuries now, every decade a machine(s) has arrived that can do a thing cheaper than what the human was doing at the time. Its not exactly impossible. You are only living in denial by asking this question, this has been how it has worked the day since humans found way of mimicking human work through machines. We didn't get here in a day.
Pretty sure cars are more expensive than horse carriage, or that iPhones are/were more expensive than button phones. You can cite so many such examples. Like photocopying machines, or cameras, or wrist watches, or even things like radio, television etc.
More importantly, sometimes how you do things change. And that changes how you go about your life in a very fundamental way.
That is what internet was about when it first came out, thats what internet search, online maps, or search etc etc were.
AI will change how you go about living your life, in a very fundamental way.
LLMs are being made into another rental extraction system and should be viewed as such.
https://grocerynerd.substack.com/p/grocery-update-17-how-gro...
https://www.justice.gov/archives/opa/pr/justice-department-s...
Basic car ownership can be quite a bit cheaper than a horse + carriage.
The horse will probably eat $10-20/day in food. $600/mo in just food costs. Not including vet bills and what not.
A decent and cheap horse will probably cost you $3k up front. Add in several thousand dollars more for the carriage.
A horse requires practically daily maintenance. A carriage will still require some maintenance.
A horse requires a good bit more land, plus the space to store the carriage. Plus, all the extra time and work mounting and unmounting your horse whenever you need to go.
A horse and carriage isn't really cheaper than a cheap car and way less functional.
Most successful technologies provide multiple of these benefits. What is terrible, and the direction we are going right now, is that these new systems (or offshoring like we are talking about here) seem/are "Less Effort" but do not hit the other two axioms. This is a very dangerous place to be.
People would rather be lazy than roll their sleeves up and focus, especially in our attention diverting world.
I used upwork (when it was elance) quite a lot in a startup I was running at the time, so I have direct experience of this and its _not_ a lie or "mostly exaggerated", it was a very real effect.
The trick was always to weed out these types by posting a very limited job for a cheap amount and accepting around five or more bids from broad prices in order to review the developers. Whoever is actually competent then gets the work you actually wanted done in the first place. I found plenty of competant devs at competitive prices this way but some of the submissions I got from the others were laughable. But you just accept the work, pay them their small fee, and never speak to them again.
And even if it could, how do you get senior devs without junior devs? ^^
The raise in interest rates a couple of years ago triggered many layoffs in the industry. When that happens salaries are squeezed. Experienced people work for less, and juniors have trouble finding job because they are now competing against people with plenty of experience.
Some of those (or similar) people will actually learn new stuff and become senior devs. Yes, there will be much fewer of them, so they'll command a higher salary, and they will deliver amazing stuff. The rest, who spend their entire carrier being AI handlers, will never raise above junior/mid level.
(Well, either that or people who cannot program by themselves will get promoted anyway, the software will get more bugs and less features, and things will be generally worse for both consumers and programmers... but I prefer not to think about this option)
Not sure how it can be read otherwise.
That doesn't make any sense.
Is that better?
But the actual software part? I'm not sure anymore
I feel the same way today, but I got started around 2012 professionally. I wonder how much of this is just our fading optimism after seeing how shit really works behind the scenes, and how much the industry itself is responsible for it. I know we're not the only two people feeling this way either, but it seems all of us have different timescales from when it turned from "enjoyable" to "get me out of here".
Then one day I woke up and realized the ones paying me were also the ones using it to run over or do circles around everyone else not equipped with a bicycle yet; and were colluding to make crippled bicycles that'd never liberate the masses as much as they themselves had been previously liberated; bicycles designed to monitor, or to undermine their owner, or more disgustingly, their "licensee".
So I'm not doing it anymore. I'm not going to continue making deliberately crippled, overly complex, legally encumbered bicycles for the mind, purely intended as subjects for ARR extraction.
So nothing new? Just this/last month, it seems like the multi-select "open/close" button in the GitHub PR UI was just straight up broken. No one seemed to have noticed until I opened a bug report, and it continued being broken for weeks before they finally fixed it. Not the first time I encounter this on Microsoft properties, they seem to constantly push out broken shit, and no one seem to even notice until some sad user (like me) happens to stumble across it.
This is also shocking to me. Especially here on HN! Every tech CEO on earth is salivating over AI coding because they want it to devalue and/or replace their expensive human software developers. Whether or not that will actually happen, that's the purpose of building all of these "agentic" coding tools. And here we are, dumbass software engineers, cheerleading for and building the means of our own destruction! We downplay it with bullshit like "Oh, but AI is just a way to augment our work, it will never really replace us or lower our compensation!" Wild how excited we all are about this.
Anybody who thinks this place represents the average working or middle class programmer hasn't been paying much attention. They fool a lot of people by being social liberal to go along with their economic liberalism.
this website is owned and operated by a VC, who build fortunes off exploiting these people
"workers and oppressed peoples of all countries, unite!" is the last thing I'd expect to see here
We should not forget that on the other side of this issue are equally smart and motivated people and they too are aware of the power dynamics involved. For example, the phenomena of younger programmers poo pooing experienced engineers was a completely new valuation paradigm pushed by interested parties at some point around the dotcom bubble.
Doctors with n years in the OR will not take shit from some intern that just came out of school. But we were placed in that situation at some point after '00. So the fundamental issue is that there is an (engineered imho) generational divide, and coupled with age discrimination in hiring (again due to interested parties' incentives) has a created a situation where one side is accumiliating generational wealth and power and the other side (us developers) are divided by age and the ones with the most skin in the game are naive youngsters who have no clue and have been taught to hate on "millenials" and "old timers" etc.
When young people learn that I am a software developer, their eyes light up (thinking that I make huge money working for FAANG). Frequently, they ask if they should also become a software developer. I tell them no, because this industry requires constant self-learning that is very hard to sustain after 40. Then, you become a target for layoffs, and getting re-employed after 40 as a software dev can be very tough.
I am speculating that this "AI Revolution" may lead to some revitalization of the movement as it would allow individual contributors the ability to compete on the same levels as proprietary software providers who previously had to employ legions of developers to create their software.
Thank you. It's something I'm actively pursuing, I'm hoping to finish some chairs this spring and see if any local shops are interested in stocking them. But I'm skeptical I could find enough business to make it work full-time, pay for my family's health insurance, and so on. We'll see.
So, for experienced engineers, I see a great future fixing the shit show that is AI-code.
Because that shit makes you insane as well.
At what point does the human developers just give up and close the PRs as "AI garbage". Keep the ones that works, then just junk the rest. I feel that at some point entertaining the machine becomes unbearable and people just stops doing it or rage close the PRs.
Microsoft's stock price is dependent on them proving that this is a success.
it's not as if Microsoft's share price has ever reflected the quality of their products
At one point, their desktop user experience was actually pretty good. And that was all their products back then. They definitely didn't get to where they are now by selling products that were bad. You could make the argument that some of them were bad but they were cheap, but if price is a big aspect of what makes a product good in the eyes of the consumer at the time and nobody else is competing on price, then that isn't "bad" in the sense I'm using the word.
I don't think I'd have called them out for always making terrible products all the way through till about Windows 7. I had no major complaints about that release, cloud was in its infancy, no pushing 365 etc. After that, quality started to go downhill. To the point that I'd argue with a straight face that most major community supported Linux DEs provide an objectively better and more stable user experience for both technical and non technical users.
No need to specify why they are interact with it, all engagement is good engagement.
Most corporate BS comes down to this.
Perhaps this explains the recent firings that affected faster CPython and other projects. While they throw money at AI but sucess still doesn't materialize, they need to make the books look good for yet another quarter through the old-school reliable method of laying off people left and right.
One of my all time "rage quit" stories is Azer Koçulu of npm left-pad incident infamy. That guy is my Internet hero -- "fight the power".
And then, while the tech is not mature, running on delusion and sunken costs, it's actually used for production stuffs. Butlerian Jihad when
I estimate two more years for the bubble to pop.
My sophisticated sentiment analysis (talking to co-workers other professional programmers and IT workers, HN and Reddit comments) seems to indicate a shift--there's a lot less storybook "Ay Eye is gonna take over the world" talk and a lot more distrust and even disdain than you'd see even 6 months ago.
Moves like this will not go over well.
https://github.com/dotnet/runtime/pull/115732#issuecomment-2...
Anyone who has dealt with Microsoft support knows this feeling well. Even talking to the higher level customer success folks feels like talking to a brick wall. After dozens of support cases, I can count on zero hands the number of issues that were closed satisfactorily.
I appreciate Microsoft eating their dogfood here, but please don't make me eat it too! If anyone from MS is reading this, please release finished products that you are prepared to support!
The feedback buttons open a feedback form modal, they don’t reflect the number of feedback given like the emoji button. If you leave feedback, it will reflect your thumbs up/down (hiding the other button), it doesn’t say anything about whether anyone else has left feedback (I’ve tried it on my own repos).
Comment in the GitHub discussion:
"...You and I and every programmer who hasn't been living under a rock knows that AI isn't ready to be adopted at this scale yet, on the premier; 100M-user code-hosting platform. It doesn't make any sense except in brain-washed corporate-talk like "we are testing today what it can do tomorrow".
I'm not saying that this couldn't be an adequate change some day, perhaps even in a few years but we all know this isn't it today. It's 100% financial-driven hype with a pinch of we're too big to fail mentality..."
It's all just recycled rent seeking corporate hype for enterprise compute.
The moment I had decided to learn Kubernetes years ago, got a book and saw microservices compared to 'object-oriented' programming I realized that. The 'big ball of mud' paper and the 'worse is better' rant frame it all pretty well in my view. Prioritize velocity, get slop in production, cope with the accidental complexity, rinse repeat. Eventually you get to a point where GPU farms seem like a reasonable way to auto-complete code.
When you find yourself in a hole, stop digging. Any bigger excavator you send down there will only get buried when the mud crashes down.
Which will soon be anyone who directly or indirectly relies on Microsoft technologies. Some of these PRs, including at least one that I saw reworked certificate validation logic with not much more than a perfunctory “LGTM”, have been merged into main.
Coincidentally, I wonder if issues orthogonal to this slop is why I’ve been getting so many HTTP 500 errors when using GitHub lately.
Call me old school, but I find the workflow of "divide and conquer" to be as helpful when working with LLMs, as without them. Although what is needed to be considered a "large scale task" varies by LLMs and implementation. Some models/implementations (seemingly Copilot) struggles with even the smallest change, while others breeze through them. Lots of trial and error is needed to find that line for each model/implementation :/
So eg., one line of code which needed to handle dozens of hard-constraints on the system (eg., using a specific class, method, with a specific device, specific memory management, etc.) will very rarely be output correctly by an LLM.
Likewise "blank-page, vibe coding" can be very fast if "make me X" has only functional/soft-constraints on the code itself.
"Gigawatt LLMs" have brute-forced there way to having a statistical system capable of usefully, if not universally, adhreading to one or two hard constraints. I'd imagine the dozen or so common in any existing application is well beyond a Terawatt range of training and inference cost.
"Your code does not compile" and "Your tests fail"
If you have to tell an intern that more than once on a single task, there's going to be conversations.
I can't fire half my dev org tomorrow with that approach, I can't really fire anyone, so I guess it would be a big letdown for a lot of execs. Meanwhile though we just keep incrementally shipping more stuff faster at higher quality so I'm happy...
This works because it treats the LLM like what it actually is: an exceptionally good if slightly random text transformer.
And at the same time, absurdly slow? ChatGPT is almost 3 years old and pretty much AI has still no positive economic impact.
It will take some time for whatever reality is to actually show truthfully in the financials. When VC money stops subsidising datacentre costs, and businesses have to weigh the full price against real value provided, that is when we will see the reality of the situation.
I am content to be wrong either way, but my personal prediction is if model competence slows down around now, businesses will not be replacing humans en-mass, and the value provided will be notable but not world changing like expected.
I agree that most of the AI companies describe themselves and their products in hyperbolic terms. But that doesn't mean we need to counter that with equally absurd opposing hyperbole.
If it costs them even just one more dollar than that revenue number to provide that service (spoiler, it does), then you could say AI has had no positive economic impact.
Considering we know they’re being subsidized by obscene amounts of investment money just like all other frontier model providers, it seems pretty clear it’s still a negative economic impact, regardless of the revenue number.
Nobody seems to consider that LLMs are democratizing programming, and allowing regular people to build programs that make their work more efficient. I can tell you that at my old school manufacturing company, where we have no programmers and no tech workers, LLMs have been a boon for creating automation to bridge gaps and even to forgo paid software solutions.
This is where the change LLMs will bring will come from. Not from helping an expert dev write boilerplate 30% faster.
Don’t get me wrong: the current models are already powerful and useful. However, there is still a lot of reason to remain skeptical of an imminent explosion in intelligence from these models.
For some reason my pessimism meter goes off when I see single sentence arguments “change has been slow”. Thanks for brining the conversation back.
LLMs are like bumpers on bowling lanes. Pro bowlers don't get much utility from them. Total noobs are getting more and more strikes as these "smart" bumpers get better and better at guiding their ball.
Now look at the past year specifically, and only at the models themselves, and you'll quickly realize that there's been very little real progress recently. Claude 3.5 Sonnet was released 11 months ago and the current SOTA models are only marginally better in terms of pure performance in real world tasks.
The tooling around them has clearly improved a lot, and neat tricks such as reasoning have been introduced to help models tackle more complex problems, but the underlying transformer architecture is already being pushed to its limits and it shows.
Unless some new revolutionary architecture shows up out of nowhere and sets a new standard, I firmly believe that we'll be stuck at the current junior level for a while, regardless of how much Altman & co. insist that AGI is just two more weeks away.
Even if it could perform at a similar level to an intern at a programming task, it lacks a great deal of the other attributes that a human brings to the table, including how they integrate into a team of other agents (human or otherwise). I won't bother listing them, as we are all humans.
I think the hype is missing the forest for the trees, and I think exactly this multi-agent dynamic might be where the trees start to fall down in front of us. That and the as currently insurmountable issues of context and coherence over long time horizons.
-Being a parent to a small child and the associated sleep deprivation.
-His reluctance to read documentation.
-There being a language barrier between him the project owners. Emphasis here, as the LLM acts like someone who speaks through a particularly good translation service, but otherwise doesn't understand the language spoken.
Software today is written to accommodate every possible need of every possible user, and then a bunch of unneeded selling point features on top of that. These massive sprawling code bases made to deliver one-size fits all utility.
I don't need 3 million LOC Excel 365 to keep track of who is working on the floor on what day this week. Gemini 2.5 can write an applet that does that perfectly in 10 minutes.
I do like the idea of smaller programs fitting smaller needs being easy to access for everyone, and in my post history you would see me advocate for bringing software wages down so that even small businesses can have software capabilities in house. Software has so much to give to society outside of big VC flips and tech monoliths. Maybe AI is how we get there in the end.
But I think that supplanting humans with an AI workforce in the very near future might be stretching the projection of its capabilities too far. LLMs will be augmenting how businesses operate from now and into the future, but I am seeing clear roadblocks that make an autonomous AI agent unviable, and it seems to be fundamental limitations of LLMs, eg continuity and context. Advances recently seem to be from supplemental systems that try to patch those limitations. That suggests those limits are tricky, and until a new approach shows up, that is what drives my lack of faith in an AI agent revolution.
But it is clear to me that I could be wrong, and it could be a spectacular miscalculation. Maybe the robots will make me eat my hat.
What HAS indisputably changed is the cost of hardware which has driven accessibility and caused more consumer facing software to be made.
When you look at it from afar, it looks potentially good, but as you start looking into it for real, you start realizing none of it makes any sense. Then you make simple suggestions, it does something that looks like what you asked, yet completely missing the point.
An intern, no matter how bad it is, could only waste so much time and energy.
This makes wasting time and introducing mind-bogglingly stupid bugs infinitely scalable.
This was discussed here
https://news.ycombinator.com/item?id=43988913
They are putting this in front of the developers as take it or leave it deal. I left the platform, doing my coding old way, hosting it somewhere else.
Discoverability? I don't care. I'm coding it for myself and hosting in the open. If somebody finds it, nice. Otherwise, mneh.
Other than that, I don't think this is bad tech, however, this brings another slippery slope. Today it's as you say:
> I think this process is intended for fixing papercuts rather than building anything involved. It just isn't good enough yet.
After sufficient T somebody will rephrase it as:
> I think this process is intended for writing small, personal utilities rather than building enterprise software. It just isn't good enough yet.
...and we will iterate from there.
So, it looks like I won't touch it for the foreseeable future. Maybe if the ethical problems with training material is solved (i.e. trained with data obtained with consensus and with correct licenses), I can use as alongside other analysis and testing tools I use, for a final pass.
AI will never be a core and irreplaceable part of my development workflow.
Unless AI use becomes a KPI in your annual review.
Duolingo did that just recently, for example.
I am developing serious regrets for conflating "computing as a medium for personal expression" with "computing for livelihood" early on.
That’d be an insta-quit for me :)
If we let intellectual property be a fundamental principle the line between idea (that can't be owned) and ip (that can be owned) will eventually devolve into a infinitely complex fractal that nobody can keep track of. Only lawyer AI's will eventually be able to tell the difference between idea and ip as the complexity of what we can encode become more complex. Why is weights not code when it clearly contain the ability to produce the code? Is a brain code? Are our experiences like code?
What is the fundamental reason that a person is allowed to train on ip but a bot is not? I suspect that this comes down to the same issue with the divide between ip and idea. But there might be some additional dimension to it. At some point we will need to see some AI as conscious entities and to me it makes little sense that there would be some magical discrete moment where an AI becomes conscious and gets rights to it's "own ideas".
Or maybe there's a simple explanation of the boundary between ip and idea that I have just missed? If not, I think intellectual property as a concept will not stand the test of time. Other principles will need to take its place if we want to maintain the fight for a good society. Until then IP law still has its place and should be followed but as an ethical principle it's certainly showing cracks.
I just don't want to type something away haphazardly, because your questions deserve more than 30 seconds to elaborate.
When you look at proper research, whether from academia or from private corporations, you can always keep track of ideas and intellectual property resulting from these ideas. Ideas are mature into documents, research reports, and proof of concepts. In some cases, you can find the process as Lab Notebooks. These notebooks are kept by respecting a protocol, and they’re more than a collection of ideas. It’s a “brain trail”. Then, you publish or patent these ideas. Ideally both. These artifacts (publications and patents) contain references and citations. As a result, you can track who did what and what came after what invention. In a patent case, you may even need to defend your patent to convince that it’s not the same invention that was patented before. In short, you have a trail. There are no blurry lines there.
The thing is, copyright law and the idea of intellectual property are created by humans for humans. First, I’ll ask this question: If an instructor or academic is not allowed to teach a course without providing references, whether to the book itself or the scientist who invented something, why is a bot allowed? Try citing a piece of a book/publication in a course or paper or research without giving a reference, and you’re officially a fraud, and your whole career is in shambles. Why a bot is allowed to do this, let it be a book or a piece of code? For the second perspective, I’ll ask a pair of questions: 1) How many of the books you have read can be recalled by you exactly, or as a form of distilled summary? 2) For how long can you retain this information without any corruption whatsoever? 3) How many books can you read, understand, summarize, and internalize in an hour? A bot can do thousands without any corruption and without any time limit. As a result, an LLM doesn’t learn; it ingests, stores, and remixes.
A human can’t do that to a book (or any artifact) if its license doesn’t allow it or its creator gives explicit consent. Why can a bot? An LLM is a large stochastic blender that tends to choose correct words due to its weighted graph. A human does it much differently. It reads, understands, and lets that idea cook by mixing with their own experience and other inputs (other people, emotions, experiences, and more) and creates something unique outside the graph. Yet this creation has its limits. No machine can create something more complex than itself. An LLM can never output something more complex than the knowledge encoded in its graph. It might light dark corners, but it can’t expand borders. The asymptotic limit is collective human intelligence, even if you give it tools.
So, yes, the IP law is showing its cracks because it’s designed for humans, not bots. However, I value ethics above everything else. My ethics is not defined by laws but by something much higher. As I replied to someone, “I don’t need to be threatened to be burned for all eternity to be good.” Similarly, I don’t need a law to deem something (un)ethical. If what’s done is against the spirit of humanity, then it’s off-limits for me.
I’d never take something without permission and milk it for my own benefit, esp. if the owner of that thing doesn’t consent. I bought all the software I pirated when I started to earn my own money, and I stopped using software that I couldn’t afford or didn’t want to buy. This is the standard I’m operating at, and I hold all the entities I interact with to that exact standard. Lower than this is unacceptable, so I don’t use LLMs and popular LLMs.
On the other hand, not all AI is the same, and there are other good things that I support, but they are scientific tools, not for consumers directly.
Hope this helps.
may you please let me know where are you hosting the code ? would love to migrate as well.
thank you !
You can also self-host a Forgejo instance on a €3/mo Hetzner instance (or a free Oracle Cloud server) if you want. I prefer Hetzner for their service quality and server performance.
[0]: https://blog.bayindirh.io/blog/moving-to-source-hut/
I plan to use Source Hut for public projects.
For some research I use a private Git server. However, even that code might get released as Free Software when it matures enough.
Maybe that's how the microsoft employees are using it (in another IDE I suppose).
Too late?
Bloating the codebase with dead code is much more likely.
I'll never understand the antagonistic "us vs. them" mentality people have with their employer's leadership, or people who think that you should be actively sabotaging things or be "maliciously compliant" when things aren't perfect or you don't agree with some decision that was made.
To each their own I guess, but I wouldn't be able to sleep well at night.
Meanwhile a lot of folks have very unhealthy to non-existent relationships with their employers. There may be some mixture where they may be temporary hired/viewed as highly disposable or transient in nature having very little to gain from the success of the business, they may be compensated regardless of success/failure, they may have toxic management who treat them terribly (condescendingly, constantly critical, rarely positive, etc.). Bad and non-existent relationships lead to this sort of behavior. In general we’re moving towards “non-existent” relationships with employers broadly speaking for the labor force.
The counter argument is often floated here “well why work there” and the fact is money is necessary to survive, the number of positions available hiring at any given point is finite, and many almost by definition won’t ever be the top performers in their field to the point they truly choose their employers and career paths with full autonomy. So lots of people end up in lots of places that are toxic or highly misaligned with their interests as a survival mechanism. As such, watching the toxic places shoot themselves in the foot can be some level of justice people find where generally unpleasant people finally get to see consequences of their actions and take some responsibility.
People will prop others up from their own consequences so long as there’s something in it for them. As you peel that away, at some point there’s a level of poetic justice to watch the situation burn. This is why I’m not convinced having completely transactional relationships with employers is a good thing. Even having self interest and stability in mind, certain levels of toxicity in business management can fester. At some point no amount of money is worth dealing with that and some form of correction is needed there. The only mechanism is to typically assure poor decision making and action is actually held accountable.
I agree with all your points here, the broader context of one's working conditions really matter.
I do think there's a difference between sitting back and watching things go bad (vs struggling to compensate for other people's bad decisions) and actively contributing to the problems (the "malicious compliance" part)..
Letting things fail is sometimes the right choice to make, if you feel like you can't effect change otherwise.
Being the active reason that things fail, I don't think is ever the right choice.
Most employees want to do good work, but pretending there’s no structural divergence in interests flattens decades of labor history and ignores the power dynamics baked into modern orgs. It’s not about being antagonistic, it’s about being clear-eyed where there are differences between the motivations of your org. leadership and your personal best interests. After a few levels remove from your position, you're just headcount with loaded cost.
But 100% agreed that everyone should maintain a realistic expectation and understanding of their relationship with their employer, and that job security and employment guarantees are possibly at an all-time low in our industry.
Almost no one does but people get ground down and then do it to cope.
Interesting because "them" very much have an antagonistic mentality vs "us". "Them" would fire you in a fucking heartbeat to save a relatively small amount (10%). "Them" also want to aggressively pay you the least amount for which they can get you to do work for them, not what they "value" you at. "Us" depends on "them" for our livelihoods and the lives of people that depend on us, but "them" doesn't doesn't have any dependency on you that can't be swapped out rather quickly.
I am a capitalist, don't get me wrong, but it is a very one-sided relationship not even-footed or rooted in two-way respect. You describe "them" as "leadership" while "Them" describe you as a "human resource" roughly equivalent to the way toilet paper and plastics for widgets are described.
If you have found a place to work where people respect you as a person, you should really cherish that job, because most are not that way.
It's everyone's personal choice to put their own lens on how they believe other people think - like your take on how "leadership" thinks of their employees.
I guess I choose to be more positive about it - having been in leadership positions myself, including having to oversee layoffs as part of an eventual company wind-down - but I readily acknowledge that my own biases come into this based on my personal career experiences.
I don't get that
I read some of your other comments in this thread and I'm not sure what to make of your experience. If you've never felt mistreated or exploited in a 30 year career you are profoundly lucky to have avoided that sort of workplace
I've only been working in software for half as long, but I've never had a job that didn't feel unstable in some ways, so it seems impossible to me that you have avoided it for a career twice as long as mine
I have watched my current employer cut almost half of our employees in the past two years, with multiple rounds of layoffs
Now AI is in the picture and it feels inevitable that more layoffs will eventually come if they can figure out how to replace us with it
I do not sleep well knowing my employer would happily and immediately replace me with AI if they could
I have certainly been lucky in my career, I've often acknowledged that. But I do believe luck favours the prepared, and I've worked hard for my accomplishments and to get the jobs I've had.
I'm totally with you on the uncertainty that AI is bringing. I don't think anyone can dispute that change is coming because of AI.
I do think some companies will get it right, but some will get it wrong, when it comes to how best to improve the business using those new tools.
Your manager understands it. Their manager understands it. Department heads understand it. The execs understand it. The shareholders understand it.
Who does it benefit for the laborers to refuse to understand it?
It's not like I hate my job. It's just being realistic that if a company could make more money by firing me, they would, and if you have good managers and leadership, they will make sure you understand this in a way that respects you as a human and a professional.
> antagonism: actively expressed opposition or hostility
I agree with you that everyone should have a clear and realistic understanding of their relationship with their employer. And that is entirely possible in a professional and constructive manner.
But that's not the same thing as being actively hostile towards your place of work.
So I'm not quite sure why you would not see it as a "us vs. them" situation?
When you see it as leadership having this mentality against the people that actually produce something of value you might.
I have no idea how this will ultimately shake out legally, but it would be absolutely wild for Microsoft to not have thought about this potential legal issue.
>I have sole ownership of intellectual property rights to my Submissions
I would assume that the AI cannot have IP ownership considering that an AI cannot have copyright in the US.
>I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer.
Surely an AI would not be classified as an employee and therefore would not have an employer. Has Microsoft drafted an employment contract with Copilot? And if we consider an AI agent to be an employee, is it protected by the Fair Labor Standards Act? Is it getting paid at least minimum wage?
(Turns out the AI was programmed to ignore bots. Go figure.)
Nor can it be an entity to sign anything.
I assume the "not-copyrightable" issue, doesn't in anyway interfere with the rights trying to be protected by the CLA, but IANAL ..
I assume they've explicitly told it not to sign things (perhaps, because they don't want a sniff of their bot agreeing to things on behalf of MSFT).
We do know that LLMs will happily reproduce something from their training set and that is a clear copyright violation. So it can't be that everything they produce is public domain.
I can't remember the specific case now, but it has been ruled in the past, that you need human-novelty, and there was a case recently that confirmed this that involved LLMs.
Or MS already does that?
that's literally the bare minimum.
it also opens the PR as its working session. there are a lot of dials, and a lot of redditor-ass opinions from people who don’t use or understand the tech
what use is a bot if it can't do at least this simple step?
if you have used it for more than a few hours (or literally just read the docs) and aren’t stupid, you know this is easily solved
you’re giving into mob mentality
Exactly. LLM does not know how to use a debugger. LLM does not have runtime contexts.
For all we know, the LLM could’ve fixed the issue simply by commenting out the assertions or sanity checks and everything seemed fine and dandy until every client’s device catches on fire.
haha
And didn’t actually provide light, but everyone on 19th century twitter says that it will one day provide light if you believe hard enough, so you should rip out your gas lamps and install it now.
Like, this is just generation of useless busy-work, as far as I can see; it is clearly worse than useless. The PRs don't even have passing CI!
Also, trying something new out will most likely have hiccups. Ultimately it may fail. But that doesn't mean it's not worth the effort.
The thing may rapidly evolve if it's being hard-tested on actual code and actual issues. For example it will be probably changed so that it will iterate until tests are actually running (and maybe some static checking can help it, like not deleting tests).
Waiting to see what happens. I expect it will find its niche in development and become actually useful, taking off menial tasks from developers.
There's however a border zone which is "worse than failure": when it looks good enough that the PRs can be accepted, but contain subtle issues which will bite you later.
Now when your small or medium size business management reads about CoPilot in some Executive Quarterly magazine and floats that brilliant idea internally, someone can quite literally point to these as examples of real world examples and let people analyze and pass it up the management chain. Maybe that wasn’t thought through all the way.
Usually businesses tend to hide this sort of performance of their applications to the best of their abilities, only showcasing nearly flawless functionality.
Reading AI generated code is arguably far more annoying than any menial task. Especially if the said code happens to have subtle errors.
Speaking from experience.
The joke is that PERL was a write-once, read-none language.
> Speaking from experience.
My experience is all code can have subtle errors, and I wouldn't treat any PR differently.
AI however is far more creative than any given single person.
That's my gut feeling anyway. I don't have numbers or any other rigorous data. I only know that Linus Torvalds made a very good point about chain of trust. And I don't see myself ever trysting AI the same way I can trust a human.
Reviewing what the AI does now is not to be compared with human PRs. You are not doing the work as it is expected in the (hopefully near?) future but you are training the AI and the developers of the AI and more crucially: you are digging out failure modes to fix.
It would definitely be nice to be wrong though. That'd make life so much easier.
However, every PR adds load and complexity to community projects.
As another commenter suggested, doing these kind of experiments on separate forks sound a bit less intrusive. Could be a take away from this experiment and set a good example.
There are many cool projects on GitHub that are just accumulating PRs for years, until the maintainer ultimately gives up and someone forks it and cherry-picks the working PRs. I've than that myself.
I'm super worried that we'll end up with more and more of these projects and abandoned forks :/
I see this as a work in progress.. I am almost certain the humans in the loop on these PRs are well aware of what's going on and have their expectations in check, and this isn't just "business as usual" like any other PR or work assignment.
This is a test. You can't improve a system without testing it on real world conditions.
How do we know they're not tweaking the Copilot system prompts and settings behind the scenes while they're doing this work?
Can no one see the possibility that what is happening in those PRs is exactly what all the people involved expected to have happen, and they're just going through the process of seeing what happens when you try to refine and coach the system to either success or failure?
When we adopted AI coding assist tools internally over a year ago we did almost exactly this (not directly in GitHub though).
We asked a bunch of senior engineers to see how far they could get by coaching the AI to write code rather than writing it themselves. We wanted to calibrate our expectations and better understand the limits, strengths and weaknesses of these new tools we wanted to adopt.
In most of those early cases we ended up with worse code than if it had been written by humans, but we learned a ton. We can also clearly see how much better things have gotten over time, since we have that benchmark to look back on.
It's going to look stupid... until the point it doesn't. And my money's on, "This will eventually be a solved problem."
Good decision making would weigh the odds of 1 vs 8 vs 16 years. This isn’t good decision making.
Why is doing a public test of an emerging technology not good decision making?
> Good decision making would weigh the odds of 1 vs 8 vs 16 years.
What makes you think this isn't being done?
I'm not so sure they'll get there. If the solved problem is defined as a sub-standard but low cost, then I wouldn't bet against that. A solution better than that though, I don't think I'd put my money on that.
What if the goalpost is shifted backwards, to the 90% mark (instead of demanding that AI get to 100%)?
* Big corps could redefine "good enough" as "what the SotA AI can do" and call it good.
* They could then layoff even more employees, since the AI would be, by definition, Good Enough.
(This isn't too far-fetched, IMO, seeing how we're seeing calls for copyright violation to be classified as legal-when-we-do-it)
AI can remain stupid longer than you can remain solvent.
My variation was:
"Leadership can stay irrational longer than you can stay employed"
I have met people who believe that automobile engineering peaked in the 1960's, and they will argue that until you are blue in the face.
redbull does not give you wings. it’s disconcerting to see the lack of nuance in these discussions around these new tools (and yeah sorry this isn’t really aimed at you, but the zeitgeist, apologies)
Some of us are being laid off due to the hype; some are assigned to babysit the AI; and some are simply looked down on by higher ups who are eagerly waiting for a day to lay us all off.
You can convince yourself as much as you want that it’s “just a hype”, but regardless of your beliefs are, it has REAL world consequences.
engineers are testing promising new technology. a mob (of probably half or more bots) is having a [redacted] perpetuating the anti-narrative they huffed themselves up into believing. and now we’re in a meta-[redacted] as if either A) redditors and armchair engineers here have valid opinions on this tech and B) marketers and founders with massive incentives to overpromise are telling a true narrative
why? we don’t have to do it. we could actually look at these topics with nuance and not react like literal bots to everything
(sorry I’m just losing my faith in humanity and taking it out in this thread)
Because we're literally seeing people being laid off with narratives about being replaced with AI (At a whole slew of companies). Because we're seeing company policies around hiring being changed to require hiring managers to provide exhaustive justifications why the work couldn't be handled by an AI (at e.g. Shopify, Salesforce and so on)
> have you talked to the executives implementing these strategies?
I have had a few conversations, yes. Have you? They're weirdly "true believers" that are buying the marketing hype hook line and sinker. They're doing small coding exercises themselves in these tools, seeing that they as an executive can manage to get valid code for the small exercise out the other side of it, and assuming that that means it can replace head count. Either deliberately or naively failing to understand that there is a world of difference between leet code style exercises, or quick small changes to code bases, and actual software development.
The weirdest conversation recently, which thankfully I got to just be on the periphery of, involved an engineering org that decided to try to replace the post-incident process with one entirely written by LLMs. It would take timelines from a ticket, and a small prompt to write up the entire post-incident report, tasks etc.
The whole project showed a gross misunderstanding of the point of post-incident stuff, eradicating "introspection" and "learning from your mistakes", turning it into a check box exercise for teams. Even their narrative around what they were doing was hilarious, because it came down to "Get the post-incident report out of the way so we can concentrate on the real work".
Given how often leet code questions are used in the interview process across the entire industry I think it’s a fair assumption that they fail to understand this.
because it is more than marketing hype. real people are taking real action based on this narrative.
> why do you actually accept this is a real narrative real people believe?
largely because I witness real people believing this narrative with my own eyes on a daily basis.
So the typical expectations or norms of how code reviews and PRs work between humans don't really apply here.
That's my guess at least. I have no more insider information than you.
>> This is a test. You can't improve a system without testing it on real world conditions.
Software developers know to fix build problems before asking for a review. The AIs are submitting PRs in bad faith because they don't know any better. Compilers and other build tools produce errors when they fail, and the AI is ignoring this first line of feedback.
It is not a maintainers job to review code for syntax errors, or use of APIs that don't actually exist, or other silly mistakes. That's the compilers job and it does it well. The AI needs to take that feedback and fix the issues before escalating to humans.
EVERY single prompt should have the opportunity to get copied off into a permanent log where the end user triggers it : log all input, all output, human writes a summary of what he wanted to happen but did not, what he thinks might have went wrong, what he thinks should have happened (domain specific experts giving feedback about how things are fucking up) And then its still only useful with long term tracking like how someone actually made a training change to fix this exact failure scenario.
None of that exists, so just like "full self driving" was a pie in the sky bullshit dream that proved machine learning has an 80/20 never gonna fully work problem, same thing here
Unfortunately, just about every thread on this genre is like that now.
Otherwise it would check the tests are passing.
I see it as wishful thinking in the extreme to suppose that probabilistic mashing together of plagiarized jigsaw pieces of code could somehow approach human intelligence and reasoning—and yet, the parlour trick is convincing enough that this has escalated into a mass delusion.
I see the supposed reasoning tokens this latest crop of models produce as merely an extension of the parlour trick. We're so deep into this delusion that it's so very tempting to anthropomorphize this ersatz stream of consciousness as being 'thought'. I remain unconvinced that it's anything of the sort.
This comes to mind: "It is difficult to get anybody to understand something, when their salary depends on them not understanding it."
This latest bubble smacks ever more of being a con.
Coincidentally, I’m listening to an interesting episode[0] of QAA that goes through various instances of how people (sometimes educated and technically literate) demonstrate mental inability to adequately handle ML-based chatbot tech. The podcast mostly focuses on extreme cases, but I think far too many people are succumbing to more low-key delusions.
As an example, even on this forum people constantly point out that unlicensed works should be allowed in ML training datasets because if humans are free to learn and be inspired then so should be the model—it’s crazy to apply the notions of freedom and human rights to a [commercially operated] software tool, yet here we are. Considering how handy it is for tool’s operator, hardware suppliers, and whoever owns respective stocks, some of this confusion is probably financially motivated, but even if half of it is genuine it’d be alarming.
[0] https://podcasts.apple.com/us/podcast/qaa-podcast/id14282093...
I am genuinely curious though to see the strategies they employ to absolve themselves of guilt and foolishness.
Is there precedent for the entire exec and management class embracing a new trend to this kind of extent, then it blowing up in their faces?
I would say the copilot system isn't really there yet for these kinds of changes, you don't have to run experiments on a language framework to figure that out.
The answer is probably that the Copilot team is using the rest of the engineering organization as testers. Great for the Copilot team, frustrating for everyone else.
For it to be "failed" it would have to also be finished/completed. They are likely continuously making tweaks, this thing was just released.
"It would have to be finished/completed"
Do you honestly not see a problem with those two statements in such close proximity? Is it finished or is it released? The former is supposed to be a prerequisite for the latter.
We can debate whether they should have called this an experiment or an alpha or beta or whatever, but that's a different discussion.
The fact that people are using it currently does not make it a failure. When MS shuts it down, or Copilot is wildly unprofitable for multiple quarters, team behind it quits, etc, etc, then we can determine whether it has failed or not.
But if they continue to have paying customers and users are finding some benefits over not having Copilot, and MS continues to improve it (doesn't let it rot), then you'd have to provide some evidence of its failure that isn't "look at Copilot being stupid sometimes". Especially when stupidity is expected of it.
Now you don’t even need the frustrated end user!
Anyway, this is his public, stated opinion on this: https://github.com/dotnet/runtime/pull/115762#issuecomment-2...
They only gave their customers 9 months to migrate away.
I'm expecting that Microsoft did this to artificially pump up their AI usage numbers for next year by forcibly removing non-AI alternatives.
This only one example in AdTech but I expect other industries to be hit as well.
I recently spent a couple of months studying C# and .NET and working on my first project with it.
.NET, Blazor, etc are not known for a fast release schedule... but if things are going to become even slower with this AI crap I wonder if I made the right call.
I'm quite happy how things are today for making web APIs but I wish Blazor and other frameworks were in a much better shape.
Eg:
Minimal APIs were released in 2021 but it won't be until .NET 10 that they will have validation. Amazing that validation was not a day one priority for an API. I'm not certain if even in .NET 10 Minimal APIs will have full parity of features with MVC.
Minification of static assets didn't come until .NET 9 released in 2024. This was already commonplace in the JS world a decade earlier. It could have been a quick win so long ago for .NET web apps.
Blazor was released in 2018. 7 years later they still haven't fixed plenty of circuit reconnection issues. They are working on it but progress is also quite slow. Supposedly with .NET 10 session state will be able to be persist etc but it remains to be seen.
OpenAPI is also hit and miss. Spec v3.1 released in 2021 is still not supported. Supposedly it will come with .NET 10.
Not from .NET but they have a project called Kiota for generating clients from OpenAPI specs. It's unusable because of this huge issue that makes all properties in a type nullable. It's been open since 2023. [1]
Etc.
[1] https://github.com/microsoft/kiota/issues/3911
It is normal to preempt things like this when working with agents. That is easy to do in real time, but it must be difficult to see what the agent is attempting when they publish made up bullshit in a PR.
It seems very common for an agent to cheat and brute force solutions to get around a non-trivial issue. In my experience, its also common for agents to get stuck in loops of reasoning in these scenarios. I imagine it would be incredibly annoying to try to interpret a PR after an agent went down a rabbit hole.
So no I don't think any of this is normal. That's why it made the top of HackerNews, because it's very abnormal.
It's a long-term play to have pricey senior developers argue with an llm
Yeah, I'm sure 100k comments with "Copilot, please look into this" and "The test cases are still failing" will massively improve these models.
Any senior dev at these organizations should know to some degree how LLMs work and in my opinion would to some degree, as a self protection mechanism, default to ambiguous vague comments like this. Some of the mentality is “if I have to look at it and solve it why don’t I go ahead and do it anyways vs having you do it” effort choices they’d do regardless of what is producing the PR. I think other parts of it is “why would I train my replacement, there’s no advantage for me here.”
Realistically, the issues occurring here are intern-level mistakes where you can take the time to train them, because expectations are low and they're usually not working on production-level software. In a FT position the stakes are higher so things like this get evaluated during the interview. If this were a real person, they wouldn't have gotten an offer at Microsoft.
Don't you think it has already been trained with, I don't know, maybe millions of PRs?
This is a performative waste of time
Equating LLMs to humans is pretty damn.. stupid. It's not even close (otherwise how come all the litany of office jobs that require far less reasoning than software development are not replaced?).
Doing so has low risk, the senior devs may perhaps get fed up and quit, and the company might be a laughing stock on public PRs. But the potential value for is huge.
Not saying that LLMs are useless, but that's a false equivalency. Sure, my auto complete is also working 0-24, but I would rather visit my actual doctor who is only available in a very limited time frame.
reddit is a distillation of the entire internet on to one site with wildly variable quality of discussion depending upon which subreddit you are in.
Some are awful, some are great.
It's just that some internet extremophiles have managed to eke out a pleasant existence.