
Ask HN: Do any companies not do coding challenges? - d-d
Coding challenges are a useless metric IMO. They also waste time. I waste time failing them or passing them only to take a tour and see it&#x27;s a sweatshop or bad cultural fit or get lowballed.<p>Any companies out there that bypass all this nonsense?
======
muzani
I'm in a company that didn't. Basically we have an aggressive schedule and not
enough candidates, because nobody wants to join a startup. A few bad eggs slip
through the filter, but probation contracts make them easy to root out. I'm
not sure why more companies don't just adopt a 'hire fast, fire fast' system.

Lots of programmers in the industry are already good enough anyway. I've seen
programmers who can't reverse a linked list who can still output decent code.
Similarly you have some extremely technically skilled ones who can't build a
feature in reasonable time.

~~~
thomascgalvin
> I'm not sure why more companies don't just adopt a 'hire fast, fire fast'
> system.

Because it will vastly limit the number of skilled developers you can attract.

Let's consider two scenarios. In the first, a developer performs a coding
challenge. The company is fairly sure that the developer is qualified to work
there, and the developer is fairly sure she has the talent to stay employed
there.

In the second, a developer is hired for non-technical reasons, and she quits
her current job knowing that if things don't work out, she'll be looking for
_another_ job in six weeks.

Fuck that. Job hunting is stressful, and there is no way I would join a
company if I didn't think I would be there for at least a year. I wouldn't
even send my resume to a company with a reputation for that kind of fast
turnover.

~~~
muzani
Hire fast doesn't mean no coding interviews. There can probably be 1-2 coding
challenges, but the whole process shouldn't take more than a few hours total.
They should be just hard enough for an experienced dev to pass without having
to study, but it should filter out the people who spend all their time
studying and yet can't build things. What happened to the days we were happy
with FizzBuzz as a filter?

I just think there's a lot of waste going from 90% confidence to 95%
confidence.

------
tboyd47
Many don't. You can always just refuse and move on.

I've wasted a lot of weeks on these things. They are a major risk for the
applicant because the slow the job search down considerably. The large time
investment makes the application process prohibitive for people already
working full-time, which is bad for the hiring team because employed people
looking for a change are often the most competent candidates.

I would never agree to a coding challenge anymore without some assurance I'm
on the short list of candidates. i.e. Ask to schedule a code review meeting
with the hiring team, or insist on a traditional interview before you do the
challenge. If that's a problem for them, then you can be sure that they aren't
going to hire you no matter what you submit.

------
rvz
> Coding challenges are a useless metric IMO. They also waste time.

I agree to some extent, here are some that don't do these interviews [0]. But
unfortunately, I find that all tech companies and strangely non-tech companies
are trying to normalize the coding interview tests. Pre-interview challenges
are useless, since a candidate can easily cheat them by searching-copypaste-
refactor the optimal solution from another computer into their own editor and
submit it as their own. Doing this easily fools many assessment tools all the
time, despite their 'machine learning detection' claims.

But nowadays, it is the on-site interviews which is the new normal. But
depending on the sort of company you are applying to, I would ask questions on
where they actually apply them or use them in their so called 'engineering
challenges'. FAANG, large banks and several fintech companies is certainly
justified. 10-15 employee startups based on a mobile app? Hardly. I would
expect that larger companies that have their own technologies, programming
languages or libraries will ask these coding challenges and if an interviewer
cannot justify the use of these questions other than 'to see how you program'
then I just end the interview gracefully.

I would instead ask the candidate to send a link to some relevant open-source
projects or significant contributions that meet the technologies I am using.
No silly hello-world/git-flow/test projects. I can easily eliminate 90% of
candidates by checking that you have a patch and are mentioned in the AUTHORS
file of an open-source project, which is more quicker than these programming
tests designed to hopelessly find 𝔶𝔢 𝔞𝔫𝔠𝔦𝔢𝔫𝔱 𝔩𝔢𝔤𝔢𝔫𝔡 𝔬𝔣 𝔶𝔢 յօ𝔵 𝔡𝔢𝔳𝔢𝔩𝔬𝔭𝔢𝔯.

[0] - [https://github.com/poteto/hiring-without-
whiteboards](https://github.com/poteto/hiring-without-whiteboards)

~~~
valand
What's wrong with 'to see how you program', though? Why is FAANG, large banks,
and several fintech companies are justified to use coding challenge and on-
site interview, but not 10-15 employees startups> Considering those 10-15
employees startups need good programmers who can act as cofounders while
mature companies already have mature filtering mechanism for recently people
joining.

Also, about the open-source projects, not all candidate do open-source
projects. Most of them write proprietary codes all day and don't have a chance
to contribute to open-source projects. (Disclaimer: I'm one of those
unfortunate people, as much as I want to contribute)

~~~
antoinevg
> What's wrong with 'to see how you program', though?

* Dear dentist, can you please show me how you fill cavities?

* Dear lawyer, can you please show me how you law?

* Dear surgeon, can you please show me how you operate?

* Dear accountant, can you please show me how you do taxes?

* Dear architect, can you please show me how you design?

~~~
yen223
Dentists, lawyers, surgeons and accountants have professional bodies issuing
licenses or certifications. Those licenses verify that the candidate in
question has at least met some arbitrary skill level in their respective
field.

The software industry, for better or worse, have collectively rejected having
such a professional body, which means companies looking for software engineers
wind up having to evaluate programming skills individually.

~~~
mrfusion
I think the more important factor is those professions consider themselves
high status and wouldn’t put up with incompetent-until-proven-otherwise
interviews.

Programmers as a group don’t stand up for themselves.

------
a-saleh
I was on both sides at RedHat. It differed team by team. My last interview was
just a discussion about past experiences :)

