I had submitted my resume at some point in the past, and a recruiter got back to me a few months later and asked if I was still interested. I said yes, and they set me up with a coding challenge.
It was very simple, traversing a 2D matrix, with no difficult algorithmic components – something you could do after an intro to CS course. I solved it easily and cleaned and commented my code as best as possible. The next day, I was told I wasn't being moved forward in the process, which was very confusing since usually these first coding tests are normally not very strict.
I asked for feedback on the decision, and they told me my code was too complicated and redundant in parts. I built my solution in a way that it could be easily tested and changed by decoupling some functions, which led to some redundant code but increased readability and extensibility. I asked some friends more proficient in Python than me if it was okay, and they said it could be cleaner, but it wasn't that big of a deal. Specifically, the biggest problem was in one function where I returned an enum and parsed that into a vector, instead of simply returning the vector. In a timed coding challenge, I didn't think that would be a big deal.
Regardless of the reason for rejection, I felt the process was unfair and did not accurately test my skills as a programmer or my fit into the company. I was left to guess for myself how to style my code. I know tech companies heavily prefer false-negatives to false-positives, but this experience left me feeling defeated and misunderstood, whereas I have been quite successful interviewing elsewhere.
I will note that my recruiter was very nice and compliant with my questions. The issue is with this "coding challenge" itself, and its evaluation.
Simple problem traversing a 2D array. No advanced algorithmic knowledge is needed.
The following metrics were computed from 100 interview experiences for the Asana Software Engineer role in United States.
Asana's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Asana's Software Engineer interview process in United States.