New Junior Developers Can’t Actually Code.
-
I'm forced to use Copilot at work and as far as code completion goes, it gets it right 10-15% of the times... the rest of the time it just suggests random — credible-looking — noise or hallucinates variables and shit.
Forced to use copilot? Wtf?
I would quit, immediately.
-
We do two "code challenges":
- Very simple, many are done in 5 min; this just weeds out the incompetent applicants, and 90% of the code is written (i.e. simulate working in an existing codebase)
- Ambiguous requirements, the point is to ask questions, and we actually have different branches depending on assumptions they made (to challenge their assumptions); i.e. simulate building a solution with product team
The first is in the first round, the second is in the technical interview. Neither are difficult, and we provide any equations they'll need.
It's much more important that they can reason about requirements than code something quick, because life won't give you firm requirements, and we don't want a ton of back and forth with product team if we can avoid it, so we need to catch most of that at the start.
In short, we're looking for actual software engineers, not code monkeys.
Sounds nice? What type of place you work at? I'm guess not a big corp
-
As someone who has interviewed candidates for developer jobs for over a decade: this sounds like “in my day everything was better”.
Yes, there are plenty of candidates who can’t explain the piece of code they copied from Copilot. But guess what? A few years ago there were plenty of candidates who couldn’t explain the code they copied from StackOverflow. And before that, there were those who failed at the basic programming test we gave them.
We don’t hire those people. We hire the ones who use the tools at their disposal and also show they understand what they’re doing. The tools change, the requirements do not.
I think that LLMs just made it easier for people who want to know but not learn to know. Reading all those posts all over the internet required you to understand what you pasted together if you wanted it to work (not always but the barr was higher). With ChatGPT, you can just throw errors at it until you have the code you want.
While the requirements never changed, the tools sure did and they made it a lot easier to not understand.
-
And when copy-pasting didn't work, those who dared to rise above and understand it, became better. Same with AI, those of the new generation who see through the slop will learn. It's the same as it has always been. Software engineering is more accessible than ever, say what you will about the current landscape of software engineering but that fact remains undeniable.
Software engineering is more accessible than ever
This is key here. Having it more accessible, we see more people who do not want to learn but still trying to code. But we also see more people are want to learn and create solutions.
-
What are you guys working on where chatgpt can figure it out? Honestly, I haven't been able to get a scrap of working code beyond a trivial example out of that thing or any other LLM.
ChatGPT is perfect for learning Delphi.
-
Yeah those job hoppers are the worst. You can always tell right away what kind of person those are. I've had to work with a "senior" dev who had 15 years of experience and to be honest he sucked at his job. He couldn't do simple tasks, didn't think before he started writing code and often got stuck asking other people for help. But he got paid big bucks, because all he did his entire career was work somewhere for 2-3 years and then job hop and trade up. By the time the company figured out the dude was useless, he went on to the next company.
Such a shitty attitude, which is a shame because he was a good dude otherwise. I got along with him on a personal level. And honestly good on him for making the most he can, fuck the company. But I personally couldn't do that, I take pride in my work.
Maybe if people were paid more it wouldn't be such an issue.
-
I'm a little defeatist about it. I saw with my own 3 eyes how a junior asked ChatGPT how to insert something into an
std::unordered_map
. I tell them about cppreference. The little shit tells me "Sorry unc, ChatGPT is objectively more efficient". I almost blew a fucking gasket, mainly cuz I'm not that god damn old. I don't care how much you try to convince me that LLMs are efficient, there is no shot they are more efficient than opening a static page with all the info you would ever need. Not even considering energy efficiency. Utility aside, the damage we have dealt to developing minds is irreversible. We have convinced them that thought is optional. This is gonna bite us in the ass. Hard.Make the junior put it to the test John Henry style. You code something while they use gpt and see who comes up with a working version first
-
To me, I feel like this is a problem perpetuated by management. I see it on the system administration side as well -- they don't care if people understand why a tool works; they just want someone who can run it. If there's no free thought the people are interchangeable and easily replaced.
I often see it farmed out to vendors when actual thought is required, and it's maddening.
i always found this to be upsetting as an IT tech at a former company - when a network or server had an issue and i was sent to resolve it, it was a "just reboot it" fix, which never kept the problem from recurring and bringing the server down at 07:00 the next Monday.
the limitations on the questions i could ask hurt that SLA more than any network switch's memory leak ever did, and i felt as if my expertise meant nothing as a result.
-
This post did not contain any content.
Of course they don't. Hiring junior devs for their hard skills is a dumb proposition. Hire for their soft skills, intellectual curiosity, and willingness to work hard and learn. There is no substitute for good training and experience.
-
Not that this is very unique to the field, junior anything usually needs at least 6 months to get to a productive level.
Kind of wish we went with more tradesmen-like titles. Apprentice, journeyman, master. Master software developer sounds like we have honed our craft. Junior/senior just seems like a length of time.
-
This post did not contain any content.
I could barely code when I landed my job and now I’m a senior dev. It’s saying a plumber’s apprentice can’t plumb - you learn on the job.
-
Kind of wish we went with more tradesmen-like titles. Apprentice, journeyman, master. Master software developer sounds like we have honed our craft. Junior/senior just seems like a length of time.
It generally is a length of time. Your title depends on the years on the job.
-
This post did not contain any content.
The problem is not only the coding but the thinking. The AI revolution will give birth to a lot more people without critical thinking and problem solving capabilities.
-
As someone who has interviewed candidates for developer jobs for over a decade: this sounds like “in my day everything was better”.
Yes, there are plenty of candidates who can’t explain the piece of code they copied from Copilot. But guess what? A few years ago there were plenty of candidates who couldn’t explain the code they copied from StackOverflow. And before that, there were those who failed at the basic programming test we gave them.
We don’t hire those people. We hire the ones who use the tools at their disposal and also show they understand what they’re doing. The tools change, the requirements do not.
But how do you find those people solely based on a short interview, where they can use AI tools to perform better if the interview is not held in person?
And mind you the SO was better because you needed to read a lot of answers there and try to understand what would work in your particular case. Learn how to ask smartly. Do your homework and explain the question properly so as not to get gaslit, etc. this is all now gone.
-
The problem is not only the coding but the thinking. The AI revolution will give birth to a lot more people without critical thinking and problem solving capabilities.
That's the point.
Along with censorship.
-
But how do you find those people solely based on a short interview, where they can use AI tools to perform better if the interview is not held in person?
And mind you the SO was better because you needed to read a lot of answers there and try to understand what would work in your particular case. Learn how to ask smartly. Do your homework and explain the question properly so as not to get gaslit, etc. this is all now gone.
Evil me: Ask questions to which there is no solution but ChatGPT will happily give incorrect solutions to and will run itself in circles trying to answer correctly as you feed it error messages.
-
This post did not contain any content.
All I hear is "I'm bad at mentoring"
-
This post did not contain any content.
that s the point of being junior. Then problems show up and they are forcing them to learn to solve them
-
This post did not contain any content.
This post is literally an ad for AI tools.
No, thanks. Call me when they actually get good. As it stands, they only offer marginally better autocomplete.
I should probably start collecting dumb AI suggestions and gaslighting answers to show the next time I encounter this topic...
-
I could barely code when I landed my job and now I’m a senior dev. It’s saying a plumber’s apprentice can’t plumb - you learn on the job.
You're not learning anything if Copilot is doing it for you. That's the point.