- Was approached via email without a concrete job spec and lots of emoji (not being negative about it, just unusual), recruiter asked to schedule a call and talk about opportunities
- 1st call, talking about oneself and hearing about company and its needs. Call was followed by a link to the technical task (take home test)
- Technical task requires you to write a program that parses text file containing customer data, and then finding customers within 100km radius from company's headquarters sorted by their ids. This one is sort of easy but they require to treat it like it is code for production, I wrote a node.js program with tests that run on Travis
- Received positive answer 4 days after submitting a link to my git repository, which asked to submit availability for a "Google Meet" interview with one of software engineers. Email contains links to "Engineering values", "Engineering principles", "how they hire engineers" and "exceptional engineers" (yes you should read it all).
- 2nd call. Face to face with live coding, pick any language you want (subject to available ones). In first part engineer tells you simple problems (given x you need to return y) and you write functions/methods that solve them. Second part is talking about your projects, and answering questions such as "What was the thing you did in your job (in the past) you would do differently now?"
- After six days I got a positive answer. Recruiter asked to arrange one more call with one of engineering managers to talk about "culture contribution". I do not like the name of it but basically they will try to understand if you are a selfish one or do you change workflows/processes/code for the better of your company, i.e. if you see code you do not like (written by somebody else) then you fix it, if that repeats you might try to fix the source of issue (add code quality check in build pipeline, make sure "that person" gets reviewed before production) and similar.
- 3rd call with engineering manager and someone else, this is face to face using "Google Meet". Questions about how you work, how you make sure customers are happy, how you build products, etc. Approx 45 mins.
- After 2 days I got a positive answer. Then they ask you to get to their site (Dublin in my case) and spend there a whopping 5 hours, there is a technical task waiting for you again (Django, Rails or Node.js). You are supposed to take 1 day off in your job, then get to the site and spend 30 mins doing that task (building "Minicom" app), then 30 mins continuing it with another engineer, then again 30 mins with yet another engineer. Engineers will help you finish your task. Then you will present it on whiteboard and will be asked some algorithm questions.
- Before going on site I had to talk with recruiter one last time
*I have declined to go further*
Last call revealed important drawbacks. If you followed my list you'll see there is no mention of a job spec (there was none).
They have 5 levels of engineers and hire only first 3 which are (software engineer 1, software engineer 2, software engineer 3). Company does not hire level 4 (Senior) and level 5 (Principal) engineers externally, you can become one internally. It is also not clear which level you are going to be (1, 2 or 3), this is decided after your on-site visit. So if you have spent years in industry and have title containing Senior or Principal then you should look elsewhere (logical next step here would be "engineering manager").
It is also not clear what you will be working on, but from the conversation I had it looks like they are doing a lot of work around systems integration.
Compensation - this one is always the last step, but given the fact that you do not know what are you going to do, what will be the level then it is quite hard to approximate possible offer. In last email I expressed the issue and to my surprise recruiter said we could have talked about it earlier, but for some reason I think it would not be possible to go through as many steps then.