I got contacted by a recruiter indicating that the company was looking for Java devs looking to convert to Scala, and for remote candidates. The initial messages were positive, quite transparent (e.g. the technical stack).
The first step was a coding challenge, which required you to create a backend microservice that returns prime numbers over gRPC, and a second microservice which acts as a proxy, accepting calls from the user, routing it to the gRPC microservice, and then printing the primes continuously to the user via HTTP. In total it took me approx. 15 hours, although half of it was infrastructure setup since I don't work with Scala normally.
A few days after submitting it I was informed that I passed the first step and that the next step was a technical interview with two engineers. The interview was an informal chat of what each party liked, how we worked, what made us motivated, etc.
The next step was an interview with the CTO. Once again, the interview was rather informal. The CTO gave me a lot of information about the company and how it functions. Basically all of it was soft skills, nothing technical.
After that, I had to take a personality test, which took me around 40 minutes. The test was mostly ok, besides some statements where none of the options were what I would choose. After the test, I had yet another session with the recruiter, giving me the results of the personality test. It was quite interesting, although once again the test and the recruiter were not taking into account answers that don't really apply, it felt like they took the test results for granted.
The recruiter asked me for references AND indicated that they were going to schedule one final interview with a few more people from the company. I was in my first job so there was no one I could use as a safe reference that wouldn't leak information. Given that the process had already taken so long and it seemed to be going well, I assumed the risk and gave them my current manager's contacts.
I got to the final interview and it felt like it had already been decided before it even started. Both the interviewers felt very indifferent to my answers. One of them was making questions that had nothing to do ("what is the role of a PO?"), just trying to fill the time to finish the hour.
I didn't get a response for over a week. When I pinged the recruiter, she called me and told me that they were stopping with my application. I tried to gather feedback and the main reasons were that, according to them, I was not experienced enough with Scala to work remotely. The fact that I did not have much experience and that I was applying remotely were already known when the recruiter contacted me the first time, so it felt like they made me waste over 30 hours of my time knowing the outcome from the beginning. She also mentioned that they were afraid I would be too focused on refactoring, basing that claim on the personality test results.
The whole process leaves a bitter taste in my mouth. It was also very unprofessional to ask for references when there was still room for a rejection from the interviews. It had a negative impact with my current (at the time) employer.