| ▲ | ToucanLoucan 2 days ago |
| What is the functional difference between copying an AI answer and copying a StackOverflow answer, in terms of it being "cheating" during an interview? I think the entire question is missing the forest for the trees. I have never asked a candidate to write code in any fashion during an interview. I talk to them. I ask them how they would solve problems, chase down bugs, or implement new features. I ask about concepts like OOP. I ask about what they've worked on previously, what they found interesting, what they found frustrating, etc. Languages are largely teachable, it's just syntax and keywords. What I can't teach people is how to think like programmers need to: how to break down big, hard problems into smaller problems and implement solutions. If you know that, I can teach you fucking Swift, it isn't THAT complicated and there's about 5 million examples of "how do I $X" available all over the Internet. |
|
| ▲ | aleph_minus_one 2 days ago | parent | next [-] |
| > Languages are largely teachable, it's just syntax and keywords. This is like "learning a natural language is just 'cramming vocabulary and grammar' - voila, you've become a fluent C1 speaker". :-) Seriously: if you argue this way, you have only seen a very biased set of programming languages, and additionally, your knowledge of these programming languages is very superficial (i.e. you have never gotten to the "interesting"/"deep" concepts that make this particular programming language special, and which are hard to replicate in most other programming languages). |
| |
| ▲ | endemic 2 days ago | parent | next [-] | | I think the argument is that for a good chunk of business work, you don't need to use the "interesting"/"deep" concepts. Sure, you'll need time to adapt to the idioms of the language you're using, but following examples you can be just as productive as others in a relatively short time. | | |
| ▲ | Shorel 2 days ago | parent | next [-] | | > I think the argument is that for a good chunk of business work, you don't need to use the "interesting"/"deep" concepts. That's what the MBA people want to believe. To lower costs, or if they see writing code as an operating expense, instead of R&D. If this is true or not, it depends on many, many factors, and it can change over the course of the business life. | |
| ▲ | aleph_minus_one 2 days ago | parent | prev | next [-] | | > but following examples you can be just as productive as others in a relatively short time. This is not something nice to say about the colleagues. :-) | |
| ▲ | rmah 2 days ago | parent | prev [-] | | But companies don't pay high salaries for the 80% mundane and easy tasks you do day to day. They pay for the 20% that is challenging and especially for that 1% of problems that occur only once every few months or years. If that 80% was 100% of the job then the company could pay 1/2 to 1/3rd the amount by outsourcing it. | | |
| ▲ | edmundsauto a day ago | parent [-] | | I disagree, companies pay based on the problems you can solve to make them money or help achieve organizational goals. One of those ways can be coding, but there are many others. |
|
| |
| ▲ | shermantanktop 2 days ago | parent | prev | next [-] | | In C, implicit type narrowing/widening behavior stumped me as a noob working on noob problems. “Deep C Secrets” was a revelation when I finally found it. Then again, that’s C. | |
| ▲ | dingnuts 2 days ago | parent | prev [-] | | No, the comparison to natural languages is what is whack. If you understand the underlying concepts that programming languages pick and choose from as features, all you have to learn is what keywords map to those concepts and the language's syntax. The comparison to natural languages would be if you could learn one language and then quickly pick up every other language of that "class" after learning how that single language works. That's not really how natural language works at all, but it does work with programming languages. | | |
| ▲ | aleph_minus_one 2 days ago | parent [-] | | > If you understand the underlying concepts that programming languages pick and choose from as features, all you have to learn is what keywords map to those concepts and the language's syntax. If you understand the grammatical topics that a natural language picks, all you have to learn is what word transformation rules map to those concepts, and the natural language's vocabulary. > The comparison to natural languages would be if you could learn one language and then quickly pick up every other language of that "class" after learning how that single language works. There do exist books on this topic (though more commonly for language families). See for example https://www.quadrilingual.com/ or the book EuRom 5. Leggere e capire 5 lingue romanze > That's not really how natural language works at all, but it does work with programming languages. ... it might give you some shallow knowledge in a very limited subset of programming languages. | | |
| ▲ | lcnPylGDnU4H9OF 2 days ago | parent [-] | | > If you understand the grammatical topics that a natural language picks, all you have to learn is what word transformation rules map to those concepts, and the natural language's vocabulary. Yes, and then do that in real time while you're having a conversation with someone who's been learning the language since they were a baby. It is an unreasonable comparison. |
|
|
|
|
| ▲ | Shorel 2 days ago | parent | prev [-] |
| > Languages are largely teachable, it's just syntax and keywords. That's only true for a subset of programming languages, and it requires you to already know how to program in at least another language of the same family. Knowing Java will not help you with Haskell, but it will help you with C#. I have to deal with students using AI to cheat on homework and exams, and I can't allow them to not even learn the basic concepts. They could convince you with buzzwords, get hired, and then feed all problems to the AI until it reaches a point where the codebase is too big for the context, and then all their prompt “engineering” experience is basically useless. That is the future I am trying to prevent. Until the AI can code a full system like SAP, or an Operating System, or a Photoshop clone, by itself, we need some people in the loop, and the more knowledgeable the people, the better. |
| |
| ▲ | cbzbc 2 days ago | parent | next [-] | | > That's only true for a subset of programming languages That's true, but most of the industry is running on a subset of programming languages. | |
| ▲ | shash 2 days ago | parent | prev | next [-] | | > That's only true for a subset of programming languages, and it requires you to already know how to program in at least another language of the same family. Knowing Java will not help you with Haskell, but it will help you with C#. In this context, to a large extent it holds. Yeah. It’s probably more true of mainstream languages roughly related to each other, but in an interview, you’re not testing for knowledge of syntax and keywords. You’re trying to test for ability to build and problem solve. I share your concern about prompt “engineers” who don’t understand the underlying codebase, language or system. But I don’t know what to do about it in the context of a technical interview. | |
| ▲ | ToucanLoucan 2 days ago | parent | prev [-] | | I'm not arguing to let people cheat with AI. I'm saying asking people to write code in interviews is useless. | | |
| ▲ | rmah 2 days ago | parent | next [-] | | It's not useless because some people will lie and cheat. Over the years, I've interviewed hundreds of people and a substantial minority could not write even the simplest code. Many will say they would be able to filter out such people after a conversation. But, IMO, the fact that they are still able to get hired at some places shows how wrong that often is. | |
| ▲ | Shorel 2 days ago | parent | prev [-] | | I am making the parallel because I feel exams and interviews share some similarities. |
|
|