Principal Engineer
- Engineering
- Montreal, Canada
- Full time
- Remote friendly
The senior engineer on PDF to Order, the Shopify app that reads the purchase orders a wholesaler's customers send by email and writes Shopify draft orders for a person to approve. You would own extraction and matching accuracy, the reliability of the pipeline behind it, and the write paths into Shopify, Katana MRP, Odoo and QuickBooks. Small team, so this is hands on with real architectural authority, not a role that reviews other people's pull requests.
What is hard about it: accuracy is the product. Our measured error rate is 0.5% against about 3% for manual entry, which is 6x fewer with a human signing off on every order, and defending that number means handling documents nobody anticipated, at a customer's month end, in front of the person who was promised this would save them time. No test suite covers other people's paperwork. The job is building systems that fail in checkable ways, and being honest about the confidence score rather than making a silent best guess. Our current engineering agenda is published on the roadmap page, so you can judge the work before you apply rather than after.
What you would do
- Own extraction and matching accuracy end to end, measured on real customer documents rather than a benchmark set
- Design the matching layer: buyer part numbers, obsolete catalogue references and free text descriptions resolved against a Shopify catalogue with a confidence score, on Postgres with vector search
- Keep the pipeline honest: job queues that actually retry, idempotent writes, Shopify Admin API rate limits, and monitoring that tells us before a merchant does
- Build and maintain the write paths into Shopify, Katana MRP, Odoo and QuickBooks, plus the n8n workflows that hold the awkward joins together
- Ship what is in build now: per account extraction instructions in plain language, line item tables that break across a page boundary, notes typed into the email body beside the attachment, and a second parsing model run head to head against the current one
- Set the human review boundary, deciding what the system may do quietly and what has to stop for a person, then make the stop useful
- Sit with merchants on the documents that failed, and change the design after that conversation rather than defending it
- Raise the level of the rest of the engineering work through review, specification and pairing, not through a management layer
What we need
- Enough production experience that you have owned a system end to end, including the on call consequences, rather than components of one
- TypeScript and Next.js, since the app and this site both run on them
- Relational data modelling in Postgres, and comfort with queues, retries, backfills and background jobs
- Practical LLM work: prompts under version control, evaluation against real inputs, handling of bad output, and knowing when a deterministic rule beats a model
- Integration work against APIs you do not control, including the undocumented parts and the ones that change without notice
- A preference for removing a step over instrumenting it, and no allergy to talking with the person doing the order entry
Nice to have
- Shopify app development, especially the B2B objects: companies, catalogs, price lists and payment terms
- ERP or MRP experience with Katana, Odoo, NetSuite, Business Central or similar
- Document extraction at scale: scan quality, table structure, multi page documents, case and pack conversions
- Security and compliance work, since SOC 2 Type II is under way
- French, because some merchants and plenty of their documents are in French