Live data from Hacker News

I don’t have time for coding challenges

css-irl.info

41–50 of 243 posts

Re: I don’t have time for coding challenges

#41

Then, don't. I want to move from my 2000 USD a month (this is a good salary already) in a 3rd world country to a FAANG that pays 20k USD per month. I'm willing to go through any challenge because the reward is superb for me. Not to mention, without objective interview questions, an introverted non-native English speaker (who doesn't speak latin-germanic-based language) like me would fail most of these subjective ques…

I don't know of any software company that would hire an introverted person who can't articulate themselves for 20k a month. This is how micro-service architected fully optimized solutions that solve the wrong problem happen. Do you really think the high value of a developer just comes from being able to pass coding challenges when there's millions of them out there?

Re: I don’t have time for coding challenges

#43
As someone who has been programming for 40 years and had a decently successful career but is struggling with these challenges now, I can empathize.

It's not so much what the challenge is -- it's how one is asked to accomplish it.

Sitting in front of my laptop for 6 hours while people ask me random programming tasks while they watch me on camera and see every keystroke on screen while I'm editing is not how I work. I work by choosing from active tasks that fit the "space" I'm in, by multi-tasking, etc. - if I get stuck on something in the "real world" I'll go work on something else that needs to get done, etc. You'd be amazed at how many interviewers simply refuse to ask you another question in lieu of or even in addition to the one the first wanted to ask, for example.

Re: I don’t have time for coding challenges

#44
Yea, it's meant to be a waste of your time.

More accurately, if you need to learn new things to complete it - it will be very time consuming.

Someone experienced, or that uses relevant tech/skills on a daily basis should complete it in less than the time allotted.

Therefore "homework" coding challenges are useful for discerning if a candidate has relevant, current experience.

See the article on college professor solving a 30+ of CS problems in one day.

Whiteboard challenges, on the other hand, evaluate a candidates thinking process & presentation skills.

Whiteboard challenges

Re: I don’t have time for coding challenges

#45
post #6

The proposed solution to me, is much worse. > Ask them to build something – anything! > Instead of a coding challenge, ask them to spend a short time building something they enjoy, and talk about what they did and why. To me this would be a MUCH more difficult task. A blank canvas is much harder to work with, and downright frightening. Constraints foster creativity. Having everyone code the same thing helps the inter…

The difference is the interviewer is being paid for their time, the interviewee is not.

That's a problem with the company. We at @cdr pay interviewee's $200 for their take home challenges.

Re: I don’t have time for coding challenges

#46
I require them because candidates lie, not always intentionally.

The unfortunate reality is that it can be really tough to fire low-performers. I NEED to know that a candidate can do the work. We go out of our way to make our ask reasonable, relevant to the role, not spec-work, not time consuming, and well defined. It's not uncommon for us to learn that the candidate can't actually do what their resume says they can or for the candidate to learn that they grossly overestimate their own skills.

I recently talked to a Python/JS expert that led a project at a major agency to scrape a network of websites, find and extract specific data, and deliver game changing competitive intelligence. The candidate ended up admitting that their role was limited to copying and pasting a pre-built code snippet into the dev tools console and that they couldn't actually read or write any code. The proof is in the coding challenge.

Re: I don’t have time for coding challenges

#47
post #14

I agree that code challenges aren't ideal. But we've been struggling with parsing resumes and titles to identify the competency of developers. Our current coding challenge isn't super hard and based on the type of code you'd see in our product. It asks you to read a simple javascript function, explain it, and then implement new functionality that can built by refactoring the existing method. It's about 20 lines of co…

For advanced roles I'd suggest separating out the evaluation of coding ability from the evaluation of a particular language. Let the candidate pick their language when you want to test how well they can write new code, and then do a separate evaluation of how deep they are on the language and technical stack you are using.

Re: I don’t have time for coding challenges

#48
Most of the alternate approaches have their own severe failings:

Ask pertinent questions - a lot of candidates are bad at immediate summation and dissemination of information. There are many good engineers who have not learned how to sell their work, themselves, or in general communicate to the intent of a question. This is an invaluable skill, largely orthogonal to writing code, but it's a skill that's often learned with experience. Learning to ask level appropriate questions is hard and evaluating answers consistently (if not objectively) even harder. It is also largely insufficient in gauging programming ability. I've had co-workers who can talk about advanced architecture-y topics seemingly competently but struggle to write even relatively simple code.

Probationary period - I've never seen this implemented (excluding internships which sort of fall into this category) and it certainly sounds like a nice option to have available but I would bet many candidates would be afraid of a short probationary period (say 3 mo) especially if they have to move their family for the job. Being a professional and being told you are on a probationary period is stressful. At many large companies it can easily take more than 6wks to get up to any sort of productivity.

Walk through existing projects - most people (vast majority) do not have any sizable or clean or even "interesting" side project they would want to walk an interviewer through. Unless you worked on open-source for your previous employer (again minority of people) or on your spare time, this is not something you can get a strong signal out of.

Ask them to build something - err, I don't see how this is that different than a coding challenge. And again, not everyone has personal projects ready to be shown to an interviewer. For example, the game I'm coding some nights after work does not look anything like code I write for my employer; there are no tests, there's a lot of experimental and often dead code, functions are not neatly factored and thought out with an eye for collaboration, etc. I would not want to be judged by this code for an interview.

Pair programming - this sounds like a coding challenge but with a more empathetic interviewer. I don't think this is an alternative, just a mild augmentation of a coding challenge.

Focus on ability to learn - companies do this but it's usually considered supplementary to coding ability. Some companies explain their product and try to see if the candidate understands where the value of the product exists or at least where some of the challenges are. This could be spun out into a product type interview or a system design interview depending on intent.

Alternatives to white-boarding or do-at-home project interviews: - Provide a small existing but functional code base and ask the candidate to implement additional functionality. Downside is this takes a lot more effort to prepare and are limiting the candidate in regards to language they want to use. - Provide multiple options for a coding project or question and let the candidate choose which one they want to solve. This would hopefully reduce some of the luck factor of getting a question you know how to solve. - I can't think of any others, but I'm sure they exist

One of the big desirable goals of interviews are evaluating candidates in a consistent manner. All interviewers have biases and these biases vary between the interviewers. Trying to account for that is, I believe, important but also very hard. Using the proposed alternatives would make it even much harder.

Re: I don’t have time for coding challenges

#49

Time is money. If you make about $100 an hour, a six hour coding challenge costs you about $600. If a potential employer asked you to spend $600 to fly out and see them, on your dime, would you do it? I would do it IF I desperately needed a job. I did it back during the dot com crash; I needed a job badly and I was willing to roll the dice. In 2020? Oh hell no. There's a million companies who are hiring, and an emplo…

Companies fly people out all the time (well, pre-COVID). They pay for the travel expenses, but not your time. I personally find this much more of an imposition than spending a few hours writing some code in the comfort of my home.

Re: I don’t have time for coding challenges

#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 candidates that they can point us at an existing project of theirs instead of doing the homework. Few people take us up on this because few applicants have any substantial public side projects or FOSS work they can share.

And sharing "work they've done for previous employers" is a great way to court legal trouble. They shouldn't share it and as an interviewer I don't want to see it!

Post reply on HN