“Tell me about a software project you played a significant role in. What did it do, how did it work, who made the tech choices, what was your role in it, what went right, what went wrong, if you were to rebuild it what would you do differently, what did you learn?”
I know it’s really a lot of questions but it’s still just one in a way “talk to me, in a free form back and forth way about software development”.
While I do think it's a great interview question, I do think all technical candidacy flows where the person will be programming must have a coding component of some kind. Even just "FizzBuzz" is better than no coding.
That said, I do think it's best to have the person relaxed and at their best, so anything to minimize stress or discomfort will show candidates at their best.
What if the exercise were something straightforward, simple and given before the interview? And, you had the option of instead discussing a solution of equivalent or greater complexity.
I have it as my first question and i was surprised to find out how many people cannot describe properly any of these. As if they haven’t been software engineers in their past jobs but something unrelated..
There's no rule saying you need to hire new grads. I'd even suggest that if you care about hiring "the best engineers", hiring new grads is just idiotic.
One of the counter-points of original question is that it is hostile to people with experience, aka didn’t do much also since uni, now you’re hostile against new grads.
“Tell me about a software project you played a significant role in. What did it do, how did it work, who made the tech choices, what was your role in it, what went right, what went wrong, if you were to rebuild it what would you do differently, what did you learn?”
I know it’s really a lot of questions but it’s still just one in a way “talk to me, in a free form back and forth way about software development”.