In this article

Shopify has embraced AI in technical interviews, but using an assistant is only part of the preparation. You still need to work with another engineer, explain the code, and discuss the decisions behind it. Here is what the company has shared, what public candidate examples can tell you, and how to practice.

Does Shopify allow AI in coding interviews?

In a July 2, 2025 Pragmatic Engineer interview, Shopify Head of Engineering Farhan Thawar explicitly described candidates using AI while screen-sharing. He discussed asking candidates to assess generated code and noticing whether they could fix a small error themselves. This is a direct account from engineering leadership, published by the interviewer. Interview and transcript, around 42:07.

That is a clear reason to practice with AI before a Shopify interview. It is not permission to use any tool in every round. Before rehearsing, read your invitation and confirm the editor, assistant, documentation access, and screen-sharing setup. Find out whether you start from a supplied project or an empty editor.

This guide reflects public information reviewed on October 2, 2026. The specific instructions supplied for your interview take priority over examples from other candidates.

Where pair programming fits in the process

Shopify’s current hiring FAQ says the sequence and number of interviews vary by role and team. R&D applicants move into pair programming before the Life Story conversation. The broader process also includes assessing your craft and meeting potential colleagues. Shopify’s hiring process.

The Life Story covers the path through your career, including difficult experiences and what you learned. Shopify recommends reflecting on those experiences in advance. Shopify’s Life Story guidance. For your own preparation, choose a project where a technical decision changed after you learned something new. Explain your initial reasoning, the evidence, and the result without smoothing away the mistakes.

For the coding conversation, practice letting another engineer influence the implementation. Ask a partner to challenge your interpretation of a requirement. Explain what their suggestion changes before accepting or rejecting it. This makes the rehearsal closer to collaboration than a solo recording of your editor.

Public question examples: robot movement and a URL shortener

One public Glassdoor account from a senior software developer candidate describes two Shopify pair-programming tasks: implementing a robot that follows movement directions and building a URL shortener. This is a self-reported candidate account, not a company-published sample. The accessible page does not show an interview date or establish that AI was allowed. Read the candidate’s account.

Use those examples to choose the kind of program to practice, not to predict your question. A robot exercise lets you practice state transitions and command validation. A URL shortener brings together input handling, storage, lookup, and a small user-facing flow. The following preparation suggestions are ours; the account does not publish a full specification for either task.

For a robot, decide what a turn changes and what a move changes, then test a short command sequence by hand. For a shortener, ask what should happen when the same URL is submitted twice and how an unknown short code should behave. Those questions expose assumptions before generated code hardens them into the implementation.

Prepare for changing rules across rounds

An April 23, 2026 CoderPad interview with Thawar describes a framework influencing Shopify’s thinking: tasks without AI, tasks where AI is optional, and tasks that require it. The article presents an evolving approach, not a guarantee that every applicant receives three corresponding interviews. CoderPad’s interview with Thawar.

Our recommendation is to rehearse all three modes. Solve a small task without generation, repeat it with an assistant available, then try a larger extension with deliberate delegation. Keep the requirements comparable so you can see where assistance helped and where it created more review work.

Before your interview, confirm whether the round permits your own editor, external chat, agent execution, and documentation. Ask whether an existing starter project is provided. A working AI setup is useful only when it matches the environment you are allowed to use.

An original exercise: route an order to a warehouse

Build a small order-routing function for a fictional store. Each warehouse has a priority number and inventory counts by SKU. An order lists positive integer quantities. Choose the highest-priority warehouse that can fulfill the whole order; a lower number means higher priority. Break ties by warehouse ID in ascending order.

Normalize duplicate order lines before checking availability. Two lines requesting three units of the same SKU require six units, not two independent checks against the original stock. If no warehouse can fulfill everything, reject the order without changing any inventory. The first version processes one order at a time.

These rules are nrml’s practice specification, not a reported Shopify interview question. For a ready-made exercise in the same domain, try Add Stock Availability Filters. It asks you to add inventory filtering while preserving category selection, display order, and page totals. It is a useful way to practice making one commerce change without disturbing existing behavior.

Establish the decision before delegating implementation

Work one example by hand. Warehouse A has five mugs and priority one. Warehouse B has eight mugs and priority two. An order contains two lines of three mugs. A must be rejected as a candidate warehouse; B can fulfill the combined quantity and should finish with two mugs.

Explain why independently validating the two lines is wrong. Each line appears affordable against A’s five mugs, but the combined demand is not. That explanation gives you an invariant to defend: a successful order deducts the total requested quantity once, and a rejected order deducts nothing.

Write a plain implementation of demand aggregation before consulting AI during one rehearsal. During another, delegate it and inspect the result. To work on related commerce invariants, try Fix Shopping Cart Totals, which focuses on integer-cent receipt totals while preserving saved-cart inspection and checkout. Explain the customer-visible consequence of each mistake you find.

