My experience as both a 50+ hiring manager and as a candidate tells me that we are collectively living in an illusion of whacked up expectations.
Yes, it's super hard to hire good people, but most of the time it's because "good enough" isn't good enough anymore, and while we may think our company is a 9 and we deserve 9s, we are probably more of a 4 based on what people are actually working on.
Yes, interviews suck, but that's because we all want to get paid the big bucks so we can afford the prohibitively expensive COL and actually do better economically than our middle-class parents. My background and resume legitimately qualifies me as a 9 on the high end, but really I'm probably just a 4.
Cascading causal relationships thus expand both upwards into the capital markets and downwards into your grocery stores.
If we can all take a chill pill employers+employees and stop 49er'ing around so hard, then I think most everyone can be happily employed.
I don't see us getting there on our own though, since that next door neighbor ain't gonna stop and I'm sure as hell not getting left behind /s.
I hope we can find a bit more maturity in our industry, but I'm not holding my breath.
>we are collectively living in an illusion of whacked up expectations... it's super hard to hire good people, but most of the time it's because "good enough" isn't good enough anymore
So much this. When hiring in this field, people seem to expect candidates to know anything and everything software wise, yet reality is software is more complicated than it ever has been.
The problem isn't alone to this field however, it's fundamental to all fields and the progress of civilization. Discover or invent something new and suddenly everyone else is illiterate about it and must learn it. The build up of knowledge is so immense that we don't expect any one person to know all that there is to know in society, hence why people specialize in what they do. It's why doctors have areas of expertise (feet/skin/teeth/neurology etc), why engineers have areas of expertise (mechanical/electrical/nuclear), why doctors aren't expected to know what engineers know. Why physicists aren't expected to know everything that chemists know, etc...
The software field is just a rapid microcosm of this progressive knowledge problem as software is invented at rapid pace. Yet some reason people seem to expect potential candidates to know everything...
This will be a bit of a tangent, but I think that level of specialization in the medical field exists because their jobs are mission critical. You can kill someone if you don’t handle your part right. The advent of the fullstack developer as the norm is because most of us are not doing critical things.
Companies need to be honest about the reality of their product. You’re building a straight forward web app most of the time, you know? You might not need that Stanford CS grad. If companies feel the ‘need’ it, it’s just aggrandizement and a very bad trend for this industry.
> we are collectively living in an illusion of whacked up expectations. Yes, it's super hard to hire good people, but most of the time it's because "good enough" isn't good enough anymore, and while we may think our company is a 9 and we deserve 9s, we are probably more of a 4 based on what people are actually working on.
You're essentially implying that companies like FAANG can get by just fine, even if they hired "average" programmers, as opposed to "exceptional" ones. If this were the case, they wouldn't need to pay anyone 250-350k compensation either - they can just hire some average programmer for 70k and call it a day. Or better yet, hire someone in a country with much lower COL, pay them 30k, and everyone walks away happy.
I don't think this is true, for the simple reason that companies are far too greedy to pay people 200k a year, unless they really need to. Do you honestly think that a company like Amazon is going to spend hundreds of thousands of dollars on someone, if they can get someone else for a fraction of that? Maybe I'm wrong and one day, some startup will grow to be a unicorn while paying their developers sweatshop rates. I'll believe it when I see it.
I think FAANG has too much money, so they try to solve all problems with money, which could otherwise be solved with better planning, allocating more time, changing the mindset and/or better understanding the problem at hand. That might explain why they pay hire salaries than the rest of the industry.
I don't think that there is necessarily a causal relationship between the salaries and the competence, but that line of thinking is common in those companies.
You radically overestimate the difficulty of the work performed by the modal SWE at Google. A bright-but-not-exceptional high schooler can do the usual job: writing code and tests and the occasional design doc, and way too much proto to proto work.
It is absurd to think that any more than a small fraction of the 20+ thousand engineers at Google are "exceptional". When you get to those numbers you are just seeking warm bodies to push buttons.
If you could choose between solving hunger, curing cancer, colonizing other planets, or working for a rent seeking ad buisness, the latter would have to pay a lot more for you to work there.
Dear God, I wish companies were run like this. Everyone refers to these faceless "companies"...no, you are being hired by employees just like you who almost always overpay for staff. They overestimate their ability to assess talent, HR usually link their own salaries to the people they hire...it is a shitshow.
Look at CEO pay, most CEOs are clueless. They are way overpaid. Google is a perfect example, that business is a cash machine, it could be run by a ham sandwich, and they are paying people $100m+ to run it...lul. Jokes.
Btw, this also shouldn't matter. If your business relies on hiring these 1 in 1000, super-smart individuals (ignoring the fact that it is statistically impossible to actually do this if you are hiring thousands of programmers), you will fail. Every time. You get into a bidding war, and your budget depends on the intelligence of others to not overpay. If you can work out how to turn average employees into good ones, you will print money because no-one wants average employees...supply is infinite, you will never overpay (I know companies that have done this...they usually end up acquiring the companies that hire the "boffins" and fire everyone on day one).
In tech, the opportunities for this are basically limitless. It is pretty easy to teach someone how to code, the main challenge is really all the stuff you learn "on the job"...and guess what? You have a job to teach them. Why doesn't this happen? Try telling a coder he has to help a junior guy out one day a week and stop fucking about with Haskell/burning cash. Try telling HR that you want to hire unremarkable people. Try finding an executive who wants to work somewhere where they hit singles...he has an MBA you know, he swings for the fences every time. You are vastly overestimating, ironically, the intelligence of most people who work in companies (I worked in equity research for a while...Buffett's dictum of a company that could be run by a ham sandwich has much wisdom).
Having helped non-cs managers hire for technical roles, I feel your pain. Usually I start getting worn down around candidate 5-10 for in person interviews, and stop looking for colleague grade employees and more for "yeah, I could train them". Nowadays I've tried to tailor my interviewing style more in that vein; I ask for their approaches to problems I don't expect them to be able to solve alone, and then try to guide them towards a solution. I judge them based on where the conversation lands on the lecture - coworker spectrum.
What qualifies as a 'colleague grade' peer? Do they need to know your specific set of technology choices and be able to solve problems specific to your business during an interview that has essentially developed as a skill by those working with your group for a long period?
Technology is so diverse anymore and so dependent on specific sets of technologies a business chose mixed with internal work tailored around a specific business and its processes/problems that I think it's completely unreasonable to expect someone to walk in and solve the specific types of problems under the specific constraints any arbitrary group is faced with--especially in the span of an interview.
All these factors mix to make very unique problem spaces. Factor in that positions evolve by folks who formerly filled a role and that their specific set of skills are likely unique. You should be expecting to train people from the start to some reasonable degree unless the role is doing incredibly vanilla work (in which case I find it hard to believe there aren't qualified candidates).
Probably, I think 'colleague grade' peer refers to candidates that have worked on the same problems with the same technologies and arrived at the same solutions as the people working at the company.
I agree that there is definitely a bit/lot of tunnel-vision that happens within companies where they don't realize how much cumulative knowledge is just specific to the particular evolutionary path of their development team.
IMHO, so much of success is based on ability to learn that it would be better for candidates to be evaluated on their ability to acquire new skills or integrate new knowledge.
These days, we are surrounded by so much complexity that I'm getting quite often the experience of having to delve for a week into a subject so that I can start to appreciate which solutions are the most appropriate ones for the problem at hand.
(And then a few years later I realize that quite a lot of that was still wrong, but at least I picked among the best solutions rather than the worst - see also the "getting on the latest fad" kind of mistakes...)
A past employer of mine was developing their interview process and began introducing a hardish CS basics form to fill out. My answer was the same as yours "it feels like you're hiring for theoretical geniuses, but really most of the work is web dev/bugfixes/feature adding" i.e. you have to mold your interview process around the skills that are actually needed
Yes, it's super hard to hire good people, but most of the time it's because "good enough" isn't good enough anymore, and while we may think our company is a 9 and we deserve 9s, we are probably more of a 4 based on what people are actually working on.
Yes, interviews suck, but that's because we all want to get paid the big bucks so we can afford the prohibitively expensive COL and actually do better economically than our middle-class parents. My background and resume legitimately qualifies me as a 9 on the high end, but really I'm probably just a 4.
Cascading causal relationships thus expand both upwards into the capital markets and downwards into your grocery stores.
If we can all take a chill pill employers+employees and stop 49er'ing around so hard, then I think most everyone can be happily employed.
I don't see us getting there on our own though, since that next door neighbor ain't gonna stop and I'm sure as hell not getting left behind /s.
I hope we can find a bit more maturity in our industry, but I'm not holding my breath.