Tangentially related rant: We had a new contributor open up a pull request today and I gave their changes an initial look to make sure no malicious code is included.
I couldn't see anything wrong with it. The PR was certainly a bit short, but the task they tackled was pretty much a matter of either it works or it doesn't. And I figured, if they open a PR, they'll have a working solution.
...well, I tell the CI/CD runner to get going and it immediately runs into a compile error. Not an exotic compile error, the person who submitted the PR had never even tried to compile it.
Then it dawned on me. They had included a link to a GitHub Copilot workspace, supposedly just for context.
In reality, they had asked the dumbass LLM to do the change described in the ticket and figured, it would produce a working PR right off the bat. No need to even check it, just let the maintainer do the validation.
In an attempt to give them constructive feedback, I tried to figure out, if this GitHub Copilot workspace thingamabob had a Compile-button that they just forgot to click, so I actually watched Microsoft's ad video for it.
And sure enough, I saw right then and there, who really was at fault for this abomination of a PR.
The ad showed exactly that. Just chat a bit with the LLM and then directly create a PR. Which, yes, there is a theoretical chance of this possibly making sense, like when rewording the documentation. But for any actual code changes? Fuck no.
Of course but people selling/offering shitty tool options is not only expected, it's guaranteed. I certainly do not understand this tendency to blame the machine or makers of the machine and excuse the moronic developer
The person who uses the shitty tool is a moron. The person who makes the shitty tool is an asshole. At least in this case where the shitty tool is actively promoting shitty PRs.
Responsibility is shared. It's not one or the other.
Many people don't know what they're doing. That's kind of expected. But a tool provider and seller should know what they're doing. Enabling people to behave in a negative way should be questioned. Maybe it's a consequence of enablement, or maybe it's bad design or marketing. Where criticism is certainly warranted.
Yes the only people ever to blame are everyone but the people who actually did a thing. That's the same reason voters aren't responsible for trump, Democrats are. /s
Well, for reasons, I happen to know that this person is a student, who has effectively no experience dealing with real-world codebases.
It's possible that the LLM produced good results for the small codebases and well-known exercises that they had to deal with so far.
I'm also guessing, they're learning what a PR is for the first time just now. And then being taught by Microsoft that you can just fire off PRs without a care in the world, like, yeah, how should they know any better?
i got a dev fired because they absolutely refused to test their changes before submitting.
I'm not talking once or twice either. at least a year of that bullshit. i had to show my boss how many hours of wasted time it was taking me because I look at the code first, like literally anybody. Eventually boss pipd them and fired them but holy fuck i wanted to kick that douche in the groin every time i saw a pr with their name on it.
next place I work I'm insisting on a build step success to assign a pr.
It's funny that that's the answer that they always gave, considering there were times that we had screen shares, and I asked them to walk me through how they actually got it to work.
When they attempted to try to run it, unsurprisingly it broke.
There were even a few times that I didn't even review it and the first step I took was to inform them that it wouldn't run. Also, unsurprisingly, I was right.
Management at the time was driven by product development and delivery of "high-value" features. As long as deliverables were delivered, this dev could do anything they wanted to. At the end of a year, I'd lost about four weeks of productivity. That doesn't even cover the hours of after work time that I spent on trying to fix their fuckups.
Needless to say, I stopped doing that. I used to be a nice guy to work with, but now... Let's just say if you can't do the work, I'm not covering for you. If your PR doesn't get merged because it's broken and you can't fix it and you spend six weeks trying to fix it, that's on you.
My employer pays a buttload of money to CircleCI - for extensive checks (build, lint, formatting, full test suite, as well as custom scripts for translation converage, docs,... for the full tech stack) on every push. Reviews start only when everything passes.
I think you have given me a new-found appreciation for the reasoning behind that decision... 😄