Comment by JimDabell
2 years ago
I once worked with a developer who wouldn’t let anything come between him seeing an answer and copying it into his code. He wasn’t even reading the question to make sure it was the same problem he was having, let alone the answer. He would literally go Google => follow the first link to Stack Overflow he saw => copy and paste the first code block he saw. Sometimes it wasn’t even the right language. People had to physically take the input away from him if they were pairing with him because there was nothing anybody could say to stop him, and if you tried to tell him it wasn’t right then he’d just be pasting the second code snippet on the page before you could get another word out. He was freakishly quick at it.
Now he was an extreme case, but yes, there are a lot of developers out there with the mindset of “I need code; Stack Overflow has code; problem solved!” that don’t put any thought at all into whether it’s an appropriate solution.
A hiring round nearly two decades ago we realised something was off with the answers to the usual pre-phone interview screening questions. They were simple, and we asked people to only spend like 20 minutes on them. We knew people would "cheat", but they were only there to lighten our load a little bit, so it was ok if they let through some bad candidates.
But for whatever reason, in one hiring round the vast majority had cut and pasted answers from search results verbatim (we dealt with a new recruiter, and I frankly suspected this new recruiter was telling them this was ok despite the instructions we'd given).
These were not subtle. But the very worst one was one who did like the developer you described: He'd found a forum post about a problem pretty close to the question, had cut and pasted the code from the first answer he found.
He'd not even bothered to read a few comments further down in the replies where the answer in question was totally savaged by other commenters explaining why it was entirely wrong.
This was someone who was employed as a senior developer somewhere else, and it was clear in retrospect looking at his CV that he probably kept "fleeing the scene of the crime" on a regular basis before it was discovered he was a total fraud. We regularly got those people, but none that delivered such obviously messed up answers.
For ever developer like this, you're probably right there will be a lot more that are less extreme about it, and more able to make things work well enough that they're not discovered.
It is hard for some people to grasp the sheer amount of fraud in this industry. A while back I worked with two guys, one with a Master's and the other with a PhD. One day they came to me asking for help, because the program they'd written (in Python) wouldn't run. It was supposed to analyze some text, and spit out whatever the result of the analysis was.
The problem? They were passing the input text as hardcoded plaintext, i.e. it wasn't even a string with quotes or anything -- just `foo(here is my raw, non-string input, no quotes necessary lol)`, and they could not conceive of what the issue might be.
That has to be bug blindness? I.e. they have decided that there is no bug at that line, and can't see it afterwards. How could they even write the program in the first place, if they were not aware of string literals?
Did they write code in notepad? How did that not get detected by the LSP?
This is like grading calculus exams. Student gives the memorized answer which most resembles (in his mind) the question asked.
If you're paying a developer by the hour, and want your app released in the app store using as few hours as possible, then this approach can be the most cost efficient one.
Sure, it isn't good practice. Sure, it probably isn't what NASA should be doing. But if you're literally building yet another uber-like app, you probably shouldn't be spending too long thinking about details.
> this approach can be the most cost efficient one.
No it can’t. Quick and dirty? Sure. Take on some tech debt to get to market quicker. Blindly copying and pasting? You’re never going to build functional software that way. This guy was committing code with syntax errors that he’d obviously never even run. How are you going to get to market quickly that way?
The comment you're responding to said the guy was copying the wrong language at times. Code that won't even compile isn't making it into the app store.
Yeah, those details like whether or not it works really don't matter. NASA is overrated.
rarely are things so black and white. If you're just pushing out an MVP, something that takes 5 seconds and is 95% correct is often better than 30 minutes and 100% correct.
7 replies →
That's not software development. That's wild guessing.
I've seen "wild guessing" quite a bit when people don't actually understand the problem they're solving. Mostly students, but it happens in professional contexts as well.
I'm not sure why, maybe people are missing knowledge that would allow them to understand, so they just try random things in the hope that it works? It surprises me every time it happens.
To some that is the same. Try and modify until it sort of works.
I don't think you would be able to solve complex problems or development tasks with such an approach as described above (if that's what you're referring to). That's something i could expect from a bloody junior but not anymore from a seasoned professional.
1 reply →
Just out of curiosity… what was his salary and how long did it take to fire him? Did they fire the HR manager as well?
No idea. I left before he did.
this is basically how GitHub copilot works
Worse too, because some of the copy/pasters at least remember to copy past the StackOverflow URL, too. GitHub Copilot doesn't even give you that.
> People had to physically take the input away from him if they were pairing with him because there was nothing anybody could say to stop him, and if you tried to tell him it wasn’t right then he’d just be pasting the second code snippet on the page before you could get another word out. He was freakishly quick at it.
Sounds like this guy understands concurrency. :)
Just wait til that guy discovers ChatGPT.
I won’t be surprised if that guy is ChatGPT’s main audience.
Personally I can’t see how it would be faster to ask ChatGPT for an answer then carefully scrutinize the output to make sure I understand what it’s doing. Code is often easier to write than read - especially when it’s not your code.
In hindsight the solution is obvious, just run the code without reading it then try to fix it if it doesn’t produce acceptable results.
ChatGPT could help this dev if they understood the problems they are trying to solve. That is such a fundamental flaw in this. They will be on a PIP and out of a job in any respectable workplace. That would be a mercy.