Just finished the Cohere software engineer interview process and wanted to write up the full loop while it's fresh. Applied through LinkedIn, heard back in about 10 days, which felt unusually fast compared to my other apps.
The sequence was: recruiter screen (30 min) -> technical phone screen with an engineer (45 min) -> take-home or async coding challenge -> onsite (4 rounds, all virtual). Total calendar time from first contact to verbal offer was about 5 weeks.
Recruiter screen was pretty standard: background walk-through, why Cohere, compensation range check, visa status. She was friendly and gave a good overview of what the loop looked like, which I appreciated.
Technical phone screen had two parts. First 20 minutes was algorithms, a medium-difficulty problem about string parsing. Second part was a conversation about a past project, pretty deep technical questions on design tradeoffs I'd made. Not a leetcode grind session, more like they wanted to see how you reason through things.
Onsite (4 x 60 min) covered: Coding (two problems, medium-ish, Python or Go preferred but they said any language was fine) System design, specifically LLM/inference infrastructure adjacent. More on this below. Behavioral, 4-5 questions, standard STAR stuff but they pushed hard on the "what would you do differently" layer Cross-functional interview with someone from product or research, more conversational
The system design round was notably different from what I'd seen at other AI companies. They were genuinely interested in how you'd think about serving large language models at scale, token budgets, batching, caching inference results. You don't need to be an ML expert but knowing vaguely how transformer inference works helps a lot.
Overall Cohere felt more collaborative than evaluative. Interviewers seemed like they were having an actual conversation rather than running through a script. Zero puzzles, no trick questions.
I got the offer. Happy to answer questions.