News for hackers. Stuff that matters.
Re:Senior devs. Is anyone else insulted by coding exams? by mooreds on Wednesday March 09, 2022 @10:58AM (#30615858)
> Also, hiring managers... Do you find these kind of tests useful? Why? How?

Former hiring manager.

It's unfortunate because it is a bit insulting. However, there are some people who lie. They lie about being able to code. I don't want to hire a senior dev who I then have to fire shortly thereafter.

A simple, short coding test that any senior dev should be able to do quickly in their language of choice or a longer project that they get paid for are my two favorite options to filter out folks who say they are senior devs but can't code.

Re:Senior devs. Is anyone else insulted by coding exams? by xavor on Wednesday March 09, 2022 @11:03AM (#30615953)
How do you filter out hiring managers that can't hire?
Re:Senior devs. Is anyone else insulted by coding exams? by pacohope on Wednesday March 09, 2022 @11:22AM (#30616257)
Promoting people to management randomly might get you the best results anyway. https://www.theguardian.com/education/2010/nov/01/random-pro...
Re:Senior devs. Is anyone else insulted by coding exams? by thelastknowngod on Wednesday March 09, 2022 @03:39PM (#30619657)
I read an analogy years ago about how stupid the logic behind most promotions in software are. Think about a sports team..

"That guy is our best player! He scores more points than anyone else in the team by far! Quick! Let's pull him out of the game and make him the coach!"

Why not keep him in the game and just look for someone who can be a good coach?

Re:Senior devs. Is anyone else insulted by coding exams? by bluefirebrand on Wednesday March 09, 2022 @04:12PM (#30620033)
Difference is that on a sports team, you are under contract to be a player and there's not really any chance to just be promoted to being a coach.

If you have a high performing dev who wants to be a team lead and you hire someone else for that role, you risk demoralizing them and causing them to look elsewhere.

Morale is important. Promotions, real promotions with more responsibility, are important

Re:Senior devs. Is anyone else insulted by coding exams? by cutemonster on Wednesday March 09, 2022 @11:10AM (#30616056)
How do you filter out pilots that cannot fly?

It doesn't always make sense to compare two occupations with each other and pretend they can use the same approach for hiring people.

Re:Senior devs. Is anyone else insulted by coding exams? by s_dev on Wednesday March 09, 2022 @11:21AM (#30616253)
>How do you filter out pilots that cannot fly?

Piloting specifically requires a qualification like being a doctor etc. These qualifications are recognized and remove the need for assessment of a skill during an interview.

However there is no standard international qualification for software development like these other professions that are restricted -- you simply can't call yourself a doctor as these professions are regulated. Anyone can call themselves a software developer. Do we really want to regulate the software dev profession?

Re:Senior devs. Is anyone else insulted by coding exams? by bin_bash on Wednesday March 09, 2022 @11:20AM (#30616240)
Pilots have licenses and documented flying time. Perhaps there's something to be learned from that profession?
Re:Senior devs. Is anyone else insulted by coding exams? by WJW on Wednesday March 09, 2022 @11:37AM (#30616500)
I can just see the posts on HN now: "Senior devs. Is anyone else insulted by the coding exams required for the dev license?". Or even better, have to log a certain amount of hours every year to keep that license.
Re:Senior devs. Is anyone else insulted by coding exams? by cryptonector on Wednesday March 09, 2022 @12:06PM (#30616973)
What pilots do can be automated. I mean, it's not easy, but then again, planes nowadays can land themselves by themselves. As the automation gets better, you need pilots more and more just for emergencies, and maybe if you only use pilots for those cases, then a) your pilots don't gain the experience they need to be useful in emergencies, and b) you under-utilize them. And maybe that means you can't really automate pilots after all. But still, what pilots do is very machine-like.

What devs and mgrs do is less machine-like, and it follows that what works for "making sure you have pilots who can fly" doesn't quite translate to "making sure that you have managers who can manage".

Re:Senior devs. Is anyone else insulted by coding exams? by bin_bash on Wednesday March 09, 2022 @12:16PM (#30617141)
I said there are things we can learn, not that we should adopt their pattern fully.

Actuaries, accountants, doctors, lawyers, even hair stylists all have qualifications that are required to do the job that says they can perform the basic tasks safely. What's so special about ours that we can't do the same? I hate needing to prove that I can fizzbuzz to each company individually.

Re:Senior devs. Is anyone else insulted by coding exams? by juancn on Wednesday March 09, 2022 @12:24PM (#30617293)
We collect post interview feedback for hires and non-hires, and measure candidate NPS on the hiring process.

If some hiring manager or interviewer scores badly, well, he may end up not interviewing anymore.

We want even our non-hires to have a good experience interviewing with us.

Re:Senior devs. Is anyone else insulted by coding exams? by kragen on Thursday March 10, 2022 @01:35AM (#30623800)
Re:Senior devs. Is anyone else insulted by coding exams? by juancn on Thursday March 10, 2022 @01:07PM (#30630223)
Yeah. We adapt the concept of customer satisfaction to interviewee satisfaction in this case.
Re:Senior devs. Is anyone else insulted by coding exams? by mooreds on Wednesday March 09, 2022 @11:47AM (#30616659)
Thankfully, I've never had to deal with this problem.

I learned that I don't want to get better at management, so I am no longer a manager.

I assume that managers have ways to evaluate managers, but I don't know the gruesome details.

Re:Senior devs. Is anyone else insulted by coding exams? by nine_zeros on Wednesday March 09, 2022 @11:08AM (#30616027)
This is the question. To me it appears that hiring managers are incapable of filtering without exams -making the hiring managers skills questionable.
Re:Senior devs. Is anyone else insulted by coding exams? by lbriner on Wednesday March 09, 2022 @11:14AM (#30616137)
What's the alternative? As a Hiring Manager, do I need to spend multiple hours with 20 candidates to get a really valuable insight into who they are really like or should I just screen them with a basic exam so I only need to interview the 4 who can do it?

What insults me is when someone wants to be paid more than a doctor based on no qualifications and the fact that they tell me they are worth it. If you cannot do the exam but can discuss it with the company who accept your argument then great, if you can't then you probably don't want to work for them anyway so just chalk it up to experience and move on.

Re:Senior devs. Is anyone else insulted by coding exams? by nine_zeros on Wednesday March 09, 2022 @11:50AM (#30616706)
> What insults me is when someone wants to be paid more than a doctor based on no qualifications

What's stopping you from selectively removing exams from people who actually do have the qualifications?

> If you cannot do the exam but can discuss it with the company who accept your argument then great

I could flip it around and say, if you cannot hire strong engineers without exams, discuss with your company to make someone else the hiring manager.

If I was your employee and I saw positions remain open for years (burdening existing employees), I would question your ability to set good processes.

Re:Senior devs. Is anyone else insulted by coding exams? by mds101 on Wednesday March 09, 2022 @11:22AM (#30616262)
> As a Hiring Manager, do I need to spend multiple hours with 20 candidates to get a really valuable insight into who they are really like or should I just screen them with a basic exam so I only need to interview the 4 who can do it?

Why is your time more valuable than mine? Why should I invest my personal time in to your hiring process when you can't bother to spend the same amount of your on the job time, to hire someone whos going to add far more value to your company than your company is going to add to their profile?

Re:Senior devs. Is anyone else insulted by coding exams? by mooreds on Wednesday March 09, 2022 @11:45AM (#30616629)
> Why is your time more valuable than mine?

No one is forcing anyone to apply for a job at any company. As the seller of labor, you get to choose how much to invest in any one opportunity. Just like someone selling apples can choose to open a roadside stand, try to get into a grocery store, or sell direct to consumer.

The buyer, of course, gets to choose the process by which they evaluate the labor (or the apples). If you don't like how the buyer evaluates what you are selling, find another buyer.

Re:Senior devs. Is anyone else insulted by coding exams? by erik_seaberg on Wednesday March 09, 2022 @04:33PM (#30620291)
How often does a candidate interview, maybe 1–3 companies every 2–5 years? My manager probably has a hundred candidates every year because someone in the org is always hiring.
Re:Senior devs. Is anyone else insulted by coding exams? by bathtub365 on Wednesday March 09, 2022 @11:37AM (#30616503)
What’s your hiring process?
Re:Senior devs. Is anyone else insulted by coding exams? by ripper1138 on Wednesday March 09, 2022 @11:22AM (#30616270)
Contact some references? Surely a good candidate would have some previous managers that could speak to their job performance.
Re:Senior devs. Is anyone else insulted by coding exams? by TheCoelacanth on Wednesday March 09, 2022 @01:53PM (#30618542)
I would never give out references without a contingent offer that I intend to accept. I don't want 10 different hiring managers harassing my former co-workers.

I would much rather take a short coding exam.

Re:Senior devs. Is anyone else insulted by coding exams? by fancyfredbot on Wednesday March 09, 2022 @11:13AM (#30616130)
There is nothing wrong with a hiring manager recognising that an exam helps them make a hiring decision. What you really need to worry about are hiring managers are incapable of filtering without exams and not using exams.
Re:Senior devs. Is anyone else insulted by coding exams? by pluc on Wednesday March 09, 2022 @11:08AM (#30616031)
If you hire someone who turns out lied on their resume, you handle it the same way every time - you retract what you have offered for the truth. Guy can't code? Fire him, hire another and take it as a risk of the process. Don't offend your entire talent pool for the actions of very, very few (I have never hired anyone or heard of this happening in 25 years) bad apples.

It might be more common now in the remote era but this has been a standard practice for years so I don't think it's a valid excuse.

Re:Senior devs. Is anyone else insulted by coding exams? by riskable on Wednesday March 09, 2022 @11:22AM (#30616275)
> Guy can't code? Fire him, hire another and take it as a risk of the process.

There's a couple of "problems with this idea in reality" I feel I should point out:

  * The process of firing and hiring someone is often a *very* bureaucratic thing that requires many people to sign off on it.  It can often take weeks or *months*.  That's a lot of wasted time when you actually need someone to fill a role.
  * Some countries just plain don't let you do this (e.g. France).  Once you hire someone you're basically stuck with them unless you can prove they did something really, really bad.
  * It can be downright evil to just up and fire people shortly after hiring them just because they're not as efficient as you'd hoped.  You'd *think* that having a process like you suggest would only get rid of people that lied on their resume (good riddance) but in reality it'll be abused by managers to shape their reports in ways that are beneficial to them but not necessarily the business overall (zero-consequence firing).
  * There's something to be said for letting people through your hiring process that aren't qualified...  It's downright dangerous from an operational stability and information security perspective.
IMHO the real problem is HR: They suck at filtering out IT candidates. They're so bad that you'd be better off throwing darts and sending those resumes off to the hiring managers. They filter out perfectly qualified candidates that could be the best thing that ever happened to your organization and then they let through people who's only useful skill in life seems to be making a good-looking resume.
Re:Senior devs. Is anyone else insulted by coding exams? by bradlys on Wednesday March 09, 2022 @11:41AM (#30616570)
These are all excuses. You can fire someone whenever you want in the US. It can be the same day you hired them and you can even not give them severance.

I’ve seen this happen plenty enough even in SV. If someone wants you fired - they’ll do it asap.

Re:Senior devs. Is anyone else insulted by coding exams? by jaredklewis on Wednesday March 09, 2022 @02:27PM (#30618908)
Sure, but turnover has a strong effect on employee morale and the company’s reputation

So even if it surfaced the best candidates, hiring anyone that applied and then firing 90% of them after a week would result in a depressing work environment and an ever shrinking pool of qualified candidates (who wants to upend their life to take a job they only have a 10% chance of keeping?). Not to mention the cost of onboarding.

This is how we get to the status quo: do as much filtering as you can before you hire.

Re:Senior devs. Is anyone else insulted by coding exams? by TheCoelacanth on Wednesday March 09, 2022 @01:56PM (#30618574)
Just because you are legally allowed to do it, doesn't mean you should do it at the drop of a hat.

Slacking off during the hiring process with the intention of firing a large portion of the people you hire is a violation of the social contract and a huge asshole move.

Re:Senior devs. Is anyone else insulted by coding exams? by nopenopenopeno on Wednesday March 09, 2022 @12:12PM (#30617070)
This is true. Workers in the US have effectively zero rights to employment until they’ve been employed for at least a year, and even then you can still fire them and just make up a reason. Corporations spend a lot of lobbying dollars to make sure the US remains a corporate authoritarian state.
Re:Senior devs. Is anyone else insulted by coding exams? by shagie on Wednesday March 09, 2022 @11:39AM (#30616537)
> IMHO the real problem is HR: They suck at filtering out IT candidates.

HR is really only qualified to filter out based on the qualifications on paper. These are sometimes misleading and occasionally outright fabrications. Those can really only be verified by someone with the appropriate technical skill to separate bullshit from an accurate representation of the abilities of the candidate.

Re:Senior devs. Is anyone else insulted by coding exams? by soco on Wednesday March 09, 2022 @12:18PM (#30617188)
Then why putting them in the hiring process?
Re:Senior devs. Is anyone else insulted by coding exams? by shagie on Wednesday March 09, 2022 @12:30PM (#30617402)
They are typically the owners of the application tracking software and schedulers of interviews.

If the hiring manager wants the firehose of the "everyone who clicked quick apply" on LinkedIn or Indeed, then fair 'nuff. However, my reading of the comment that I replied to was the issue that HR wasn't filtering out unqualified applicants. Removing HR from the hiring process won't improve on that issue.

Re:Senior devs. Is anyone else insulted by coding exams? by gumby on Wednesday March 09, 2022 @11:19AM (#30616208)
It takes time to hire someone and once you do you of course stop interviewing other candidates. Then when the person joins you typically don’t know immediately what the problem is, then once they’re gone you have to start the search all over again.

Much better to get someone qualified in the first place.

I typically use a small coding test, but not even as elaborate as described in this post — more like a 10 or 15 minute discussion/problem just to see if they really do know what std::string is or how to use an op amp or whatever. Some people can really bullshit well. Consider this the simple “do they know which end of the knife to grab when picking one up?” test.

Once that is clear, a conversation (usually just a conversation about a hypothetical problem) works well.

I don’t understand the coding tests that test your tools knowledge btw. If you know how to think and are somewhat familiar with the appropriate language then you can pick up the specific tools and frameworks. We hire for the long term so said tools and frameworks will change anyway.

Re:Senior devs. Is anyone else insulted by coding exams? by jrs235 on Wednesday March 09, 2022 @11:41AM (#30616572)
>and once you do you of course stop interviewing other candidates.

Sadly, I think more and more companies are posting for jobs/positions they don't really have available/open at the moment and are just proactively trying to find potential workers (because this whole hiring process is a mess and take so long).

Hiring is becoming an always on activity.

Re:Senior devs. Is anyone else insulted by coding exams? by b3morales on Wednesday March 09, 2022 @12:05PM (#30616950)
My company has sort of been doing this, and I (engineer) have been trying to get us to stop. We do have a couple of open slots, but we're doing intake for much much more than we need.

I can offer this bit of perspective on the practice, without justifying it because I do think it's bad. We (again, engineers) spent a long time pushing for hiring to move away from the desperate search because we need someone immediately model to keep our lanes open for whenever someone awesome is looking for a job. Management finally bought into the idea...kinda. Basically, what we're doing is the mixed up interpretation of a that idea, after it passed through the bureaucracy. Instead of keeping just a line open, we're still trawling with big nets, scooping up way too many resumes and letting those people down.

The root of the problem as far as I can see is that screening is atrocious. The people at the front end of the process, the actual recruiters, have no idea what we are looking for, and the output may as well be random. I still don't know how to fix it. :/

Re:Senior devs. Is anyone else insulted by coding exams? by gumby on Wednesday March 09, 2022 @02:26PM (#30618890)
> The root of the problem as far as I can see is that screening is atrocious. The people at the front end of the process, the actual recruiters, have no idea what we are looking for, and the output may as well be random. I still don't know how to fix it. :/

One is to have the hiring manager or someone who would be working alongside the new hire write the job description and not allow the recruiter to write it (no “17 years of experience in Airflow”).

Another is to have an engineer do a phone screen after the recruiter has screened them. Having the recruiter listen in is good as they will hopefully learn more about what is wanted.

Another is to carefully set the recruiter comp to take into account not only hires but percent that fail a phone screen.

Your recruiters aren’t your enemy but they are recruiting, not programming (you probably couldn’t do their job either) so there will always be a mismatch to some degree.

Re:Senior devs. Is anyone else insulted by coding exams? by kragen on Thursday March 10, 2022 @01:39AM (#30623808)
These are some really interesting ideas! Have you implemented them at one company or another? What were the results?
Re:Senior devs. Is anyone else insulted by coding exams? by gumby on Wednesday March 09, 2022 @02:21PM (#30618824)
That seems odd to me because it’s very expensive to interview people (time spent interviewing is time not spent doing something else).

There are also people interviewing just for practice or to find a way to negotiate a raise with their management.

Re:Senior devs. Is anyone else insulted by coding exams? by lbriner on Wednesday March 09, 2022 @11:17AM (#30616187)
It is probably different where you are but what would actually happen is that it would take you at least 3 months to work out they can't do the job (they are probably not terrible just not good enough) by which time you have lost 3 months and perhaps $20K recruiters fee and now have to start the search again.

Of the people I have interviewed in the UK for "Senior .Net Developer", I would say that 75% did not meet the grade and that was with face-to-face interviews that took a lot of my time. An exam isn't perfect but if someone can't answer a reasonable spread of questions to a half-decent degree, then I don't want to hire them and it saves me hours of my time. Sorry.

Re:Senior devs. Is anyone else insulted by coding exams? by nouveaux on Thursday March 10, 2022 @12:03AM (#30623402)
"they are probably not terrible just not good enough"

Odds are, you're getting not good enough because you're using programming puzzles. Instead, why not quiz them on the work that they'll be doing, so you know that they can do it?

Re:Senior devs. Is anyone else insulted by coding exams? by pluc on Wednesday March 09, 2022 @05:45PM (#30620954)
If you need 3 months to figure out whether the person you hired to do something can't do it then it's because you didn't really need that thing done
Re:Senior devs. Is anyone else insulted by coding exams? by nostrebored on Wednesday March 09, 2022 @11:18AM (#30616201)
It’s not the actions of a few when compared to the positive hire result. Typical ratios are 1 in 100 to 400 for an SDE position. If 2% of people lie, in both cases that’s a significant number of people relative to a positive hire event.

Firing people is not as easy as you think in many places. Also, managers are human. Accusing someone of lying and going through the termination process is mentally taxing!

If a simple screen takes twenty minutes of time, it’s rational to do. If people get offended and aren’t empathetic to why you’d do this, would you really want to be on a team with them?

Re:Senior devs. Is anyone else insulted by coding exams? by hash872 on Wednesday March 09, 2022 @11:12AM (#30616109)
Yes but there are regulatory, legal and potential lawsuit issues why just firing people is not like snapping your fingers. It's an exercise with significant friction
Re:Senior devs. Is anyone else insulted by coding exams? by ivan_gammel on Wednesday March 09, 2022 @11:21AM (#30616246)
In which country firing someone on probation would result in any legal issues? I had no problem firing people in Germany where labor laws are quite strict.
Re:Senior devs. Is anyone else insulted by coding exams? by Apocryphon on Wednesday March 09, 2022 @11:40AM (#30616551)
Silicon Valley, the birthplace of this type of interview, is in an at-will state, which makes the regulatory concerns quite puzzling.
Re:Senior devs. Is anyone else insulted by coding exams? by hash872 on Wednesday March 09, 2022 @12:19PM (#30617191)
And they can find an attorney to say that they were discriminated against, or that the company somehow did something improper, etc. As America is (to my knowledge) the only developed country where the losing party does not pay attorney's fees, 'winning' such a case may cost the company mid-five to six figures- or higher! Executives may be subject to invasive depositions, all company communications read by the opposing attorneys, other minor violations of our gigantic unknowable legal code found during this process, etc.
Re:Senior devs. Is anyone else insulted by coding exams? by Apocryphon on Wednesday March 09, 2022 @12:22PM (#30617265)
Where would a person who's looking for a job have the time and the financial resources to embark on a legal wild goose chase in search of a hypothetical payout? What kind of termination of an individual contributor for performance results in dragging in execs? This is a complete snowball effect of a scenario.
Re:Senior devs. Is anyone else insulted by coding exams? by hash872 on Wednesday March 09, 2022 @12:48PM (#30617680)
Litigators frequently work on contingency- so they work for 'free' for the litigant, in exchange for a healthy percentage (a third or higher) of any settlement. This is without including the actual government, where an employee may say that they were discriminated against somehow, and then the relevant government agency investigates everything under the sun looking for violations. For example they could allege that they were not provided their California-required lunch break, so then a nosy, hostile agency launches a huge investigation starting with lunch policies, and including anything else they find.

I agree it's a complete snowball! It's absurd :) And, it's reality- this is how litigation & workplace regulation in America works. For example depositions are so crazy, not only can you be deposed as a party in a lawsuit, you could be deposed for extra information even if you're not the one being sued (i.e. you're in a related industry as someone in a lawsuit, so the court compels you to a deposition just to talk about the industry, what's standard there, etc.)

Re:Senior devs. Is anyone else insulted by coding exams? by xeromal on Wednesday March 09, 2022 @11:14AM (#30616133)
Firing someone is much more expensive than it is to just give someone a shitty coding test and losing out on a few good devs
Re:Senior devs. Is anyone else insulted by coding exams? by ivan_gammel on Wednesday March 09, 2022 @11:17AM (#30616183)
How do you calculate this „much more expensive“? I do not think this is correct estimate.
Re:Senior devs. Is anyone else insulted by coding exams? by xeromal on Wednesday March 09, 2022 @11:25AM (#30616325)
Just a few of the things you have to do when you have a bad hire that you fire (In the US and specifically California)

* Pay off any accrued time off

* COBRA insurance

* Unemployment

* Opening up the hiring pipeline (ads on job boards, recruiter, flights for potential candidates, training for new new employee)

* Potentially pulling other employees to fill the role while hiring again (Overtime and stress to existing employees)

Versus

Sending an email and saying no.

Re:Senior devs. Is anyone else insulted by coding exams? by ivan_gammel on Wednesday March 09, 2022 @01:51PM (#30618512)
> Sending an email and saying no.

This is not that simple. Your hiring process is a funnel with certain conversion rates at wach step. If you overcomplicate it, your hiring timeline extends, increasing time to market for your projects and having some impact on the revenue. If you oversimplify it, risk of bad hire increases, but it may still worth it, if funnel gets much better.

Re:Senior devs. Is anyone else insulted by coding exams? by meepmorp on Wednesday March 09, 2022 @11:47AM (#30616662)
Hiring someone isn't free, if only due to the opportunity cost of filling a role in your business with someone unsuitable.
Re:Senior devs. Is anyone else insulted by coding exams? by nouveaux on Thursday March 10, 2022 @12:05AM (#30623411)
I'd imagine the opportunity cost is offset by filtering out good devs with programming puzzles.
Re:Senior devs. Is anyone else insulted by coding exams? by yellowstuff on Wednesday March 09, 2022 @11:31AM (#30616426)
Consider that recruiters charge around 25% of 1 year of salary for helping to hire a developer, and the person-hour costs of hiring one person can easily exceed the recruiter cost for a small organization.

Firing also requires a fair amount of person-hours to do, and if you fire someone and need to replace them those costs stack.

Re:Senior devs. Is anyone else insulted by coding exams? by ivan_gammel on Wednesday March 09, 2022 @01:42PM (#30618396)
Recruiting costs vary from one country to another. For me 25% is ridiculously high. Even considering cost of doing business, a recruiter would need to close just 5-6 open positions per year to earn as much as an engineer. If they work full time to achieve that, this is extremely inefficient for those money. Besides that, some recruiters actually offer warranty period that will cover thus specific case - you should not pay twice.
Re:Senior devs. Is anyone else insulted by coding exams? by JohnHaugeland on Wednesday March 09, 2022 @11:41AM (#30616566)
> How do you calculate this „much more expensive“?

By having actually done it, and understanding what processes are involved.

.

> I do not think this is correct estimate

It is.

Re:Senior devs. Is anyone else insulted by coding exams? by rr808 on Wednesday March 09, 2022 @11:26AM (#30616340)
> They lie about being able to code.

If someone successfully works shipping code but can't reverse a linked list, does that mean they're lying about being able to code? I've seen way to many jobs that test for expert level skills for a job that is just to add small enhancements.

Re:Senior devs. Is anyone else insulted by coding exams? by seba_dos1 on Wednesday March 09, 2022 @11:59AM (#30616851)
> If someone successfully works shipping code but can't reverse a linked list, does that mean they're lying about being able to code?

On a whiteboard? Probably not.

In front of a computer, with a compiler and manpages handy, being able to test and debug it right away? Absolutely, yes.

Re:Senior devs. Is anyone else insulted by coding exams? by mooreds on Wednesday March 09, 2022 @11:33AM (#30616445)
> If someone successfully works shipping code but can't reverse a linked list, does that mean they're lying about being able to code?

No, I think it means they didn't prepare. But, short of examining git commits, how can you know that someone successfully "shipped code"? References, maybe (though that is harder for folks who may have fewer references from past jobs). If it is open source, sure. But how else?

> I've seen way to many jobs that test for expert level skills for a job that is just to add small enhancements.

Yes, I agree! That is a bigger issue, where the job desc/interview are disjoint from the actual work. That's a red flag. It's hard, as a hiring manager, though, to keep the job desc real. I find that I sometimes throw wish list items in ("knows <tech> at an intermediate level") because the alternative ("can learn <tech>") is so hard to test for. But as a candidate I find it extremely aggravating.

I don't know how to square that circle. If you figure it out, please let me know.

My favorite kind of interview (on both sides of the table) is where I can do the work that is typical, using the resources that would be available on the job.

Re:Senior devs. Is anyone else insulted by coding exams? by ThrowawayR2 on Wednesday March 09, 2022 @11:31AM (#30616425)
> "If someone successfully works shipping code but can't reverse a linked list, does that mean they're lying about being able to code?"

Obviously yes? That's a basic assignment for a data structure class given to freshmen and sophomores. One would expect that a "senior" developer (degreed or self-taught) would be better than a college sophomore. At the FAANG level, it would be a phone screen question and a softball one at that.

Re:Senior devs. Is anyone else insulted by coding exams? by hajile on Wednesday March 09, 2022 @11:45AM (#30616638)
Do you remember all the time in college where your professor explained the intricacies of cache hits, access latencies, and branch prediction when going over algorithms?

As it turns out, designing a fast algorithm involves a lot more than what is covered in the textbooks. This is why something like Timsort can generally outperform quicksort even though a naive algorithms course overview may well come to the opposite conclusion.

If my job is not to design these algorithms, why does it matter if I can write a naive implementation of one?

Re:Senior devs. Is anyone else insulted by coding exams? by ThrowawayR2 on Wednesday March 09, 2022 @11:52AM (#30616736)
Kind of a coincidence that you should bring that up since several jobs I've been at involved stints analyzing performance and identifying bottlenecks in existing code and it is, unfortunately, rather easy to glue together even well designed libraries in ways that result in a slow, inefficient result. Developers simply cannot get away with not knowing how their tools and libraries work under the hood.
Re:Senior devs. Is anyone else insulted by coding exams? by hajile on Wednesday March 09, 2022 @11:59AM (#30616852)
Choosing the correct algorithm is a different question from implementing the correct algorithm.
Re:Senior devs. Is anyone else insulted by coding exams? by Apocryphon on Wednesday March 09, 2022 @11:58AM (#30616824)
Sounds like the state of CS education should be improved to fill in those gaps of knowledge.
Re:Senior devs. Is anyone else insulted by coding exams? by kragen on Thursday March 10, 2022 @02:08AM (#30623937)
It matters because "algorithm" is just another word for "program". The question is whether you can think up a way to make the computer do what you want it to do at all at the level after FizzBuzz, even when it's something like reversing a linked list that can be done in two lines of code (see https://news.ycombinator.com/item?id=30616573, or seven in C), even when it doesn't need to be fast.

I mean, it's true that there's a lot of code that really is at the FizzBuzz level:

    switch (c) {
    case 'h': case 'D': menu.left(); break;
    case 'j': case 'B': menu.down(); break;
    case 'k': case 'A': menu.up(); break;
    case 'l': case 'C': menu.right(); break;
    default: /* no op */ break;
    }

    def find(self, name):
        for thing in self.contents:
            if thing.is_a(name):
                return thing

    vaders.hits(bullets, (vader, bullet) => {
        blam(vader, 2.5)
        score += vader.bounty
        vader.die()
        bullet.die()
    })

    if (vaders.where(({y}) => y > 400).count()) startGame(120)
    if (!vaders.count()) startLevel()
And I think you should write as much of your code as possible in such a painfully obvious way. Every once in a while, though, you do need to write something that can't be written quite that simply. Often, the reason why is something in your problem domain:

    async def take_token(self):
        self.update()
        while not self.tokens:
            await asyncio.sleep(self.recharge / 10)
            self.update()
        self.tokens -= 1

    // Animate explosions.
    poof.move()
    poof.each(p => {if (--p.ttl < 0) p.die()})
    // Chain-reaction explosions.
    poof.about_every(64).each(p => {
        if (poof.count() < 1024) blam(p, p.w/12)
    })
    // Limit number of explosion objects to guarantee responsivity
    if (poof.count() > 1024) poof.about_every(2).die()
You need to be able to reason through what your code will do once you've written it, and you need to be able to come up with possible ways to write it that might work. Often the code you need for your problem domain isn't already in the standard library, so you have to write it. If it's on npm, you have to be able to read it to see whether it might work.

Reversing a linked list is just about the simplest task that requires that kind of reasoning, and it has the advantage (or disadvantage) that understanding the puzzle doesn't require, or benefit from, any problem-domain knowledge. You could substitute binary search or insertion sort or something. Another example I got, which takes a few more lines of code, was "implement an integer stack ADT which can always tell you the maximum number on the stack in constant time".

Re:Senior devs. Is anyone else insulted by coding exams? by mooreds on Wednesday March 09, 2022 @11:35AM (#30616481)
I've held several senior developer positions and I'd have to study up on how to reverse a linked list. (Other than the obvious answer: "use a library/built-in function to do it", which would probably would not be a satisfactory answer.)

I think the problem is that there are over a dozen different kinds of "seniority" but we collapse them all into one term. I got so frustrated I wrote a blog post about it: https://www.mooreds.com/wordpress/archives/2812

Re:Senior devs. Is anyone else insulted by coding exams? by kragen on Wednesday March 09, 2022 @11:41AM (#30616573)
It might depend on what the measure of "senior developer" is. There are junior-developer positions where nobody could perform adequately without being comfortable manipulate linked data structures (Linux kernel development, maybe, or working on a garbage collector or JIT compiler or the Postgres query optimizer) but senior developers on those teams probably don't know a tenth of what you know about SQL.

Also there are ancillary skills that make the problem much less difficult, so if you can't solve it, you don't have them. Joel Spolsky famously said that nobody can reverse a linked list without drawing diagrams on paper, and that's probably true if you're doing it imperatively in C. But it's in the category of "problems that become much simpler with functional styles of programming." The following took me 5 minutes, most of which was struggling with the syntax of OCaml that I'd forgotten:

    $ ocaml
            OCaml version 4.08.1

    # type 'a list = Cons of ('a * 'a list) | Nil;;
    type 'a list = Cons of ('a * 'a list) | Nil
    # Cons(3, Cons(41, Nil));;
    - : int list = Cons (3, Cons (41, Nil))
    # let reverse lst = let rec rev xs ys = match xs with Nil -> ys | Cons(x, xs') -> rev xs' (Cons(x, ys)) in rev lst Nil ;;
    val reverse : 'a list -> 'a list = <fun>
    # reverse(Cons(3, Cons(41, Nil)));;
    - : int list = Cons (41, Cons (3, Nil))
The full session with all my dumb errors:

    $ ocaml
            OCaml version 4.08.1

    # type 'a list = Cons of ('a * 'a list) | Nil;;
    type 'a list = Cons of ('a * 'a list) | Nil
    # Cons 3 (Cons 41 Nil) ;;
    Error: Syntax error
    # Cons(3, Cons(41, Nil));;
    - : int list = Cons (3, Cons (41, Nil))
    # let reverse lst = let rec rev xs ys = match xs with Nil -> ys | Cons(x, xs') -> rev xs' Cons(x, ys) ;;
    Error: Syntax error
    # let reverse lst = let rec rev xs ys = match xs with Nil -> ys | Cons(x, xs') -> rev xs' Cons(x, ys) in rev lst Nil ;;
    Error: The constructor Cons expects 1 argument(s),
           but is applied here to 0 argument(s)
    # let reverse lst = let rec rev xs ys = match xs with Nil -> ys | Cons(x, xs') -> rev xs' (Cons(x, ys)) in rev lst Nil ;;
    val reverse : 'a list -> 'a list = <fun>
    # reverse Cons(3, Cons(41, Nil));;
    Error: This function has type 'a list -> 'a list
           It is applied to too many arguments; maybe you forgot a `;'.
    # reverse(Cons(3, Cons(41, Nil)));;
    - : int list = Cons (41, Cons (3, Nil))
    #
(These error messages look appalling, but the OCaml interpreter was underlining my errors, which of course didn't paste.)

Similarly, there are problems that become much easier with other paradigms of programming, such as backtracking search.

Re:Senior devs. Is anyone else insulted by coding exams? by rr808 on Wednesday March 09, 2022 @11:36AM (#30616492)
Honestly I dont know the answer for this, its a trick you never need in the real world, but maybe it does test if you did compsci 101. I failed this as a Senior dev inverviewee, went back and learnt it so was preprared for the next time. It didn't make me a better programmer but now shows I've learned the basic tricks.
Re:Senior devs. Is anyone else insulted by coding exams? by sasquatch_9 on Wednesday March 09, 2022 @12:37PM (#30617528)
What is the trick in reversing a linked list? The solution is just some while loops...

Anyways it is a bad question to ask because it is very easy and is frequently studied so candidates just memorise the answer.

Re:Senior devs. Is anyone else insulted by coding exams? by rr808 on Wednesday March 09, 2022 @01:59PM (#30618596)
One while loop. Maybe you need to memorize again :).
Re:Senior devs. Is anyone else insulted by coding exams? by seba_dos1 on Wednesday March 09, 2022 @05:20PM (#30620733)
There's no need to memorize anything at all; if you can code you can come up with a solution on your own within at most minutes.
Re:Senior devs. Is anyone else insulted by coding exams? by sasquatch_9 on Wednesday March 09, 2022 @05:22PM (#30620762)
I do not need to memorize it that was the point I was making, as it is so simple I can and have worked it out on the spot.
Re:Senior devs. Is anyone else insulted by coding exams? by amusedcyclist on Wednesday March 09, 2022 @11:53AM (#30616757)
Reversing a linked list is pretty straightforward. This is going to be unpopular, but i wouldn't hire someone who can't write a program to do that.
Re:Senior devs. Is anyone else insulted by coding exams? by sasquatch_9 on Wednesday March 09, 2022 @12:45PM (#30617642)
Agreed, it is concerning 'senior' engineers are saying they can't do it.
Re:Senior devs. Is anyone else insulted by coding exams? by amusedcyclist on Wednesday March 09, 2022 @01:11PM (#30617969)
This is why I'm convinced titles means nothing unless you're talking specific levels at a well established company. Often super duper Staff+ engineers or CTOs at no name startups often have 0 idea what they're doing
Re:Senior devs. Is anyone else insulted by coding exams? by et-al on Wednesday March 09, 2022 @11:41AM (#30616561)
Then problem is in the questions being asking for the technical interviews.

I agree Leetcode questions are generally not a good signal because they're often removed from everyday problems one may encounter. Though they may be fun to do. If I could get a job just solving Leetcode problems, I might chose it over refactoring messy codebases or joining disparate APIs.

Re:Senior devs. Is anyone else insulted by coding exams? by ripper1138 on Wednesday March 09, 2022 @11:21AM (#30616242)
If someone says they are a senior dev, why can’t the HM just contact a few references to confirm? Surely that’s a better signal than a 60 minute coding test. I hate how dev hiring has thrown out references as a tool.
Re:Senior devs. Is anyone else insulted by coding exams? by kragen on Wednesday March 09, 2022 @11:37AM (#30616501)
I'm much, much more willing to do a 15-minute programming test, or even a 60-minute one, than to give a potentially malicious company access to my network. References are for the last stages of the hiring process, once I know I can more or less trust the company.

And from my limited experience on the hiring side, while a trusted referral is worth much more than a programming test, a good report from a potentially adversarially chosen reference is worth much, much less. It's much easier for an unscrupulous person to find a friend who's willing to inflate their achievements on the phone than to provide on-the-spot solutions to programming problems they lack the skill to solve themselves.

Re:Senior devs. Is anyone else insulted by coding exams? by mtberatwork on Wednesday March 09, 2022 @11:53AM (#30616755)
> It's much easier for an unscrupulous person to find a friend who's willing to inflate their achievements on the phone than to provide on-the-spot solutions to programming problems they lack the skill to solve themselves.

A good hiring manager will be able to sniff that out rather quickly. Following up on references doesn't mean calling it a day after one random phone call either.

Re:Senior devs. Is anyone else insulted by coding exams? by kragen on Wednesday March 09, 2022 @12:04PM (#30616937)
How do you sniff it out?
Re:Senior devs. Is anyone else insulted by coding exams? by kozd on Wednesday March 09, 2022 @12:33PM (#30617474)
Obviously you give the reference a coding test
Re:Senior devs. Is anyone else insulted by coding exams? by mtberatwork on Wednesday March 09, 2022 @01:35PM (#30618288)
Ha! But in all fairness, multiple references, with references coming from verified previous employers. A quick phone call to the candidates prior employers to verify employment/listed reference will flush things out quickly. Also, most people are terrible liars when pressed ... even on the phone. It does require effort by the hiring manager though.
Re:Senior devs. Is anyone else insulted by coding exams? by sasquatch_9 on Wednesday March 09, 2022 @12:52PM (#30617731)
There are plenty of companies at which the senior engineering talent would very easily be outperformed by new graduates at FAANG. So calling their references to ask what their title was does nothing to verify their technical abilities.

Source: I am FAANG ATM and the new grads I work with outperform 10+ year tenured engineers at other companies I have worked at.

Re:Senior devs. Is anyone else insulted by coding exams? by ripper1138 on Wednesday March 09, 2022 @01:54PM (#30618551)
I assume a competent HM would dig deeper than that with a reference. It’s not perfect, neither is an online coding exam. It’s a tool that should be used in the process, that’s all I’m saying.
Re:Senior devs. Is anyone else insulted by coding exams? by philote on Wednesday March 09, 2022 @11:42AM (#30616577)
I was thinking about this recently and realized I haven't had to give references or have worked at a place that asked for them when hiring in at least a decade. I guess that practice is pretty much gone these days.
Re:Senior devs. Is anyone else insulted by coding exams? by ripper1138 on Wednesday March 09, 2022 @01:56PM (#30618573)
Same. But ‘references’ from coworkers are still a key factor in promotions at big tech companies. Go figure.
Re:Senior devs. Is anyone else insulted by coding exams? by mtberatwork on Wednesday March 09, 2022 @11:48AM (#30616678)
> Surely that’s a better signal than a 60 minute coding test.

It is! Where I work we have a min of three references required for non-entry level jobs and it reveals quite a bit at higher levels. It does require more effort on the part of the hiring manager though and I suspect most would rather punt it off to a test than do the due diligence when it comes down to it.

Re:Senior devs. Is anyone else insulted by coding exams? by moonchrome on Wednesday March 09, 2022 @11:24AM (#30616305)
I suspect references are far worse at filtering out people than tests.
Re:Senior devs. Is anyone else insulted by coding exams? by ripper1138 on Wednesday March 09, 2022 @11:32AM (#30616428)
For candidates with 1-3 yrs experience, probably. OP said they have 20 years experience. For senior candidates (10+ yrs) surely references would confirm that and provide more info than a test.
Re:Senior devs. Is anyone else insulted by coding exams? by dtagames on Wednesday March 09, 2022 @01:34PM (#30618284)
OP here. More shocking to me is that I have quite a bit of published code that these folks can inspect, and running apps they can run -- in the languages and technologies they're interested in. Yet no one asks me about reviewing any of that.
Re:Senior devs. Is anyone else insulted by coding exams? by erik_seaberg on Wednesday March 09, 2022 @05:07PM (#30620620)
Self-published repos are mutable. It tells us what you think good code looks like, but not how many iterations it took or how much help you had.
Re:Senior devs. Is anyone else insulted by coding exams? by dtagames on Friday March 11, 2022 @10:05AM (#30640761)
The best code is code that is iterated and looked at by more than one set of eyes. I wish all my code had been mutated to its ideal form!
Re:Senior devs. Is anyone else insulted by coding exams? by erik_seaberg on Saturday March 12, 2022 @07:57PM (#30656775)
Sure, but we need to evaluate you apart from everyone else who may have worked on it.
Re:Senior devs. Is anyone else insulted by coding exams? by Spivak on Wednesday March 09, 2022 @11:05AM (#30615974)
At $OLDJOB we didn't use the leetcode or whiteboard coding but we did give candidates a dead simple homework assignment (I come from infra) like "stand up a webserver with a load balancer" or "stand up a queue system with a producer and a consumer" with their preferred infra as code stack thinking we were giving candidates the chance to show off a bit but good gods the stuff we got back from people who claimed to be mid/senior were scary bad.
Re:Senior devs. Is anyone else insulted by coding exams? by noasaservice on Wednesday March 09, 2022 @11:17AM (#30616179)
Homework, you say?

I've walked out on interviews that demanded this sort of homework before. I told them 'professionally' that their idea of demanding 4h of my time after 3 rounds was farcical and insulting.

Ditch the homework completely, or tell about the homework up front. Compensate - I don't work for free. And if you want a fair assessment, put me in contact with 1 of your engineers or devs and lets talk out a problem. Or review my body of work in that thing called a "resume".

If you have multiple bad hires that lied about skills they didn't have, then perhaps you ought to reconsider who is doing the hiring decisions. That's been a big one in previous orgs I've worked in. The hiring group was static, upper managerial level, and didn't understand the problem domains of the positions they were hiring for.

Re:Senior devs. Is anyone else insulted by coding exams? by Spivak on Wednesday March 09, 2022 @12:02PM (#30616908)
There's a lot of assumptions in this post.

1. We tell candidates about the homework during the phone screen which is about 20 minutes, if they want to duck after that no time wasted. No one ever has.

2. We don't compensate for it since it's the 3rd interview. The idea that I can take 4 hours of your time for a half-day whiteboard interview but not a "do a simple task that should take 30 minutes at your leisure" is weird. We've never had anyone have an issue with it because we have the one of the least intensive interview processes in the area.

3. People lie or vastly overestimate their skills on the resume, surprise. If you submit code samples or your Github is good enough then we skip the homework. Designers/artists have it right with the "portfolio" -- resumes are very nearly worthless. We don't demand code samples or FOSS projects because we don't want to assume people code after hours and obviously can't share code they wrote at work but in that case we need an alternative.

3. You are interviewed by the team you would be working with. There is no hiring group. You have contact with all the engineers. You can even talk over the assignment with the team at the end of the second interview.

Re:Senior devs. Is anyone else insulted by coding exams? by gyulai on Wednesday March 09, 2022 @01:59PM (#30618595)
> The idea that I can take 4 hours of your time for a half-day whiteboard interview but not a "do a simple task that should take 30 minutes at your leisure" is weird.

It's really not that weird at all. If you give me 4 hours of face-to-face time 1:1 with one of your engineers, I have a guarantee that you value my time as highly as you value your engineers'.

If you give me 30 mins of "homework", I have no guarantee at all, that you don't have 100 other candidates in this stage of the interview process, and one of your engineers is going to dismiss my application after 5 mins of looking at what I've produced and give me no chance of responding to any judgment they are making that I disagree with. For example I once got "I don't like the fact that you use semicolons in Python where they're optional". If someone thinks that's a valid reason not to hire me, I want the right to face my accuser.

Re:Senior devs. Is anyone else insulted by coding exams? by Spivak on Wednesday March 09, 2022 @02:41PM (#30619044)
Damn, this reads like someone who's been hurt before. I can assure you we don't give two shits about style or picky shit like that. Hell we're not even really reviewing it beyond, "okay cool they can actually write some code" and if they choose to show off then great!
Re:Senior devs. Is anyone else insulted by coding exams? by noasaservice on Thursday March 10, 2022 @03:00PM (#30631684)
Considering none of us know you, where you work, or anything; you're taking these commentaries about hiring policies very personally.

Many of us have been through terrible hiring practices. And we're sharing them here. And when you give examples or critiques, we're critiquing them right back.

I've been around the block. I've done lots of interviews in tech. So have others here (naturally!). I've noped out of many for huge semaphore-sized red flags.

But the point stands - I'm not going to do "homework" without getting paid for it. I would much rather a sit-down with a fellow engineer and talk out problems. That shows the company is also willing to put time in as well.

Re:Senior devs. Is anyone else insulted by coding exams? by gyulai on Wednesday March 09, 2022 @01:54PM (#30618548)
> resumes are very nearly worthless

Sorry for being incendiary, but this hits me as a recent trend that is nothing short of insane. I went to a top-ranked university on the highest-paid scholarship I was eligible for, got a Ph. D. there, then got the job that all my peers wanted but only a handful actually got. Then I booked 10 years of industry experience. -- You wouldn't believe the life sacrifices I've made to be able to have all of that on my resume. If someone tells me that's all "worthless" and they'd rather ask some stupid puzzle questions and see some indication of how passionate I am about working for some no-name company, or whatever the latest hype is, then that's simply where the interview ends for me.

Re:Senior devs. Is anyone else insulted by coding exams? by TheCoelacanth on Wednesday March 09, 2022 @02:10PM (#30618706)
It's "nearly" instead of "completely" because of cases like yours where there are verifiable facts that signal the candidate's capabilities.

A typical resume has none of that and is more like:

. BS from some un-ranked university

. 2 years at some company you've never heard of

.. Did things you have no way of verifying

. 2 years at another company you've never heard of

.. Did more things you have no way of verifying

Re:Senior devs. Is anyone else insulted by coding exams? by Spivak on Wednesday March 09, 2022 @02:34PM (#30618977)
You nailed it! I could copy/paste this over top every tech resume I get and it would be equally as valuable.
Re:Senior devs. Is anyone else insulted by coding exams? by visarga on Friday March 11, 2022 @06:46AM (#30638737)
Your PhD is only useful if you go for a job in your specific sub-field. If you have a PhD in physics it doesn't mean you can code your way out of a hat. In fact scientist types have very poor coding practices on average.

I once had an interview with a scientist turned to industry who couldn't demonstrate how to load a text file after 30 minutes of trying. I mean, what should I have done with him? The position required lots of algorithms and data processing.

Re:Senior devs. Is anyone else insulted by coding exams? by gyulai on Friday March 11, 2022 @07:03AM (#30638842)
That's a prejudice that you're supporting with anecdata. Saying "PhDs make bad programmers" is not any different in that regard from saying "women make bad programmers". But at least you're agreeing with me that resumes are not worthless ;-) ...as, apparently, you find them useful for screening out people with PhDs who therefore make bad programmers.

The fact is that there is such a thing as an "impressive resume". There seem to be people out there eager to dismiss the value of those. Frequently an explanation will be that they themselves don't have one and are engaging in cognitive dissonance reduction. In fact, one can say more generally that psychological forces will act powerfully in such a way as to make hiring managers want to hire people who are just like them, even when they themselves are worse than the best candidates they could hire.

That's the reason why having an analytically well-reflected hiring process, instead of just hiring who you like, is important, and resumes have an important role to play in that.

Re:Senior devs. Is anyone else insulted by coding exams? by tuckerpo on Wednesday March 09, 2022 @01:53PM (#30618539)
> Here, do this work for free during your own time for a _chance_ at Yet Another Interview Round

Nah, I'm all set.

Re:Senior devs. Is anyone else insulted by coding exams? by Spivak on Wednesday March 09, 2022 @02:41PM (#30619053)
You have basically articulated why it's the last thing.
Re:Senior devs. Is anyone else insulted by coding exams? by visarga on Friday March 11, 2022 @06:42AM (#30638707)
> I've walked out on interviews that demanded this sort of homework before. I told them 'professionally' that their idea of demanding 4h of my time after 3 rounds was farcical and insulting.

Haven't you read the parent post? Most people who claimed to be senior were "scary bad". In my interviewing experience it was the same - one qualified candidate in 10.

Re:Senior devs. Is anyone else insulted by coding exams? by cryptonector on Wednesday March 09, 2022 @12:01PM (#30616875)
When there is open source code the candidate supposedly wrote, you could go through it with them, having them explain things, but you'd have to make sure it's not something they could have studied up if they're lying.
Re:Senior devs. Is anyone else insulted by coding exams? by napolux on Wednesday March 09, 2022 @11:10AM (#30616060)
In Italy we have trial periods and nobody really uses them.
Re:Senior devs. Is anyone else insulted by coding exams? by lbriner on Wednesday March 09, 2022 @11:20AM (#30616223)
Trial periods are pretty common in Europe, we call it "probation" in the UK but it is hard to objectively decide if someone is up to the job. If they are terrible or brilliant, it's not a problem but in the middle, I don't want to pay some new person £20K more than another dev just because they asked for it and aren't bad enough to be fired.

Until there is something quite objective about measuring performance against some kind of qualifications, then it is in danger of being more to do with personality than genuine value.