Delegate one part while keeping the pair involved

Ask the assistant for warehouse selection before asking it to mutate inventory. Separate finding an eligible warehouse from committing the allocation. This makes it easier to test both pieces and to explain where an unsuccessful request stops.

In a rehearsal with another person, state your immediate goal before prompting. For example: you have settled the quantity rules and want a pure selector that cannot change stock. After generation, summarize whether the result matches that boundary. Let your partner interrupt; the conversation should remain about the program, not just the assistant’s output.

An nrml practice prompt
Prompt
Write a pure selectWarehouse function using the existing types.
Input demand already combines duplicate SKU lines.
Require one warehouse to satisfy every SKU and quantity.
Choose lowest numeric priority, then ascending warehouse ID.
Do not mutate input arrays or inventory.
Return no selection when fulfillment is impossible.
Show the patch and explain the tie-break behavior.

Inspect the places where a plausible solution fails

Check whether sorting changes the caller’s warehouse array. A selector can return the right answer while accidentally reordering shared state. Either sort a copy or keep the best candidate during a scan. Explain your choice using the contract and the expected data size.

Next, inspect inventory deduction. Avoid deducting one SKU and only then discovering that another is unavailable. Validate the complete order before committing any changes. Test that a rejected order preserves every warehouse, including those considered earlier in the search.

If the assistant reverses the priority comparison, repair the comparison directly and run a focused test. During practice, learn to distinguish a local defect from a misunderstanding that needs a new plan. A one-line fix should not require replacing the entire module.

Build a small test set with explicit outcomes

Write expected warehouse IDs and stock counts before executing the implementation. Include an exact-stock case: a request for five units against five available units succeeds and leaves zero. That catches a strict-inequality error that ordinary success examples can miss.

Compare complete state before and after rejection. Checking only the returned failure cannot detect a partial deduction. Keep the fixtures small enough that you can mentally calculate every value, then ask the assistant to help express those expectations in the repository’s test style.

  • Duplicate SKU lines combine before eligibility checks and deduction.

  • The earliest eligible priority wins; equal priorities use the stated ID order.

  • An unavailable second SKU causes no partial deduction of the first SKU.

  • Successful allocation changes only the chosen warehouse and requested SKUs.

Add a follow-up that exposes state ownership

After the basic function works, add order IDs and retry handling. Repeating an already accepted order with identical contents should return its earlier allocation without deducting inventory again. Reusing the same ID for a different order should fail. Persist only within the practice process; a database is outside this version.

Define how equivalent orders are recognized. Different line ordering and split duplicate lines should produce the same normalized demand. Store a stable representation alongside the allocation. Test a retry after another order has reduced stock: the original allocation should still be returned, rather than routing the repeated order again.

Explain the remaining limit. Two concurrent requests could both pass the first check in a real service, so this sequential exercise does not solve distributed concurrency. That is a follow-up design discussion, not a reason to introduce infrastructure prematurely.

For focused practice with repeated work, Make Payment Webhooks Idempotent covers retries, invalid events, and conflicting identities without corrupting balances. Use it to practice explaining why recognizing a repeated identifier is not enough when the associated data can disagree.

End with decisions and evidence

Give a brief handoff covering the allocation rule, the defect you prevented, and the tests you actually ran. Demonstrate the duplicate-line example and an unsuccessful order that preserves stock. Then explain what the retry extension guarantees and where those guarantees stop.

For the next rehearsal, change one requirement: permit split fulfillment, introduce reservation expiry, or support backorders. First identify which assumption becomes invalid; only then ask for a patch. These are nrml practice suggestions. They are intended to strengthen your engineering explanation without implying a Shopify question bank, fixed rubric, or universal interview duration.

Sources & editorial notes

Sources reviewed October 2, 2026. Company guidance can change; the instructions for your specific assessment take precedence. nrml is independent of the employers discussed here.

  1. The Pragmatic Engineer: interview with Shopify’s Farhan Thawar

    July 2, 2025. Direct leadership interview confirms candidate AI use; not an official role-by-role permission document. Reviewed October 2, 2026.

  2. Shopify: careers FAQ

    Official hiring overview; process varies by team and role. Does not itself provide a detailed AI policy. Reviewed October 2, 2026.

  3. CoderPad: interview with Shopify’s engineering leadership

    April 23, 2026. Describes an evolving three-mode evaluation framework, not a universal three-round requirement. Reviewed October 2, 2026.

  4. Glassdoor: Shopify senior developer candidate’s question account

    Self-reported robot movement and URL-shortener tasks. Date not displayed; does not establish an AI-enabled round or current question bank. Reviewed October 2, 2026.

Put the reading into practice

Work through an existing repository, review AI suggestions, and test the decisions behind your changes.

Explore practice problems