Live data from Hacker News

I don’t have time for coding challenges

css-irl.info

111–120 of 243 posts

Re: I don’t have time for coding challenges

#111
post #27

Earlier quoted context omitted.

In San Francisco, there's plenty of tech talent available at 500k a year. There's remarkably little available at minimum wage, though. Complaining to congress that there is a shortage of IT talent is so common in American politics that it has become its own unique form of performance art. For instance, during the magic section of the act, companies make a labor shortage magically appear without any mention of wages,…

“Shortage” is an economic term of art, so I won’t use it here. But it’s likely true that there is lot of valuable, economic-growth-producing work that could be profitable if a software engineer costs $100k/year instead of $500k/year. Businesses that lie on the margin of profitability are likely to feel that it’s hard to find good talent. Of course, it’s bad for us existing software engineers if the supply increases a…

You just said that there's lots of valuable work that could be done, but your example of work that could be done is work isn't valuable enough to do unless software engineers get paid (in the SF Bay Area) notably less than a dental hygienist.

I like having clean teeth. If someone can make more as a dental hygienist, why on earth would it be valuable to society if they instead worked as a software engineer for less money?

If people won't work for 100k/yr as a software engineer, that means people capable of doing this work have found higher value things to do elsewhere. The higher salary elsewhere reflects the higher value produced doing something else.

This is one of many reasons why I'm so bewildered when people talk about a "shortage" of software engineers without considering the options available in other fields (fields that, perhaps, pay better and don't require taking bizarro whiteboard exams every time you change jobs).

Re: I don’t have time for coding challenges

#112
post #106

What I love (sarcasm) is companies that just need basic line of business apps, but want you to complete a coding challenge navigating graphs and trees in constant, nlogn time, etc. I find it hilarious and often ask, "Can you explain to me how solving this challenge applies to what you do day to day?" They say.... "That's a really good question..." Then I watch them squirm as they have no idea how to explain a real wo…

how about "we found a strong correlation between who can complete coding challenge do well on the job. We understand that correlation doesny imply causation; but we and the majority of the industry havent found anything better yet. We also understand that we are potentially missing out on good candidates who dont generally fare well in coding challenge; but thats a trade off we are ok with"

Re: I don’t have time for coding challenges

#113
I've been through so many puzzle dungeons that I immediately just exit a process if it involves another technical interview. I've done technical interviews with FAANG and the like and those processes actually tend to be much nicer at more mature companies because they're actually well designed problems with people who actually understand their significance. You at least get to ask questions and not just get told to jump through the hoop like a dolphin. For the rest, you end up with interviewers who google some esoteric Python problem they think is particularly clever.

I'll stop here to state that I think any adherence to being overtly clever is my first and only red flag.

It's so pathetically obvious because the number of times I've done the exact same problem for multiple companies because it happens to be the 2nd or 3rd search result.

I once had someone disqualify my answer for using a DFA because it wasn't "real code".

To be honest, I think the technical interview actually IS important, and I've had numerous experiences enjoying it if only to showcase a lot of the more necessarily toxic behaviors of a company up front. Let's be honest with ourselves, is any employer going to necessarily have the best practices with respecting your time, money and effort? It's best to lay out those cards up front. Literally every red flag will demonstrate itself through the interviewer in most scenarios. Like any test, you get out of it what you give.

For example:

How many times do I feel this?

"We take an extra time-slot / day / email chain in what is already a hypercompetitive market just to suss you out. We wait until the last stage of the interview process to do this because we still don't totally trust you or understand anything you've done. We waste a lot of time creating elaborate puzzles that don't really matter. We're not going to pay you because our finances are already horribly mismanaged that it's complicated to contract you out for the day and also we feel like you should be gladly externalizing your labor costs for our shiny position if you really love us. Drink the kool-aid."

Sometimes the technical interview surprises me. I always use it as a motivating example of myself as a candidates to work through a problem, show grit and also demonstrate when to ask for help. Ego and pride on both sides of the equation come into play and that's always a worthwhile exercise before engaging it any longterm commitment. A good test accommodates and informs through failure. I learned this from administering the Putnam. Never got a decent score on it, but it was a worthwhile experience to fail. Interview tests are on the other hand, are not designed to teach anything except that you are unworthy.

My best roles have never asked for it. The company knew what they were looking for, were willing to trust me, were able to move along the interview process without losing me to a competitor and everyone was happy and they always pay competitively. Usually if there's a technical interview involved at all, they have no idea what I can actually do. If they're willing to waste time, effort and money on extra steps and are taking "necessary precautions" to subject you to what are essentially just litmus tests, then I'm sorry, that speaks to me a sense of your culture of mediocrity and dogmatic orthodoxy towards process.

Goodhart's law. When a measure becomes a target, it stops being a good measure. When I was in school, we had other students take a year off to study for the Google interview. These were all affluent white men. At the same time, I had recruiters complaining to me that there were no decent black/brown candidates in the pipeline. I remember hearing the same thing except as a child. Uhhh, there's been plenty of time to invest into the local community. Recruiters would do well do understand to the history of the SAT as systemic racism, or literacy tests as systemic racism, or like any actual statistics as systemic racism. Everything that reduces candidates to numbers and quizzes feels rife for abuse. Who has the privilege to study an extra game on top of performing in a society that is already stacked against them? That's not a question.

