Episode 4: Preparation.
Based on my previous interview experience at Google, I believe that preparation is extremely important. This is especially true if the target job is more advanced than what you do now, i.e. if you leap.
Last time I spent 6 months preparing and documented it in my post. That interview was for mid-level (L4) though, but Staff+ (L6+) interviews are different enough that just following my previous preparation plan isn't gonna cut it. It is not that at Staff+ they ask for more advanced algorithms, ask to write more code or to design rocket ships; not at all. They ask for different skills, not stronger same skills.
There are three types of interviews: coding, system design and behavioral.
- At junior and middle levels, coding matters the most and there is no behavioral at all.
- At senior level, coding is slightly more important than system design. Behavior is sometimes assessed.
- At Staff+, the emphasis is on behavior. Also system design is more important than coding. So overall, behavior > system design > coding.
This is because Staff+ engineers spend a lot of their time in meetings, reviewing designs, rather than writing code 😭.
I have never had a behavioral interview before and I failed one of two system design interviews at Google. My old preparation plan is focused on coding (algorithms and data structures) which is the least important part of the interview at Staff+ level. Thus there was a lot of work to do!
Based on my previous interview experience at Google, I believe that preparation is extremely important. This is especially true if the target job is more advanced than what you do now, i.e. if you leap.
Last time I spent 6 months preparing and documented it in my post. That interview was for mid-level (L4) though, but Staff+ (L6+) interviews are different enough that just following my previous preparation plan isn't gonna cut it. It is not that at Staff+ they ask for more advanced algorithms, ask to write more code or to design rocket ships; not at all. They ask for different skills, not stronger same skills.
There are three types of interviews: coding, system design and behavioral.
- At junior and middle levels, coding matters the most and there is no behavioral at all.
- At senior level, coding is slightly more important than system design. Behavior is sometimes assessed.
- At Staff+, the emphasis is on behavior. Also system design is more important than coding. So overall, behavior > system design > coding.
This is because Staff+ engineers spend a lot of their time in meetings, reviewing designs, rather than writing code 😭.
I have never had a behavioral interview before and I failed one of two system design interviews at Google. My old preparation plan is focused on coding (algorithms and data structures) which is the least important part of the interview at Staff+ level. Thus there was a lot of work to do!