I contacted them on stackoverflow and I was asked to solve online challenge. Once you start you have 72 hours to complete it. The task required to parse exchange orders and execute them or something like that (basically build mini stock exchange, I don't recall exact details).
I really liked the task, it was interesting and I invested considerable amount of time. The result of all of that my time devotion was completely ridiculous: a 3 line email with this reply: "The results of your testing did not meet our minimum requirements to move forward in our process". That's all.
I worked before that in 3-4 companies (each was over 5 years) and in all of them I was one of the top performing sw engineers, so I was quite confident about my abilities and after investing 3 days of work it didn't feel right that the company asks people to spend 3 days of their work time for free and and then doesn't even bother to properly provide feedback of what they found wasn't ok with the work submitted. So, I emailed them and asked that I invested 2-3 days of work and extra feedback would really be appreciated. Soo.. I don't know what kind of people work there (we all know that every company believes that they have the best people, but the truth is that they don't) but the feedback from their "engineers" that was the basis of rejections (copy pasted from their reply):
- Very inneficient parsing, reads data one byte at a time.
- misuse of shared_ptr, there was nothing shared in the code
- "typedef" instead of "using"
It doesn't say that task didn't produce correct results, or that something was clearly wrong. The only point for a large task that might have non-cosmetic weight was "Very inneficient parsing, reads data one byte at a time." and this was completely wrong judgement. They didn't even bother to understand that it was in fact very efficient and does not read data one byte at a time like they naively think. Experienced software engineers know how to write proper code and very often something that may look like "innficient" is in fact translated by compiler to the most efficient form, that is some engineers naively think that they can do better than optimizing compiler (it wasn't about sse or anything like that in the task, just plain structs loaded from memory). When I explained in the reply that their evaluation is not correct and why I got no reply.
That's was the worst interview ever, or rather worst company that I applied to; AKUNA: you should not treat with such disrespect potential candidates where you don't even bother to invest 15-20 minutes of your time while you ask people to spend 3 days on your tasks. I interviewed in many places and I got offers pretty much from all the top tech companies from silicon valley and from some investment banks for their algo trading engineering jobs (MS); All of them on final interview stage take 4-5 hours of your time, but each of these hours they put their interviewer in front of you, that is, they also invest the same amount of time from MULTIPLE engineers.
The offer that I eventually accepted was from high growth very successful startup (last year it was listed among others who reached unicorn status, over 1B valuation). As usual, I'm also one of the top performing sw engineers in that company and even though that was industry unrelated to my previous experience (just like I had no idea what algo trading when I did interview at akuna) in that company my salary almost doubled, and I was promoted after 2.5 years to technical director level (company itself also grew from 100 to 500 people).
I know most CEOs of companies do read all their interview feedback, and this message is directed to them: could it be that your B-level players only want to hire C-level ones?