The process was a lengthy and rather messy one, involving overall about 8 persons in total (HR and technical). There were 3 stages (I got to the last stage), the meetings took place remotely via MS Teams:
1. An hour long interview with basic programming exercise to solve
2. A "homework" assignment that took about two days to complete
3. Final 2 hour interview and assignment review, and another on the spot software architecture exercise
Initially I've been contacted by an HR person with information about the process. First stage was the most pleasant one, a talk with a fellow software engineer in a friendly atmosphere. The programming assignment was pretty basic and required writing some code without need to compile it (almost pseudo-code). Second stage was more involving, about writing a Web API using ASP.NET Core. The problem was relatively interesting but the main difficulty was not complexity but rather time needed to write all the code. I provided a complete working solution with unit and integration tests. It took me about 1,5 - 2 days of my time to complete it, as I put a lot of attention to testability and readability of the code - with about 12 years of professional experience, in my opinion it was a pretty solid solution and it got me to the third stage. Here's where things started to get a bit hairy. The meeting was divided into three stages:
* Initial talk (30 minutes) with development manager (who also was an "ex" software engineer) where we talked about my experience and what the company does and all - it was a fairly pleasant talk
* Review of the assignment and on the spot architectural exercise (~1 hour) - this one was conducted by two developers (the manager was not present) and unfortunately this part was not so great. I did not receive any feedback telling if my solution was good or bad, instead they immediately jumped into finding pretty irrelevant details that they would do differently. There was a minor bug in my solution which I pointed out (the reviewers didn't notice it themselves). Some of the ideas they presented were plainly wrong in relation to OOP paradigms such as encapsulation, and would violate SOLID principles etc. Others were subjective, like usage of certain patterns to structure the code. It's not a good idea to argue during a job interview so I didn't but overall my impression was rather lukewarm. In part two there was an architectural exercise about designing a cloud solution for a web application. We used some online drawing tool to draw boxes representing micro-services and other Azure elements (load balancers etc.), and flow of data between them. On the reviewers side something was not working with their connection so the image they've seen was either frozen or delayed in comparison to what I was saying. I must admit this part didn't go very well, because of my lack of experience in the area (which I was open about since the beginning). I solved the problem but you could definitely see it is not something I work with on daily basis. Possibly this was the reason I didn't get an offer. Overall I got an impression that the two developers were not very experienced in conducting an interview (and I went through plenty, also on the other side of the table). Maybe they couldn't really find a solid spot to criticize in my assignment? They seemed stressed, and I feel it would be beneficial if one of the more experienced guys I talked with initially was also present for fair evaluation. It's also possible that I just dodged a bullet - who knows how a cooperation with these guys would go in a team if I got the job?
* A summary talk with two managers (including the one that started the meeting, about 30 minutes), were I was promised to be contacted again within 3-4 days.
My situation was that I already got a competing offer from another company, and they were waiting for my contract signature. During the 3-4 days period after the interviews I've sent an email to the process coordinator (HR) asking politely if I will receive the response within agreed time-frame. I did not hear back from them.
Eventually, 2 weeks later (!) I received an email informing me that an offer will not be made - a bit too late because meanwhile I had to make a decision about the other company, I didn't want to gamble it. My request to get feedback on what exactly went wrong was left without an answer.
In summary I feel I was a bit disrespected as soon as a decision was made not to make an offer. Even in such case, if you commit yourself to a time-frame then please, stick to your word. Understand that I devoted plenty of my time as well to this process, especially to the assignment. It would be also great to receive some feedback about why the application was rejected instead of just "no". Maybe next time...
I give one star extra for the interesting assignment but overall I must say it was a negative experience.