~~~
943_924
Those have been some of the best interviews in my experience. I've also never
been disappointed by the leadership or management of my soon-to-be boss when
they demonstrated in an interview that they had the emotional intelligence to
make a hiring call based on a mature discussion (like oh, I don't know, almost
every other industry) rather than demanding a few hours of monkey tricks in
Leetcode to convince them.

------
dagw
Look at any engineering company that isn't primarily a software engineering
company. They still have lots of really cool software problems that need
solving, but tend to have a lot more sane working conditions. Just don't
expect to get paid top end silicon valley salaries.

------
duxup
I interviewed at a small place that gave me a take home project, pretty small
and flexible in nature.

They then asked me enough about it for me to show it was my work.

No whiteboard challenges or anything.

I very much preferred that as I'm not good at on the spot abstract coding
challenges.

------
brenden2
In my experience they nearly all require them. I've also encountered a couple
cases where they said they didn't, and then someone gave me a coding challenge
anyway.

I've always been bad at these, which is super frustrating for me, but it's the
way it goes. I gave up trying to fight it and instead started making notes of
which problems I did poorly at, and started practicing those. Going through
the cracking the coding-type problems helps too.

------
timwaagh
In my country it is not that common. Usually the companies that ask you to do
them have a culture of well... nothing good. Even if I pass the test sometimes
that just sets high expectations which I might not be able to meet (at least
not in the first month of probation).

Don't get me wrong, I am not against such challenges, as they could be useful.
It's just that my experiences with companies that do these have been bad.

------
algaeontoast
Anyone have actual recs for companies?

Even startups now seem to rely on coding challenges that have no relevance to
roles they're recruiting for. Or even worse, they'll trim down a take home and
just use that as a "real world" coding challenge (while watching you do it and
expect perfection in 30 minutes or less).

------
layla565
It slows down job opportunities. A person should not be solely hired on their
programming capacities in regards to a challenge, especially if topics that
come by in these challenges have nothing to do with the company's vision.

------
CameronBarre
TLDR:

I don't use coding exercises in any capacity to hire junior developers onto my
remote team of freelancers.

\--

When I hire Clojure juniors, I have a set of questions that I've put in the
job posting that they will have answered prior to me speaking with them.

I still speak to the person if they completely ignore the request to answer
the questions.

There are probably 20-30 questions, some are objective, others are subjective,
and a lot of questions are meant to evoke somewhat passionate answers, or at
the very least, allow someone to display their passion.

Some have to do with qualities I would expect a certain type of clojure
developer to posses.

Others have to do with the shape of our system, such as specific questions
about tools in our stack.

The last variety are questions to gauge where on the spectrum of learning
someone is at in regards to specific software development topics and
practices.

I never disqualify candidates who don't have much experience with our stack,
all I need to see (in their github repo) is that they write Clojure
competently, and I need to understand from speaking with them and reading
their questions, that they are a competent and interested individual.

I give most people I speak with a fair shot with the intention of improving my
team's on-boarding process, which hopefully improves with every successful new
hire, in other words, they bring the core competency required to participate
in our environment and we fill in the gaps with respect to our architecture,
methodology, and our stack.

~~~
algaeontoast
Curious how'd you define "junior"?

As someone with about a year and change of experience out of college and 1.5
yrs of professional "co-ops" during college - I still consider myself very
junior but feel at a disadvantage to NCG's. Especially since my team at a
FAANG was flushed giving me a weird work history :/

~~~
CameronBarre
It sounds like our worlds are different, I don't work for a FAANG, but in my
world:

A junior is someone who has put time and effort into learning our programming
language, but may not have previous industry experience with it. After
speaking with them, I'm either convinced or not that given a reasonable burn
in time they can become an independent and productive member of the team. I
like to see a work history with other stacks of course.

There's really no concrete basis on which to judge what anyone is truly
capable of, especially in our industry, sometimes it comes down to giving
someone a fair chance and hitting the eject button if it isn't working out.

As a remote independent person who hires other remote independent people, on a
contractual basis, I think I'm allowed to take more humanitarian liberties
when I have hiring decisions to make, due to the structure of remote work and
the qualities that independent people tend to have.

Hope that helps.

~~~
algaeontoast
This definitely helps!

I think my biggest blind-spots have to do with system design / tooling. At
least in terms of grappling with what changes are / are not reasonable
(basically knowing what tasks to stretch myself on - but somehow gauging when
I think the scope of a task is wonky and avoiding those to not screw myself)

Do you have any tips for finding companies that might be as open to "moderate
juniors" like you've described?

~~~
CameronBarre
Search for easy wins, shun refactoring, and always try to build the next thing
better, rather than going backwards to retroactively "fix" working (but
perhaps less than ideal) things.

I can't really advise on finding companies. I haven't had to search for one
myself in a while. Like I said, I'm a freelancer, so I just go with the flow
until I can find a new opportunity.

Good luck, believe in yourself more and don't worry so much about categorizing
yourself!

------
gesman
Personal references / intros will minimize BS coding tests and challenges.

