top | item 44587352

(no title)

coderjames | 7 months ago

My department at the place I work is actively hiring Software Engineers. We have nine open requisitions for any seniority level and are regularly conducting interviews, but the new-grad candidates this year have been... disappointing.

I've conducted two phone screens this month and asked each candidate to implement FizzBuzz in their language of choice after giving them an explanation of the problem. Both took more than ten minutes to write out a solution and we don't even require them to run it; I'll excuse trivial syntax errors in an interview setting if I can tell what you meant.

When CS students can't write a basic for loop and use the modulo operator without relying on AI, I weep for their generation.

discuss

order

testing1235|7 months ago

I also tutor students in the entry level C++ and Python courses (which are taken during your first two semesters as a CS student), and I must agree that a large cohort of my class is only able to program if they have ChatGPT/Claude open on one half of their screen. I'm not sure how to solve this either, unless we want to start doing in person "interview" styled questions as an exam on a locked down computer.

I honestly think that doing an in person fake technical interview with a few easy Leetcode questions at the end of your education would be a good way to weed out those that have failed to even learn the basics of the trade.

bruce511|7 months ago

I'm so old I remember when calculators started appearing in general people's hands. Schools first banned them (what da ya mean you can't add a column of numbers by eye?) But gradually we switched over. We had a flirting interaction with log tables, and never did get to use a slide rule. I've no doubt old-school businesses were aghast at our ineptitude.

I'm so old we learned to program with giant C reference books. There was no internet, much less Google. We didn't have no fancy auto-complete, crumbs a text editor was considered advanced. Them youngsters coming to us couldn't program without Googling syntax, or using an IDE.

So yeah, sure, AI is changing the game. It's hard to evaluate students because the tools they are using are different to our experience. For decades we "make them code" as a measure of ability. In 3 years (their college experience) the toolset has changed.

Good students, good employees, are those who understand the problem and can adapt to a solution. AI is a tool that can be wielded well, or badly. Our approach to hiring will need to adapt as well. But good people are still out there, and good people make good workers.

To be honest I never was much in love with the leet code measure of hiring. Past a certain coding skill level I was more interested in the person than their ability to memorize an algorithm. Today that necessary skill level is lower, or at least harder to evaluate, but the problem-solving-mind is still the thing we're looking for.

So be careful of seeing the use of new tools as a weakness. The history of the world is littered with obsolete technologies. (Here's a sextant, where are we?) Rather see people who use tools for what they are, tools. Look for people who are curious, who see patterns, who get things done.

And to students I say, mastery of tools is a necessary step, but ultimately an uninteresting one. See beyond them. Be curious. Look under the hood. Ask questions like "is this code good enough to be running 30 years from now?" Because a huge amount of what you see now has foundations in code written a long time ago, and written well enough to stand for decades.

College is not "learning to program". College is learning how to adapt to an ever changing world, that will require your adapting many times over your career.

linguae|7 months ago

I teach computer science at a community college in Silicon Valley. Even before generative AI became available to the general public, cheating has been an issue with CS programming assignments.

One way I try to disincentivize cheating on projects is by having in-class paper exams, including weekly quizzes, as well as in-class paper assignments, and making sure that these in-class assessments are weighted significantly (roughly 60% of the overall grade). No electronic devices are allowed for these assignments. This forces my students to be able to write code without being able look up things online or consult an AI tool.

I still assign take-home programming projects that take 1-2 weeks to complete; students submit compilable source code. Practical hands-on programming experience is still vital, and even though cheating is possible, the vast majority of my students want to learn and are honest.

Still, for in-person assessments, if I had the budget, I’d prefer to hand out laptops with no Internet connection and a spartan selection of software, just a text editor and the relevant compiler/interpreter. It would making grading in-class submissions easier. But since we don’t have this budget, in-class exams and exercises are the next best solution I could think of.

CamperBob2|7 months ago

I'm not sure how to solve this either, unless we want to start doing in person "interview" styled questions as an exam on a locked down computer.

Don't lock down the computer unless you are hiring people to work in a SCIF. Instead, give candidates a brutally hard/weird problem and tell them to use any resources they can get their hands on, by fair means or foul. (They will do that anyway if you hire them.) Then watch how they deal with it.

Do they just give up and stalk off in a huff?

If they Google for answers, do they use sensible queries?

If they use AI, do their prompts show skill at getting ideas, avoiding blind alleys, and creating effective tests?

If they call their friends, see how effective they are at communicating the requirements and turning the answers into a solution. Might be management material.

orzig|7 months ago

I’ll second this, and we had enough resumes to only interview those with a relevant Master’s degree. I was shocked and I still don’t have a full explanation. I don’t doubt that it’s also hard out there, but on the hiring side we also did far more interviews than we wanted. (And yes the salary is >>100k, full remote, benefits etc)

xboxnolifes|7 months ago

> When CS students can't write a basic for loop and use the modulo operator without relying on AI, I weep for their generation.

I feel like this doesn't get said enough, but I'm almost certain your issue is happening during filtering prior to even getting to the interview stage. Companies are straight up choosing (the wrong) applicants to interview, the applicant fails the interview, the company does not move forward with them, and then the companies does not go back and and consider the people they originally filtered out.

I know companies get swamped with tons of applications, and filtering is basically an impossible problem since anyone can make their resume look good, but every applicant that applied can't be that bad.

Bad applicant filtering at the first step is hurting both companies and applicants.

calderwoodra|7 months ago

2 data points and you're drawing a conclusion about an entire graduating class? For all we know, you might be experiencing a reality that you're company isn't able to attract great young talent.

klipklop|7 months ago

FizzBuzz was always a great filter. Even in the pre-LLM days. Many people can code for years and never once use the modulo operator. Solving the problem gets a lot more clunky without it and they get rejected.

SamuelAdams|7 months ago

Yes but also it is one of the most common programming questions for non-FAANG companies. Are grads not preparing for interviews? It is one google search to Jeff Atwood’s blog.

lispisok|7 months ago

When I was in school in the early 2010s I was working in a professor's lab and overheard conversations that the administration was telling profs/TAs to pass kids who profs/TA's thought should have failed. I've since seen the required coursework to graduate become less rigorous. There were students I worked with personally I graduated with who were very bad. I'm sure there still great students who care about learning but I cannot imagine how bad the average student is with ChatGPT being able to do student's assignments.

ikiris|7 months ago

Are you offering enough pay that competent people would want to work there?

coderjames|7 months ago

We're in the greater Seattle area and I make north of $200k, so I feel like yes :shrug:

NoGravitas|7 months ago

My experience is that this problem significantly predates AI. Not that AI won't make it worse, but pre-2020 the majority of entry level developer applicants I interviewed could not write a basic for loop in their choice of language, never mind the modulo operator.