To wit, there's the issue with a large number of candidates with junk resumes. There's the outstanding issue of "authenticity" in professional acumen. There's the whole problem with the industries underlying predatory behavior with regards to labor externalization and laundering numerical metrics, be it the rate of inclusion and diversity or the amount of hours actually demanded by management. What is so fundamentally wrong with the technical interview is that it's just the cherry on top for what is already a miserable process. I'd so much rather just do free work for a potential client and just give it to them so it actually means something and is useful than waste any more time solving pointless puzzles, and this is from someone who specifically enjoyed studying hard pointless puzzles in school.

No, you can't just show side projects. You should not be showing your work portfolio to anyone who isn't paying you. If they were interested in open source, they'd already be paying you.

The technical interview is dead. Long live the technical interview.

Re: I don’t have time for coding challenges

#114
> Have a probationary period

As someone who's done a lot of interviews, my rule is that letting someone go during their probationary period is an absolute last resort. It'll never be used as an excuse to take risks during the interview stage - except in extreme situations, everything should be decided up front.

This is purely for the benefit of the candidate. Many people quit their old jobs only after they've received an offer for a new one. Some even have to uproot their lives (and that of their families) and relocate. Firing someone during their probationary period for a preventable reason seems negligent. I'd rather put them under a bit more stress up front during the interview.

Re: I don’t have time for coding challenges

#115
post #50

> "I’m writing this as an interviewee, having never been on the other side of the interview table ..." > ... > "Most candidates will have side-projects or work they’ve done for previous employers." As someone who has actually done a lot of interviewing, I can say with great confidence that this is simply wrong. At my current employer, we have a "homework assignment" as part of the interview process. We tell candidate…

We use a coding challenge as well but I like your addition of "auditing" the coding part and using existing open source or side project work. Bonus points if it uses some of the target technologies too! The author doesn't appear to understand the economics of the hiring company; it's about time & effort to filter and the cost of making a bad hire. I cannot give every application 1-2 hours of review if I get 100+ resu…

> I cannot give every application 1-2 hours of review if I get 100+ resumes.

This is perhaps the biggest misconception of hiring, that out of some misguided notion of "fairness" or "objectivity" you have to treat every candidate exactly the same. In theory it seems like a good principle, but the road to hell is paved in good intentions. In practice, this results in arbitrarily designed standard tests which are only superficially fair, and systematically weed out people who aren't good at test taking or auditions.

Go through all the resumes quickly, pick out the top candidates, and start from the top! Focus most of your time on researching your few top candidates, and if one of them seems good, then hire them, and end your hiring process. You may only have to interview 1, 2, maybe 3 people at most. This saves everyone time: your own time, and the time of the 100+ people who would otherwise be interviewed and rejected, because there's only 1 job opening.

Obviously if you interview your top candidates, and you find them lacking, then keep working your way down the stack. But going through the entire stack of candidates is a huge waste of time, a pointless exercise, totally counterproductive.

Don't do "screening" interviews. Only do "hiring" interviews.

Re: I don’t have time for coding challenges

#116
I interviewed somewhere that offered 3 options for the technical part of the interview. The options were a take home assignment, whiteboarding, and walking the interviewer through a non-proprietary project. I thought that was a great way to make the interview process more fair.

Re: I don’t have time for coding challenges

#117
post #100
post #94

You're complaining that, to get a job, you have to demonstrate your ability to do the job, in a standardized way so the employer can compare you to other candidates with the merest hint of objectivity. For a little (imperfect) contrast, here's a quote from an article about auditioning for the Baltimore Symphony: > In the audition I took in October of 2014 for the Baltimore Symphony, I began preparing the required aud…

> so the employer can compare And why do we think this is objective? Ostensibly, the first one to clear some threshold of competence ought to be good enough to be hired (in fact there's even extensively studied algorithms[1] for this stuff). In the vast majority of cases, it's highly unlikely that you're going to find an underpriced genius via some misguided notion of test standardization. [1] https://en.wikipedia.or…

Big companies aren't looking for underpriced geniuses. Standardized hiring is like index funds, many argue they can get better results by hand picking stocks but index funds still tend to outperform managed investing unless you are really really good at it. In a big company the people doing the hiring will be mediocre at it, so you need a process they wont screw up.

Re: I don’t have time for coding challenges

#118

> Have a probationary period As someone who's done a lot of interviews, my rule is that letting someone go during their probationary period is an absolute last resort. It'll never be used as an excuse to take risks during the interview stage - except in extreme situations, everything should be decided up front. This is purely for the benefit of the candidate. Many people quit their old jobs only after they've receive…

Why not just ask the candidate if they're willing to do a probationary period rather than deciding for them?

Re: I don’t have time for coding challenges

#119

I interviewed somewhere that offered 3 options for the technical part of the interview. The options were a take home assignment, whiteboarding, and walking the interviewer through a non-proprietary project. I thought that was a great way to make the interview process more fair.

[deleted]

Re: I don’t have time for coding challenges

#120
post #94

You're complaining that, to get a job, you have to demonstrate your ability to do the job, in a standardized way so the employer can compare you to other candidates with the merest hint of objectivity. For a little (imperfect) contrast, here's a quote from an article about auditioning for the Baltimore Symphony: > In the audition I took in October of 2014 for the Baltimore Symphony, I began preparing the required aud…

> with the merest hint of objectivity

That's all it is. Superficial objectivity.

Auditions are not a good analogy. Programmers are not stage performers. We're usually sitting alone in front of a keyboard. That's where we do our best work. Not with others standing over our shoulders, holding our entire fate in their hands, ready to kick us out the door if they're displeased in any way in the moment.

Post reply on HN