3 ms·
Regarding coding challenges, I meant to say that they're just as easy to pass as they are to fail, meaning you can fail one test and pass another and it mean no
by phphphphp 4y ago
Regarding coding challenges, I meant to say that they're just as easy to pass as they are to fail, meaning you can fail one test and pass another and it mean nothing about your ability or value as a software engineer. I've failed some embarrassingly easy coding challenges and completed others in the best manner the hirer has ever seen. They're meaningless. You should not consider them as a reflection on your value or prospects.
If you're consistently failing coding challenges, you have a couple of options.
1. Find companies that don't use them.
2. Push back against any coding challenges and instead offer to complete a small project for them that you believe will represent the way you work in totality -- advocate for the pointlessness of coding challenges and encourage the company to change their practices.
3. Cheat (and in the unlikely situation in which you're caught, just say "I solve problems by googling, like any good software engineer")
4. The worst option is to waste your time grinding through leetcode etc. and become good at passing these dumb coding challenges. I can see why that option appeals to us (it feels like a video game, like we just need to practice more to level up) but it has nothing to do with software engineering.
The fact that no offers were received by the OP after passing coding challenges should show how little they're thought of by hirers: they're a lazy half-baked way to exclude a bunch of applicants and feel like it was helpful / fair / meritocratic. A company using coding challenges may as well just randomly select 20% of applicants to go through to interview.
Imagine you work at a company that uses coding challenges as part of their interview screen. Imagine they need to hire someone for your team. Imagine you worked with someone in a previous job who is an amazing software engineer and you know they would provide incredible value to your team. Imagine that person fails the coding challenge. Would that person get the job or not? In any rational company, you would just discard the coding challenge result, because you have a much stronger signal: one of your team is vouching for them. Any company willing to disregard a candidate because they failed a coding challenge is a company that is falling far short in their ability to hire the best people. For some companies, they don't care about hiring the best, they just need a bunch of people who can meet the bare minimum coding challenge requirement, but that's not a company worth working at.
- josephg 4y ago> Regarding coding challenges, I meant to say that … They're meaningless. They’re not meaningless. I worked as a technical screener for a recruiting company a few years ago. We interviewed thousands of people and had good data on this stuff. Programming challenges had high signal - doing well at ours was positively correlated with all the other parts of our quantitative assessment (knowledge, software anrchitecture, etc) and ultimately with getting hired. There’s a reason they’re popular. It’s not all cargo culting.
- phphphphp 4y agoIf you design a hiring process that values a coding challenge then of course people who do well at the coding challenge will do well in the process. The problem with coding challenges is that they do not require the same skills that software engineering requires. The value of a hired software engineer is measured over many years, you can’t possibly measure the success of a prospect based on whether or not they get hired. You could hire a dozen people who grind leetcode all day to be one team, and hire 2 people who wouldn’t pass a coding challenge screener to be the other team, and the latter team could very plausibly out perform the former team over 12 months. My experience is that a company that has designed a hiring process that does not require a coding challenge has a much higher quality team because they’re not relying on something as arbitrary as a coding challenge. Instead, they’re assessing candidates on what is actually relevant to the company. They’re popular because they’re an easy way to cut down numbers, which makes them feel effective.
- josephg 4y ago> Instead, they’re assessing candidates on what is actually relevant to the company. Great question - what is relevant to the company? This is the #1 purpose of technical screening: To assess whether the candidate can do the job you're trying to hire them for. If the job involves programming, one of the things you need to assess is whether the person can program. Telling me your job history, verbally solving hypothetical architecture problems, or pointing to a github repository with some code in it does not assess whether you can program. All of these things are good signals, but past experience can be misleading, and github activity is trivially easy to fake. I've interviewed over 400 people. All of them passed an automated screening process before they talked to me. About half of the people I talked to failed to solve a simple 1st year programming problem, using their own computer and their favorite language in the half an hour we allotted to the task. Beginners I understand, but its shocking the number of people who have somehow worked in the industry for 20+ years yet only seem to be able to paw ineffectually at eclipse when you ask them to write fizzbuzz. Any interview process that doesn't screen these people out is useless. Its harsh but, if you are one of these people I love you but I don't want to hire you. Lots of people seem to hate programming challenges. But I've yet to hear a viable alternative. Whats yours?