So many companies I would consider mid-tier, lower, or not even technology companies have outsourced have adopted similar if not the same hiring models of FAANG or outsource hiring/recruiting/assessments that follow suit. It's an absolute mess.
- "interviewing is broken" is a meaningless linkbait title. All you can really say is it's less efficient than it could be.
- In fact, interviewing in tech might be the best of any industry. Look how good we are at hiring minorities, people without college degrees, people who don't wear suits, people with verbal tics, or even tattoos. That wouldn't happen in investment banking.
- If your point IS that hiring could be better, then instead of winging, propose a fast and simpler and cost-effective alternative, and then try to give some hard evidence that the method you propose is better than whatever you're winging about (usually leet code).
One of my most popular HN posts [1] is about how the job search sucks so I empathize a lot. However, I have little interest in working for “top” companies.
Or it’s a bunch of very competent coders annoyed that they’re made to jump through hoops.
Wait, what? Are you talking about the software industry?
Effectively they simply select for people willing to hack their hiring process, which also excludes most actually talented developers. Resulting in a few very talented people, and an overall average workforce.
This is also why most internal projects at these companies are about average for the industry and these companies focus so heavily on acquisitions. Consider the differences between iOS, Android, and Windows phones was not so much about software quality as much as business models.
Fundamentally, companies do not hire for raw technical ability.
Would you hire Linus for your bog standard dev role? Of course not. He'd be bored in days.
You probably wouldn't want a supermodel as a life partner.
The whole thing is about selecting model employees. People who will rock the boat in the correct ways; need money, but are neither impoverished nor independent; are reliable; and so on and so forth.
It's not "hiring is broken". It's "you misunderstand what employment is".
He was a great resource but hiring him permanently would be a terrible mistake for all parties.
I've often wondered if Rob Pike or Guido Van Rossum went through the same interview process at Google that we all hear stories about. I'd be very surprised if they did and my guess is, for them, it was much more of a negotiation of what they were going to work on and what their compensation was going to be.
The next time a recruiter from there cold-contacted me, I asked again. IIRC, that one said a person could skip at most only the first part of the whiteboard coding hazing (phrased differently), if someone at Google could vouch for them, but that everyone had to do the second part of the hazing, before they could advance to the interviewing phase of professionals with mutual respect (phrased differently). I decided not to interview.
So long as their process comes off as one-sided, arrogant, and negging, the company doesn't seem like a place I'd want to work.
It's like you're meeting a first date in the line at a cafe, and they're physically attractive and rich, but they're rude to the barista -- bullet dodged, we're not together, and I'd like my coffee to-go, please.
Being asked to perform these tasks is actually a pretty good litmus test to filter out companies. Also, I expect a certain degree of deference given my resume shows a 25 year history of implementing and delivering systems.
There were applicants with a decade or more of experience who, like you, expected some deference and were annoyed or offended, and complained about having to take a coding test. But they were applying for programming roles, not management. Those people didn’t get hired; negative attitudes are a red flag. In effect, this particular company likewise used them as a litmus test to filter out applicants unwilling (or unable) to demonstrate their advertised abilities.
Note especially how the coding test is actually being used to evaluate attitude and things other than coding skill. It’s not valid to assume that being asked to do a coding test implies that someone doesn’t believe you about your experience.
That said, resumes are very easy to fluff up with big sounding projects, so talking through past project details and demonstrating your abilities with a coding test should be par for the course if you want to change companies.
I actually agree and I don’t think coding projects are necessary for hiring, but I do think they’re useful, not bad, and I don’t give deference to anyone when I’m interviewing, no matter how accomplished. I look for people who are smart, willing to learn, excited to do the job, excited to interview for my company, and willing to try.
I'm happy to have real technical discussions and sketch out things, but I've seen enough negging "coding interviews" administered by smug people, and it seems to have little-to-nothing to do with legitimately assessing competence.
I'd also like to have an opportunity to get a sense of the people from talking with them. The FAANG coding theatre performance that undergrads now drill for doesn't tell me much about the team's personality, competence, and working style -- all it tells me is that apparently they are willing to play along with that dysfunctional one-sided game.
When you're focused on system implementation, delivery and maintenance you can pick one of the past projects listed and start probing. It's not hard to quickly get a picture of what the candidate did and didn't do on the project and whether or not they're blowing smoke.
But then, if you ran a business, that's almost precisely what you'd do. It's completely rational. The hoi polloi need to be filtered aggressively, most companies need to select for hunger, etc.
By contrast, you might as well give a big name an honorary position if you can afford it. If they do useful stuff - bonus. Hell, if I owned a company the size of Google, I'd give Guido some money just because I could.
The question is incorrect. By hiring Linus you eliminate the need for 5 bog standard dev roles. Bog standard dev roles is not a requirement. It's what you end up with if you hire mediocre people.
You do have a point here which I do agree with which most of those companies would refer to as "culture fit". Agree with it or not, having an employee that gels with the team is a critical aspect to hire for. You could have 10 Jeff Deans and get nothing done if they refuse to work together.
A significant problem I see here is that we are trying to define "good" on a linear scale which makes no sense to me. Is candidate A better than candidate B based on 6 hours of interviews about the same topics or a single take home test. Even Madden breaks down a person into dozens of traits and uses that to compare people. Tech companies like to flaunt how data driven they are but why hasn't that made it into hiring. For the most part, these decisions are still made on personal feelings of the interviewers which...yeah, that's not going to be very consistent and reproducible.
Personally, I would place technical skill at around 50% of what makes up a talented software developer. Effective communication, ability and willingness to work with others, flexibly, work ethic, attention to detail, prioritization, etc are all important. But, I have found these things really tend to go together.
Not everyone in FAANG are in charge of shaping the industry.
In fact, even with such hiring process, I would say FAANG problem is still having too many of such talented people but not enough internal growth so that they can't retain them.
Many of these "hiring is broken in tech" posts are like you said: moaning or a remarkable lack of self-awareness.
There are a trillion arbitrary signals that will help or hinder your success in various ways.
Physical attractiveness, gender, race, parental background, your nationality, where you can work, your accent, language... the list is honestly almost endless.
You can wish for a world in which none of this were true, or do your best to find a place within it. Sure, don't lose sight of justice, but recognise that you can't change the world alone.
For all of the reasons I stated above?
I think you'd have to be severely mentally deficient in order to think that commercial software development operates in some sort of strict high score board fashion.
OSS development I think is significantly closer if you allow for the sampling bias that only certain groups have enough time to contribute.
Some of it is like that, but not much.
As much as I like open source, there is a lot of myth making around it too.
________
Second whether obvious or not, people argued that we meritocracy on these forums here for years. And some still do. At meritocracy peek, Github had even that meritocracy carpet or whatever it was.
Anyway, FOSS makes yearly polls about these topics. It is biased toward more involved projects, but again I don't think someone's one weekend demo is what is talked about here.
As someone who has spent more time on the hiring side than the job seeker side over the last 10 years, I find these articles funny. I ask myself if each method could tell me what I need to know about a candidate. For many, the answer is no. Then I ask myself if I think the remaining method are fair and often the answer is no. Then I think about how much hassle they are for the candidate and the best methods seem really onerous for the candidate.
I always come back to the way I handle it. And now that I'm looking for a job again I had one interview where the technique impressed me enough to change my style a bit in the future, or at least add some options to what is a dynamic process.
Perhaps you're speaking from the perspective of dev jobs in Europe, or just outside the US, but even in the midwest where the only "tech" companies are really just the largest commerce/healthcare/financial institutions, dev jobs still pay $75,000+ for entry-level positions. Ignoring the fact that cost of living and taxes are way lower in the midwest than they are on the coasts, it's still a fact that with just a bachelors degree computer science opens up a plethora of opportunities.
If the price to pay is grinding Leetcode problems for a few weeks that's a pretty small price to pay. Honestly.
And the commerce/healthcare/financial enterprises that you mentioned are really picky and don't even care about leetcode, they filter based on resume prestige like law firms. Without connections, having attended a prestigious University or experience at other fancy companies you ain't getting your foot in the door regardless of your leetcode level.
If you've only been coding at mom & pop corner shops, you'll be doing that for a long time as most big enetrprises you mentioned won't even look at your resume.
There is no proven method for sorting a pile of candidates such that the absolute best engineers will float to the top. In the case of high-profile employers, a significant percentage of hires will be those who have trained themselves specifically to beat the hiring process at that company. Those people aren’t the absolute best software engineers.
Which is what people talk about here.
No-one ever mentions the fact that say, you're barred from cracking out `git clone` and making the next Linux.
It's always commercial employment, which always has been and I am willing to bet always will be primarily a political field.
Obviously Google doesn't have the best devs - or at least I bloody well hope they don't - because they're mostly working on ad conversion shite. That excludes a ton of people I know right off the bat.
There’s no proof that they are but there’s also no proof that they aren’t
[for the sake of argument] -- yes, there is a method, if you want to find out the top few best engineers. Look at their experience. Jeff Dean, Linus, John Carmak. I think my algorithm fulfills the letter of your search criteria by finding a few 10X engineers in an ocean of regular people.
Unfortunately, the 10X (or arguably, 100X in this case) engineers may not be enough or not be interested in the job opening you have.
No offense, but this isn't good advice. You just contradicted yourself within two sentences.
Here's the "true" version of this statement:
You may not actually "get there". You may or may not want something else entirely, after that potentially traumatizing experience. You also may be six figures in debt now, good luck!
In software development, we have this tendency to not take things seriously. Career choices are some of the most serious choices you make.
I'm afraid we're luring all these otherwise uninterested people into this career path by promising them lucrative and future-proof jobs. What eventually happens is that an oversupply of underqualified candidates flood the market. Meanwhile, other trades that aren't always in the headlines are starving for workers.
Despite what you may want to believe, many companies are afraid of hiring sub-par developers, because the narrative is that they will eventually ruin you. We can argue about how true that is, but that is irrelevant to the outcome. What matters is the perception.
Not, however, if they stick dogmatically to the idea that it's Google or bust.
I'm not talking about a lucrative job; a middle class existence; a big fancy company; any of that shit. I'm saying that an intelligent human being needs to realise that the world is not necessarily set up for them and they either need to fit in, or carve their own path.
And about debt? Yeah, don't do that. The US college system looks like a racket to me.
Fair enough. A true scotsman will never put sugar on his porridge.
> I'm saying that an intelligent human being needs to realise that the world is not necessarily set up for them and they either need to fit in, or carve their own path.
Indeed, a human being must either do one thing, or, failing that, do another thing.
There's at least two ways of reading what you are saying. In the one reading, you are giving questionable encouragement. In the other reading, what you are saying is a tautology.
I assumed the former, but apparently you meant the latter. You were right all along.
It is indeed tautological.
Which is my primary complaint about the prevalent attitude displayed in these hiring posts.
Porridge isn't going to change its' recipe for you.
I'm glad that I'm not the best at what I do. I'd be working more hours, given too much responsibility, picking up the slack for people, subject to more meetings, etc. None of that is for me.
One thing is for sure, and that's that I'm the best me, and you're the best you.
I spent most of a day yesterday trying to get openssh 8.0 working on Debian 2 (with 1998 era kernel, glibc, etc). Because I can.
Genuinely more fun than all the toys money can buy.
It didn't even work. Fuck.
Which is true. Companies know this.
Most of the stuff I read here is basically made up of people who aren't quite the best moaning that they couldn't get a job at Google or whatever. Life goes on. It is impractical and not a good thing for every software developer, even the very good ones, to pile into the same companies.
Not everything is set up as a perfect procedure for you.
And even if it was - OK, so you get the job and the Stanford grad doesn't. You swap places. Does that make a better world?
I encourage new developers reading these sort of posts to just ignore the fluff and plug on. You'll get there.
And if not? In five years you might want something else entirely.
I wanted desperately to work at an investment bank as a new grad.
I'm very happy with the path my life has taken instead.