Would not reccomend.
Very streamlined process. I was approached by the HR via LinkedIn; they were extremely polite and described the position and the entire process from start to finish. It begins with a take-home exercise, a review and (if you passed the review) three quick technical interviews.
There is no problem if you do not know their commonly used language, Golang. Apparently, they care for the talent and not the familiarity in the language which is an amazing "thumbs up" for company culture or at least that is the impressions you get in the begging.
I submitted my exercise, and they replied in exactly 5 days. When it came to my review, my code was well written, documented and well tested and the feedback was positive about it. But the assignment was rejected without a further discussion for the below reasons:
- Not liking the way data are passed into functions (in context you are asked to learn the language and get the job done) so using method A or method Z should not matter.
- No retries policy implemented. This is a dealbreaker. Arguably, they create a myriad of services doing payment processes, of course they would want a standalone policy for each process, but they should give more context on what they expect. Retries policy are commonly handled manually.
- Not enough assertions in the Create Response. Assert every single variable. That is a quite ridiculous statement to reject an assignment to.
My final verdict, quite unfair handling. It is quite possible that they have passed lesser assignments just for the retry policy as it is quite important internally for the company but that does not judge a good software engineer.
They should be more objective with their approach. In the code assignment they should judge code and ability to cover the assignment. Just for context, you are asked to learn a new language, create a package for that language, read their API documentation, make integration tests and finally have it containerized and tested against a fake version of their API in a provided docker-compose. So, outright rejecting an application from the coding assignment with mixed feedback is quite questionable. Knowledge should be judged in the technical interviews.
Honestly, would not recommend. The impression from the engineers was like being "human-robots" - missing the forest for the tree. This is quite a red flag.