Interviewing people
Many engineers don’t do interviews because they don’t have time, they don’t like doing it or they think it won’t help their growth. I think this is overall a mistake.
The standard/classic reasons you should interview people are:
- Your company needs to grow and interviews are a critical part of the process to hire new engineers – if no one is doing interviews, the company wouldn’t grow.
- Every engineer you help hire makes your company more productive – your impact if you help hire a few engineers can be more than footnote on your perf
Beside doing what’s good for the company, I actually think there are other important reasons you should interview candidates:
- You set/hold the bar for your team/org – you can help calibrate expectations on questions/candidates. This is especially important as over time your company hiring bar will get lower simply because of statistics (assuming something along the line of “A players hire A players and B players hire C players”).
- Every now and then, a candidate will come up with a solution to your problem you never encountered and/or thought about – this results in intellectually stimulating situations where you have to figure out if their solution works and what potential caveats it has (if any!).
- Every now and then, a candidate will do extremely well, not necessarily because their solution is good but because they are doing an amazing job at walking you through their thought process/solution – this is something you can learn from and may help you to perform better when you interview somewhere else
To illustrate the last point, one thing I’ve learned is that the candidates who do very well in coding interviews always iterate in an easy way to follow – either with a high level to low level approach or through some other iterative process (e.g. building the core functionality before building the other pieces needed to solve the problem).
Basically one way to get better at interviewing is by being on the other side.