Where it comes from

How to answer

Prepare for two things this question can test: whether you command the detail of something you built, and whether you can say plainly what was yours and what went wrong. For Cohere’s role, one candidate reported on Glassdoor, in an August 2026 review, a loop that included an experience deep dive with the hiring manager about a past project. Source 1Cohere Forward Deployed Engineer Interview QuestionsPublisherGlassdoor (anonymous interview review)Source typecandidate’s personal write-up Another Glassdoor reviewer, in July 2026, listed the question “Walk through a system you designed”. Source 1Cohere Forward Deployed Engineer Interview QuestionsPublisherGlassdoor (anonymous interview review)Source typecandidate’s personal write-up Ramp’s Director of Engineering, Leo Mehr, said on Basil Chatha’s podcast, published in July 2026, that he assesses drive and ownership by asking candidates about their careers: the decisions they made and what they were responsible for. Source 2Leo Mehr - Ramp's $44B Bet on Services (YouTube auto-generated English captions)PublisherBasil Chatha, YouTubeSource typerecorded talk or interview A project deep dive asks the same thing at a finer grain. One candidate reported on Aced, in a listing dated April 2026, that their Cognition AI Forward Deployed Engineer process included a presentation explaining a real technical project to people at different levels. Source 3Cognition AI Forward Deployed Engineer Interview ExperiencePublisherAced (formerly Exponent)Source typecandidate’s personal write-up

Pick the project first. Choose one where you made the design calls, a customer’s constraint shaped the design, something broke, and you can draw it from memory. Then write down the numbers you could be asked for: volume, latency, error rate, cost per unit, team size and dates. Plan to give the whole arc in a few minutes and then follow where they push, with two layers of depth prepared under every box you draw.

Then take it in this order.

  1. The problem, in two sentences. Who had it, what it cost them, and the constraint that shaped everything.
  2. The design, drawn. Boxes and arrows, then the one decision that mattered most: the options you weighed, the one you chose and why. Say “I decided” for your calls and “we” only for the team’s.
  3. Your part. One precise sentence: “I designed the matching and wrote it; a colleague owned the OCR vendor; the ops lead set the review rules.”
  4. What broke. A specific failure: how it was detected, the root cause in mechanical terms, the fix and what it cost.
  5. What you’d change, and why you didn’t do it then. A real constraint, not “I didn’t think of it”.
  6. Offer depth. “I can go further into the matching or the . Which is more useful?”

The trap is the component tour: every box described, no decision defended, and a failure that turns out to be someone else’s. Expect a follow-up on any box you drew; if you cannot say why it exists, the rest of the answer loses its force.

GlossaryForward deployed engineerA software engineer who builds and ships production systems inside a customer’s problem and environment, accountable to that customer’s outcome.More on Forward deployed engineerGlossaryBackfillReprocessing historical data through a pipeline, ideally with the same idempotent code as the daily run.More on Backfill

Follow-ups

What the interviewer may ask next, once your first answer is on the table.

  • Which part of that did you write yourself, and which did you review?
  • Draw the data flow for the failure you described. Where exactly did the duplicate get in?
  • If you rebuilt it tomorrow with the same team and deadline, what is the first decision you would make differently?

Where answers go wrong

  • Giving a tour of the architecture the team built, in “we”, so the interviewer cannot tell which decisions were yours.
  • Offering a failure that is really a success, or one caused entirely by someone else.

Answer this in two minutes

Write the answer you would say out loud. The clock starts with your first word.

Two minutes

Compare with the model answer

Illustrative answer about a fictional project

Written in the first person to show the structure. Tell yours from your own work.

