Is just LC and experience really enough?

For junior candidates, live coding interviews are a very effective, consistent, and low-risk way to identify high potential candidates who don't have much (or any) prior experience. The process is certainly flawed in its own ways, but it's a good way to basically give everyone a chance to show off their skills and break into the industry without needing to have a specialized academic pedigree or prestigious internships, etc.

However, ultimately, live coding interviews are staged and inauthentic events that require specific practice and preparation. This can make sense for junior folks who need a chance to demonstrate their value without any industry experience. But more senior and experienced candidates should have a wealth of real-world experience that is relevant to the job. And as you become more senior, you'll often spend more of your time on "team lead" type activities and less time just banging out code. Often the difference between a serious senior or staff engineer vs. a junior engineer isn't their ability to write code, but rather their ability to reason about large-scale system design or to anticipate edge cases or to manage stakeholders and priorities around them.

Even for senior talent, we believe it's important to have some kind of objective technical interview. We don't trust interviewers to just make "gut check" decisions, and that's a source of major bias too. This is where system design comes in -- it's a technical interview designed to get easier as you gain more experience. It's super hard for junior engineers (to the point that we waive it for them), and frankly it shouldn't be hard at all for someone who's actually very senior and experienced.

/r/cscareerquestions Thread Parent