Comment by weatherlite
14 hours ago
> The majority of engineers, in my hiring experience, failed very simple tests pre-AI
Did you consider tech whiteboard / leetcode interviews are unnatural stressful environments ? Have you gone through a mid/difficult technical appraisal yourself lately ? Try it out just to get an idea how it feels on the other side...
I used to do online interviews with full access to Google or any online resource (so long as you shared your screen and I could see). Use your own code editor, no penalty at all for searching up syntax or anything else.
I always asked a simple question like here is an array full of objects. Please filter out any objects where the "age" property is less than 20, or the "eye color" property is red or blue. It was meant more as a sanity check that this person can do basic programming than anything else.
Tons and tons of people failed to make basically any progress, much less solve the problem, despite saying that they worked programming day to day in that language. For a mid level role I would filter out a good 8 or 9 out of ten applicants with it.
I would consider it a non-leetcode type of question since it did not require any algorithm tricks or any optimization in time/space.
Nowadays that kind of question is trivial for AI so it doesn't seem like the best test. I'm not hiring right now,.but when I do I'm not sure what I will ask.
Exactly my experience to, and I'm doing hiring at the moment. We used to filter out the worst with a hacker rank test, but now the idiots cheat with AI, and then we have to waste our time in an interview. It's difficult at the moment.
> mid/difficult
You're assuming the question has to even be that difficult. I've proctored sessions for senior-level webdev roles where the questions were akin to "baby's first React component" -- write a component that updates a counter when you click a button. So many candidates (who purported to be working with React for years) would fail, abysmally. Not like they were just making small mistakes; I didn't even care about best practices -- they just needed to make it work. So many failed. Lot of frauds out there.
I think some of this is probably attributed to being maintenance devs who don't build a lot of greenfield stuff. I got this way in one of my past jobs. I think us as devs really need to practice creating things from scratch from time to time. Working out those kinks is a good skill (less with AI) but also good practice for those baby components you'd need to make in an interview.
When I did tech interviews, I used to think I could just jump right in with an intermediate level question and go from there. But the reality is that most of the candidates I interviewed couldn't even answer a trivial question that just required a basic for-loop with an if-statement inside it. These are not pressure-cooker interviews where they need to balance a binary tree while having Baby Shark blasted at them on full volume. These are chill interviews where I ask them to iterate through a string and tell me where the first "x" character is.
There are so many software engineering candidates who literally cannot write the simplest code. I even had someone actually say "I don't really write code at my current job, I'm more of a thought leader." Bzzzzzt.
I've always prepared what I called level 1, level 2, and level 3 questions ready for candidates. But, I almost never even got to level 2, and never in 20 years of interviewing got to my level 3 questions.
2 replies →
TBH I'm like that, but how hard could writing a React component be? I'm not even a React programmer but I can probably write working code on a whiteboard.
2 replies →
>You're assuming the question has to even be that difficult
https://blog.codinghorror.com/why-cant-programmers-program/
Most interviewees failed fizzbuzz, and that was 20 years ago.
Simple: don’t do that.
It’s been well over a decade that I’ve had to do the coding interview monkey dance and I actually turned down an offer where I did pass a coding interview because I found it insulting and took a job for slightly less money where the new to the company director was interested in a more strategic hire (2016). That was the same thing that happened before in 2014 and after in 2018 - a new manager/director/CTO looking for a strategic hire.
In fact even my job at BigTech -AWS ProServe (full time blue badge RSU earning employee) as a customer facing consultant specializing in app dev was all behavioral as well as my next full time job as a staff consultant in 2023.
I’m 51 years old and was 40 in 2014. If I’m still trying to compete based on my ability to reverse a b tree on the whiteboard even at 40, I have made some horrible life decisions.
(Well actually I did make a horrible life decision staying at my second job too long until 2008 and becoming an expert beginner. But that’s another story)
> ability to reverse a b tree on the whiteboard
I can never get over how this became a thing. Was listening to a Brian Cox video on YouTube the other night (something about his voice helps me sleep). He said "I don't memorize formulas, it's easy to look them up."
If you ever need to reverse a b tree (in 30+ years of writing code, I never have) it's easy to look that up. It tells me nothing about your ability as a developer of real software that you spent time memorizing trivia before an interview.
I'd always heard inverting a binary tree thrown around as some kind of absurdly hard problem. I took a look at it and it was trivial. I was able to do it on the first attempt with no preparation. (And the point of these interviews is that you study for them, right?)
It's a contrived scenario, but the whole point is that it measures min(a,b) where `a` is your ability to think, and `b` is your ability to prepare (and memorize answers ahead of time). (I'd personally try to find ways to measure `a` instead of `b`, maybe by asking questions people wouldn't have heard before.)
2 replies →
I had an interview where I was asked to implement a data structure. I transparently told the interviewer I hadn't thought about that particular data structure since university, and that I was looking it up on Wikipedia to see how it worked before I wrote the implementation. I got that job.
Being able to reverse a binary tree isn't something you need to memorize. If you can't do that it tells me that you're not fluent in your chosen programming language.