One thing that comes over and over again is how much most candidates suck at programming. There are a huge quantity of people that are terrible at coding that will apply to your senior dev $200k job offer.
They all have a great CV, and they cheat at everything: fake interviews with a look-alike, using chatgpt or indian services to solve programming tests are not uncommon.
Last year, I had one former trader applying for a python job with a perfect resume, a stellar homework result, and who was claiming he likes "putting some good 10 hours of coding". First, there are maybe a 100 people in my country that can focus 10 hours in a row on code, and they won't apply for those clients. Second, the live coding review showed that he struggled to even create a basic virtualenv.
Last month I created a test that I knew had one question that ChatGPT got wrong. 2 candidates gave me the GPT answer last week.
So companies are desperate and try sieves after sieves, hoping to separate gold from mud. And they have limited time and resources to do so.
Of course the hiring process sucks. Even if they knew what they were doing, and most of them are not, it would suck.
Now don't get me wrong, it's nice the power balance is shitfing toward the workers for once, but hoping the other side won't react is just naive.
CVs don’t prove anything about skills, even when they’re 100% truthful, and your 10 years is definitely different from my 10 years. Interviewers need a way to compare candidates so they can pick the best ones, right? How else would you do that aside from testing?
This way you could focus on a quality interview with people with actual programming experience.
And for somebody who is a senior dev, it's a 2 minutes job anyway.
- Many interview coding problems are very unlike what we have had to do in our daily tasks, and very unlike what will be required if we get the job.
- If the company is trying to avoid that problem by making the coding part of the interview working on actual problems they're having, then that means the interviewee is giving the company work for free. (Unless the company pays for it, but that's vanishingly rare.)
- Even if they manage to thread the needle and have the coding part of the interview be relevant to the job, but not actually getting free work out of candidates, it's very hard to make it representative of the environment in which the candidates are used to or will be working. It's time-limited, very high pressure, with unfamiliar tools, often without the ability to consult online sources—or they make it a take-home assignment, and run the risk of having the candidates just get someone else to do it for them.
- Most other types of jobs don't require you to prove your skills. They read your resume, they take it at face value, they check your references, and if it turns out you lied on your resume and got the job, you get fired. ...Or they don't do their due diligence, and end up with terrible employees.
It’s an assumption to expect interviews need to reflect the work on the job or match daily tasks. Interviews are the employer trying to select the best candidate for an uncertain future, not mimic the drudgery of a day in the life at work. If I’m interviewing, I don’t want to know if you can code a specific task today, I want to know how well you can adapt to changing roles, whether you’re more extroverted lead material, or introverted and wicked smart or prolific, whether you’re ambitious or happy laying low. I’m much more interested in broad potential more than ability to perform technical tasks.
Isn’t the last item on your list a good reason to do some due diligence by checking whether people can code in practice before going through the expensive process of hiring them and having them fail and then having to try again with someone else? I haven’t seen a lot of outright lying on resumes, but I’ve seen a ton of overconfidence in one’s relative skill, I’ve seen people who are great on paper but duds in practice, but more than those I’ve see a lot of people who don’t communicate well, don’t get along well on a team, have bad attitudes, cover up mistakes instead of learning or admitting skill gaps, etc.
I don’t know what it means to claim most jobs don’t require proving skills. Most jobs are entry-level minimum-wage jobs. Anyone in the arts is used to constantly proving their skills via auditions, critiques, performances, etc. Doctors have it way worse with low paid grueling residency. We’re talking about high paid programmers where hiring the wrong person is an expensive mistake and can damage team productivity.
Do accountants have to provide a portfolio?
Do museum curators have to spend several hours curating a collection for their prospective employers, for free?
Do any of the 31 flavors of middle management have to sit through a "leet-manage" test?
Professions that require on-the-spot demonstration of your skills in order to be hired are very much the outlier, not the norm.
Do you consider certifications and qualifications to be a pre-hiring demonstration of skills? Many many jobs require these. Programming jobs sometimes require them, and those jobs are less likely to ask for on-the-spot programming during interviews. Not all programming jobs ask for live-coding, you shouldn’t assume they all do. Do you consider an interview to be a demonstration of skill? All the jobs you listed require interviews where you have to talk in technical detail about what you’ve done.
Speaking of outliers, there are almost no museum curating jobs, and they have to typically do a master’s degree and then spend years doing intern style work, perhaps similar to a doctor’s residency. Then after all that, the median salary is less than half of the median programmer’s salary. Accountants and Baskin Robbins managers also make less than programmers on average, and the sum total of jobs available in all three jobs you just listed is relatively small compared to doctors and artists - in the US (for example) there are ~1.5M accountants, less than 10k curators, and just over 2k Baskin Robbins, while artist jobs alone are double that of accountants and including doctors is around ~4M jobs. The number of programming jobs in the US is around 4.5M. Between artists and programmers, the number of jobs that requires on-the-spot skills demonstrations is definitely much larger than all jobs you just listed so far, even when I give you the benefit of the doubt and include all fast food managers in the US and not just Baskin Robbins.
Above you illustrated some reasons why asking for a skill demonstration is a good idea, so I’m not sure why it matters whether or not it’s common for other job types. Maybe programming interviews have better outcomes than accounting interviews (fewer firings or bad employees per capita), in addition to higher average pay?
> Interviewers need a way to compare candidates so they can pick the best ones, right?
For the "best" candidates they need a way of deciding which interviewers are worth their time to speak to, and overhead of the hiring process is a fantastic filter.
Usually engineers can spot the CVs talking around the fact they can't actually do what they claim well before it even comes to interview, but HR often can't and the recruiters will try it on anyway to get paid!
BTW don’t forget that some of the candidates you’re competing against are actually lying, and they’re claiming things on their resume that if taken at face value will get them the job over you. Do you really want employers believing and hiring based on what people can say rather than what they can do? Be careful what you wish for, because if that came true, getting hired would be harder than it is now.
But at the first line, either CVs of unvouched-for engineers are pretty ruthlessly culled by active engineers based on "I don't think these skills are even genuine" or its done by others like HR or management based on some kind of universal system everyone takes. I don't agree with the second method, but I can see why it's done because I know people who give too much credit in the first way and waste days interviewing people for senior roles who think C# and C are "basically the same thing anyway" (that's a quote, by the way).
Personally, I'd rather just not proceed to interview rather then insult everyone's intelligence with game-able and non-representative tests like leetcode. Usually you can decide if a full interview is a good idea or not out of a phone call where you ask a few unstructured technical questions that are specifically appropriate for the role and/or based on previous experience.
Oh, and your dev team is on a dead line and can spare very little time validating candidates, one is sick and you just hired an intern that needs baby sitting.
What's you magical solution?
Usually there's about a CV passed by me or others per week, an interview maybe every 8 weeks and a hire every 6-12 months.
Advantages of not being in a country or industry that offers SF FAANG/MAGMA/whatever salaries, perhaps.
Wasn’t parent complaining about being verified, because he assumes that implies he’s lying? If your problem with the process is whether your word is believed without verification, or verified, then what’s the difference between a code test in an interview and talking to a previous employer? (BTW there’s a lot of reasons I might prefer the code test to having people discuss me, even when I have a good reputation. You can’t control what people say or think about you.)
> the hiring process has me do some dance
You’re upset by having to do a little bit of the thing that you want the job doing? I have to audition if I want to dance or act or play music. Why shouldn’t we audition to write code, or do anything? If you walk into an interview expecting to demonstrate your skills on the spot, which is what interviews are for and always have been, then it’s no surprise and you’ll be prepared. I’ve watched people get upset in interviews because they were asked technical questions and expected their 20 years of experience or whatever should somehow exempt them from talking about code. That attitude is a huge red flag TBH, and I’ve seen people get rejected for it.
BTW something to keep in mind is that a ton of people complain about interviews that don’t involve coding. Many would-be programmers are quite frustrated by the focus on soft-skills or experience, and very much prefer to be judged strictly on coding skills.
Interviews that don’t involve code are usually fine but not 6-12 of them. I usually start with (and we do not look for Haskell, ocaml, idris or prolog devs); do you know what Haskell is, what are some of the differences between Haskell, Idris and Ocaml. What’s the difference between prolog and Haskell. If they throw huge ‘i have no idea about any of this’ then I know they are going to be people we cannot use. What do lisp and prolog have in common. You cannot really fake knowing any of these and not having had hands on experience. It takes 15 minutes to filter out people who wouldn’t fit our team. But again: I hire seniors only and we work with very specialised financial software. I do apply for similar jobs where this applies as well and then I get a calendar invite with 12 interviews etc. No thanks.
But we can't have nice things because of the proverbial bad apples.
You are free to reject the job offer, but thinking it will make any difference and that employers won't keep trying to protect themselves against being scammed is wishful thinking.
I've worked with a few of these folks over the years. No one wanted them on the team and they contributed nothing, but somehow they managed to retain their job. These types were the first ones to go whenever there were staff cuts.
I've come across this interviewing too. We had a guy say "I can't do this.". I said, it's OK if you can solve it...let's just start it and work through it together. It's more important that we see how you approach problems and work through them. "No...I don't think I can."