According to intervieees all people applying for Google are asked this question:
You walk into a TED talk auditorium full of people. Estimate how much poo is in all of their bums collectively
Explain your reasoning
According to intervieees all people applying for Google are asked this question:
You walk into a TED talk auditorium full of people. Estimate how much poo is in all of their bums collectively
Explain your reasoning
The problem with getting the best candidate is once you have that person they get even better offers from the other big tech companies a year or two later because you already did the hard work of selecting them from the pool.
Best is a slippery concept to describe, and I’ve never worked for big tech companies so I can’t compare really, but in my experience there are plenty of excellent developers working at tiny companies nobody’s ever heard of. Most of them are technically underpaid, and some of them do move on to larger companies, but not all of them. Working at a smaller, lower-pressure shop can have a ton of benefits beyond money. One of the big ones is office-political power: generally speaking the smaller the org chart, the more power the people at the bottom have to influence the people at the top. Generally, you have to shop around because there are plenty of software companies who want to become the next Google and have adopted the “give 110% all the time mindset” that grinds people down and prevents leaders from listening to their subordinates, because they already figured it all out from some book or, more often in my experience, their VC handlers.
I think the larger problem with retention is that work experience is highly valued, IMO overvalued (that is, it is highly valuable, but I still think it’s given too much weight) in evaluating candidates, so a junior engineer you hire with zero experience at $X salary can move and get anything from a $(1.5 * X) to $(3 * X) salary increase with the experience they got in your shop. This leads the market to believe that jr devs will inevitably churn off, and in many cases prevents smaller shops from hiring any jr devs at all. But if they do, they assume that the jr devs will leave soon, so they don’t invest in them and work them as hard as they can, which self-fulfills the “they’re going to leave as soon as they can” prophesy.
Which leads to the other big problem with assuming your talent will leave: if you think the “best” people will leave sooner, you try to aim for the least-good developer you think will still be able to do the job, which has a dramatic effect on your workforce over time: your quality slips, you miss deadlines, which leads you to tighten controls on your workers, which lowers their quality of life and encourages them to jump ship, and the ones who can do, which again lowers the quality of your remaining workforce. It’s a spiral that leads to kakistocracy, which I think is a natural result of not trusting people to do their jobs, and it leaves you with middle managers who hate and feel trapped by their jobs, which is a huge factor, maybe the biggest single factor, in hiring and retention.