Hi All
Some companies have a project deep dive interviews as part of the hiring loop interviews and I was looking for any good resources about how to structure and be well prepared for these interviews. Appreciate any pointers.
Note: I have seen this predominantly for Staff+ positions.
Thanks
Rahul
Never heard of that before but that seems very interesting. Someone on r/experiencedDevs, told me that he interviewed many senior/staff with good resumes, but when he asked them about the projects they were on and why certains decisions were made, most had no idea. He also told me of an example of how he solved a latency issue a DB had when generating reports with millions of points of IoT sensor data. Was interesting to hear how he considered the business tradeoffs and chose a less robust, but more practical solution (kicked the can down the road with a bandage solution due to cost).
I highly recommend going through the behavioral interview course, particularly these lessons:
For each of your best projects, make sure to go through the system design doc you wrote for them as well (if you're talking about a project as a Staff Engineer, you should have been the one leading it): [Course] System Design Masterclass: Shipping Real Features To Production
The project deep dive interview really is just a blend of a behavioral and a system design interview. The difference is that it's for a system that you have already designed, and you will need to explore and defend all the decisions you made. This is a highly valuable and intense interview, but if you have been a good Staff Engineer, it shouldn't be too hard as it's not too different from what you're doing already on the job.
A big part of what is being tested here is not only the depth of your prior work, but also how clearly you communicate it.
In addition to the Behavioral Interview course, I'd spend some time going through Ryan's course about Clear Communication For Software Engineers. In particular, these lessons:
The big difference between project deep dive interviews for Senior vs Staff is the scope of the project, it's complexity, the impact it had, and the skills it took to drive the project to successful completion.
Scope: Projects that span multiple teams (and sometimes even multiple orgs) are strong candidates to talk about.
Complexity: Did you design and implement the most complex parts of the project? If yes, it's a good example. It's an indication that the team can look up to you for technical leadership.
Impact: This is best measured in $ earned/saved or speedup in engineering velocity or other measurable process improvements.
Skills: The skills necessary to operate successfully at the Staff+ level are heavily weighted toward relational and leadership, in additional to technical.
Hopefully this gives you a good rubric to evaluate which of your past projects would be best to highlight. That, coupled with the other pointers on behavioral interview prep here, should put you in a strong position. Good luck!
Feel free to ask follow up questions. :)