I applied online after finding the company on a job board. After applying, I got an automated email to do their "homework" which is a practical take-home assignment basically with a deadline of about a week out. In the details of the assignments it mentions to plan to spend around 2 hours on it, do it in whatever language you prefer, and to not over engineer the solution, or go beyond requirements and do things like write unit tests. So far, this process feels really interesting and could work out great.
Within a couple days I receive an email from a recruiter to set up a 30 minute screen, which I set up for about a week out as well, the day after my "homework" is due.
I then spend probably 2-3 hours working on the assignment, completing the requirements, handling edge cases, cleaning up code and adding documentation. The program runs as expected and outputs the desired results; even testing to ensure proper output. I worked in Java and since it mentions keeping it minimal, I do the work in core Java; I don't add any external dependencies. As such, it performs the task not super fast - around 300-400 ms which includes parsing 3 files, one of which is 20k lines, another 50k lines. I could achieve better with libraries or even with more time spent, but felt that might be over-engineering for a simple take-home that specifically mentions not over-engineering. Great, submit it the day it is due, ready for my recruiter interview the next day.
The next day comes around and I get an email from the recruiter stating that after evaluations, my submission is "below our standard passing score" and that they can't provide any feedback on why, and also cancelling the interview that was scheduled in 3 hours.
I find this incredibly disrespectful of candidates' time and also self-defeating. If you are going to ask somebody to spend hours of their time working on a take-home, 1) give some insight into what the rubric is they are being scored on and 2) give ANY sort of feedback on the work. Not only is this wasting the candidates time, but also your own employees grading this work for candidates who are not set up for success in any way.
While the recruiter cancelling a few hours beforehand is rude when people have other jobs they take time away from, kids they arrange care for, etc., I could look past this as honestly a lot of tech recruiters pull this stuff. What I find most concerning is the engineering side of this. If you are going to have some hard-set rubric being used, at least tell the candidate what you are looking for (i.e. we are looking for performant, documented, and/or simple code). Telling candidates to not over-engineer, then failing them when their code meets the requirements laid out makes absolutely no sense. In my opinion this shows a pretty clear lack of empathy from the engineering side, which to me is a big red flag.
I gave most of this feedback to the recruiter as well, which was responded to in what I felt was a somewhat defensive manner, mentioning they have kids as well (not sure how that is relevant to the situation when they are the ones cancelling a scheduled meeting) and offered a follow up call on the homework. I won't be taking them up on that; what would either of us get out of it at this point?
As engineers looking, I would suggest not applying here until there has been a change made to their process. As is, this process is a massive waste of time.