You definitely have some interesting opinions on what should be expected in an interview process, but I’m not sure I agree with all of them. Personally, I think the casual interview is the best way to assess a candidate. After all, I have to work with this person, so I think its best to try to recreate the atmosphere that I’ll be expected them to operate in once they join my team. Same thing goes for whiteboarding, I generally like to do both a whiteboarding exercise and an actual coding exercise, because in development we work with both mediums. Not everyone works this way, but nearly all of the teams that I’ve worked on do, so it’s not unreasonable to assess a candidate in both situations. I totally disagree with your assessment of the length of the interview. We need to get a good idea of what it’s like to work with you, and that’s going to take a bit of time. Not to mention that once someone joins your team, they are going to be expected to be there 8 hours a day collaborating on a project. I get that people sit on various ends of the spectrum from introvert to extrovert, but if a candidate can’t get through a few hours of working with the team, then they aren’t going to do well when that kind of interaction is expected daily.
I definitely agree with your assessment that technical questions should be relevant. It’s annoying to walk into a social media company and be asked questions involving gaming algorithms. So that’s definitely something that some companies need to work on, but I’d say that only about 5–10% of companies I’ve interviewed with really have this problem, most are actually pretty sane with the questions they ask. The thing that I don’t agree with is the idea that it’s a bad thing that a tech stack is old. The truth is, unless the company you are applying for is a startup that’s less than 2 years old, their tech stack is already dated, that’s just a reality.
