This whole “we hire the best of the best” and interviews with 5+ rounds should be eradicated asap.
This whole “we hire the best of the best” and interviews with 5+ rounds should be eradicated asap.
This in particular has always perplexed me. Every company says they only hire the best, but then if that’s the true, then like basically everyone with a job is “the best”.
I have a hypothesys that there is a huge layer of companies who do not "hire the best" because this is not crucial for them and I just do not have experience of what is going on in there, having only exposure to the people who did pass this filter in the software-first companies I have worked at (and I have always enjoyed working with people I have landed with in every company). I do not feel strong enough to do a deeper research on this hypothesis though.
Places that actually hire people that approximate "the best" are known by reputation, and don't have to say that.
"We only hire the best"
-> "I'm judging who is best"
-> "I must be pretty good then"
I've encountered a few 1's and 2's but they generally don't last too long. I've also encountered a few brilliant ones, but their code was understandable only to themselves, and often didn't meet a spec.
One of my takeaways from that is that like attracts like. People are biased to hire people who are similar to themselves. And people apply for jobs at places they will fit in. 8/10 programmers don’t take jobs at 5/10 shops. 5/10 shops don’t hire 3/10 developers. Lots of people think that everyone “out there” is like them. But that’s really not true. I think most people just have an incredibly biased sample.
I was a programming teacher for a couple of years and in my experience, there is a huge range of aptitude between the best and worst people in my class. It’s all incredibly unfair - the weaker students needed to work many times harder to keep up with the better students. My best students could just intuitively figure things out that my weaker students could struggle with for weeks.
And it’s obvious if you spend enough time interviewing. I’ve interviewed over 400 people. (I did it professionally for awhile). In our interview, the best people could get an order of magnitude more done in the time we had available compared to the weaker candidates. I wish I could show you the videos. The difference is obvious.
But that still doesn't explain my classroom experience. Some of my weaker students worked much harder than some of my more talented students. The weaker students also ended up getting a lot more 1-on-1 time from me as a teacher. That helped a bit - but the ranking in assessments was - for the most part - depressingly stable. I think the world would be a much fairer place if ability was purely a function of how much work you've put in. But unfortunately I don't think the data backs that up.
* more advanced refactoring tricks,
* patterns to improve mental management
* project layout methodologies
* SQL techniques and learning
And more have come from mentorship with my coworkers; and I know that I've helped several developers grow more skilled themselves by showing them that a more tenured developer gets just as stuck, frustrated, etc - while also showing techniques to get myself unstuck, the way I search for answers, etc.I've also made sure to give others project sizes that I think they can handle - and when I'm wrong, I make shrink the task into smaller bits that they can then probably handle, and all of that builds confidence and experience without breaking them down. I think it even helps to build them up.
So, yeah, definitely more than 10%.
I'm speaking especially about the work environment. When I was going through college, sure, there were fellow students that had rougher times; but once I got into the industry everyone has been sufficiently skilled to work through things. Now, sometimes I was better at specific areas of work than people of the same or higher rank; but stepping back and watching, they were better at other areas than I was - a lot better.