The first minute and a half. “I’ll take the rate confirmation pipeline I built at a freight brokerage software company. Our biggest customer keyed about 600 carrier rate confirmations a day by hand, and mis-keyed rates caused about 30 billing disputes a month. I designed a pipeline that reads the emailed PDFs, extracts the fields and matches each one to a load, with anything uncertain going to review; I wrote the matcher and the idempotency layer. What broke: I used one key for two jobs, so a carrier’s corrected confirmation looked like a new document and we sent 41 double invoices. I split the transport key from the business key, voided the duplicates with a and added a daily check. What I’d change is running it in shadow mode first. I can go deeper on the matching or the backfill.”

If they want the detail:

“The problem. Brokers book a load with a carrier, and the carrier emails back a PDF rate confirmation. Our biggest customer had four people keying those into the system by hand, about 600 a day, and mis-keyed rates were turning into about 30 billing disputes a month, each one a week of back-and-forth with a carrier. The constraint that shaped everything: carriers would never change what they sent us.

“The design. Let me draw it. An IMAP poller pulls messages into object storage. An extraction step runs a vendor OCR service, then per-field rules. A matcher links each document to a load, first by load number and, when that’s missing, by carrier, lane and pickup date. Anything under a confidence threshold goes to a review queue in the customer’s own tool. The decision I’d defend hardest was the , so a poller retry could never book a rate twice. I weighed the IMAP UID, which the server can renumber when the mailbox is rebuilt; an attachment hash alone, which can’t tell a legitimate resend from a retry; and Message-ID alone, which some carriers’ mailers leave out. I chose Message-ID plus the attachment hash, with a hash of sender, received time and attachment as the fallback when the header is missing.

The poller drops a retried email by its transport key; the matcher keeps one rate per load by its business key.Two keys, two jobscarrier emailIMAP pollertransport keydrops retriesobject storageOCR, field rulesmatcherbusiness keyone per loadrate bookedreview
The transport key sits at the poller and drops a retried email. The business key sits at the matcher and keeps one live rate per load. Anything uncertain goes to review in the customer's own tool.

“My part. I designed the pipeline and wrote the matcher and the idempotency layer. A colleague integrated the OCR vendor. The customer’s operations lead set the review threshold with me.

“What broke. Three weeks after launch, their billing team found 41 double invoices. Carriers who corrected a rate re-sent the confirmation as a new email, so a new Message-ID, and the attachment hash changed too. My key treated a correction as a second document. The mistake was mine: I’d used one key for two jobs. I split them. Message-ID plus attachment hash stayed as the transport dedupe, so a retry of the same email is still a no-op. Business identity became the matched load, carrier plus load number, or the lane-and-date match when the number is missing, and the confirmation with the latest revision or issue date on the document supersedes the older one, which is marked voided, not deleted. Received time only breaks ties, so a carrier re-sending the original after a correction can’t bring the old rate back, and a rate change on a load that’s already invoiced goes to review instead of voiding automatically. Then I wrote a backfill that found and voided the duplicates, and added a daily check comparing booked rates against confirmations, which has caught two smaller issues since.

“What I’d change. I’d run the pipeline in shadow mode beside the manual process for two weeks before cutting over. The duplicates would have shown up as mismatches against what the team keyed by hand. I didn’t, because the customer wanted the headcount back before quarter end and I didn’t push back hard enough. And I’d have started with every document going through review, with auto-approval earned carrier by carrier, rather than one global threshold.

“I can go deeper on the matching logic or on how we ran the backfill without touching invoices already paid. Which would be more useful?”

Why the first key failed. RFC 5322, section 3.6.4 says a Message-ID refers to a particular version of a particular message, and that every message SHOULD have one, not MUST. A retried fetch of the same email carries the same identifier, which is why it works for transport dedupe; a corrected confirmation is a new message about the same load, which is why it can’t serve as business identity. The same section is why the design needs a fallback for mail with no header at all.

GlossaryBackfillReprocessing historical data through a pipeline, ideally with the same idempotent code as the daily run.More on BackfillGlossaryIdempotency keyA client-supplied identifier that lets a server apply a repeated request once, making retries safe.More on Idempotency key