I fail to see how ChatGPT would be useful for capable engineers. Is boilerplate code actually a time suck for anyone?
const ts = require("typescript");
const options = {
target: ts.ScriptTarget.ES2017,
module: ts.ModuleKind.CommonJS,
};
const someJavaScriptCode = ts.transpileModule(someTypeScriptCode, { compilerOptions: options });
console.log(someJavaScriptCode.outputText);
(Actual ChatGPT response when asked to convert TS to JS)That saved me a good five minutes with minimal disruption to my flow. Those little things add up to a significant amount of time and energy. I have two young children, ages 1 and 4, and these tools make it possible for me to program in little 10 minutes bursts between basically endless cooking and cleaning chores.
I actually take offense to the notion that you would consider people who find these tools useful to be incapable engineers.
I apologize for offending you. I can't imagine parsing code for errors being faster than typing it out. I suppose I assumed most have boilerplate memorized. I'll try to avoid being so presumptuous in the future.
I will say that you seem to be operating under the assumption that these tools are less reliable at producing the correct code than they really are!
Ironically, the latest GPT-3 models trained before OpenAI made changes to their API resulting in basically useless assistance for things like the openai npm library!
Its output is generic. Leverage is not found in convention. For that reason, I find it useless.
Plus, I typically retain my codebase. For exploratory coding, I could see some utility.
So a tool that helps me make tools is a lever.
But a tool that helps you make code is not a lever, because “good code” is your goal.
This explains it perfectly! Thank you!
Original thought is my goal.
Otherwise, I think you're spot on. To each their own as they say!
There are several reasons for this. One of the biggest problems with FAANG interviewing is that questions get leaked almost instantly. I spent days creating a brand new original problem, and it got leaked by the second time I asked it. ChatGPT gives you a unique problem for each candidate.
There is also the angle of leaning in the tech. I would encourage candidates to use any means to review the code as they would in the workplace, including IDE, web search, and LLMs. If these tools are going to revolutionize the way we work, I want to see how well people can use them.
Lastly I'm also intrigued by the dynamics of this kind of interview. As an interviewer I have asked the same question 50 times and I have seen all variations of answers. But what if the problem is relatively new to me? This seems closer to a pair programming exercise with two colleagues working together to solve a problem.
Should you ask very similar questions, to keep candidates on a level playing field by always measuring to the same standard?
Or should you vary the questions a lot, to keep candidates on a level playing field by not advantaging those who've seen leaked questions on glassdoor?