The process consisted of 3 parts:
- a ~1h phone screening with a talent associate (general questions about experience/expectations)
- a take-home exercise in Go (to write a client library for a provided REST API)
- a 3-part technical interview (approx. 3x30m): (1) an introduction to Form3 and a discussion of your code (2) a technical discussion with an architect about network protocols and system design (3) a problem-solving/debugging session that simulated an on-call incident and your response + a discussion of CI/CD/pair programming/remote work
The talent associates were very prompt, transparent, and friendly. The process was explained very well and all the responses were very quick. Actually, there was a delay on my side as I put the process on hold... and they didn't mind. Once I got back it went really quickly - I got positive feedback about my code the same day, the final interview was scheduled very promptly, and the offer was proposed the same day.
All interviewers were friendly and open, no trick questions, engineers/architects knew their job very well. The process was very enjoyable, straightforward, and technically oriented!
If you're new to Go, do your part and research standards/coding guidelines/good practices, etc. It takes time, but if you want to produce good quality code, it's worthwhile.
My take-home exercise took like 25-30h of programming+research, but the reviewers appreciated the effort and the end result. And in the meantime, I've fallen in love with Go. :)
The live problem-solving/debugging session was about finding and fixing the root cause of 503. Given an architecture diagram (a load balancer, a gateway layer, a service layer with services, service mesh), you can ask all the questions about metrics/logs to pinpoint the problem.