First stage is 30 min interview, based on going trough the CV and discussing their tech stack.
Second stage is writing a client for their API in Go (heck their github form3tech-oss for interview-accountapi).
If you are new to Go it is learning the language and 40+ hours of work. If you ask, as I did, they will tell you that other new applicants did it in 8 hours. That's a pure lie, read the reviews here, no review tells you any close to their estimation and that's my experience too, see the link for the assignment above. I ended to finishing it just because I already invested significant amount of time into this. Just being experienced with the Go it would take 15-20 hours as you still have to study their API.
Only positive thing here is that you probably want to and will learn or broaden your experience with Go, but you do not want to do it this way
They review the solution by 2 reviewers and here it seems is the point where you have to be lucky who does that.
Their response was:
- they were not happy enough how I processed the errors, specifically it was not "ideal". If you are new to Go you will see how big controversial opinionated topic it is there.
- regarding the http client usage, which was even minor few minutes change and it is something anybody would do having experience with the http library.
Based on that I can say they absolutely do not consider if somebody is new to the Go and expect you to provide top quality right away based on their ideal view. Even that being the case, it is not a problem to learn any specific approach used as every company does that, but seems they are not willing to invest into someone's improvement,who is apparently able to provide simple solution.
In my opinion, if company rejects really experienced senior engineer based on such points something is very wrong. My advice, do not invest your time into this exercise unless you can provide them some public Go code for them to review and them invest time into the interview.
PS: I wonder how many reviews here are done by the company itself, because they are either too bad or too good, nothing in between.