We use essential cookies

Please Accept our Privacy Policy

Senior Software Engineer

Escher Group

Boston, MA 02110 • 10/10/2026

Job Description

Job Description

Escher Group

Escher powers the world’s first and last mile deliveries, helping Posts connect nearly 1 billion consumers with global ecommerce networks. Postal operators rely on Escher to deliver an enhanced retail and digital customer experience, to activate new revenue streams, and to realize new delivery economics. Learn more at www.eschergroup.com.

Position Overview

Escher has begun a programme with a national post to modernise the systems behind its counters. At the centre of that programme is the Product Journey Engine (PJE). Every counter transaction from posting a parcel to a cash withdrawal runs as a journey: a defined sequence of what the clerk is asked, what the systems look up, what the devices do, and where every outcome goes. A journey is a self-contained JSON definition. A visual Designer produces it; a Journey Engine executes exactly what it says. That definition is the only contract between the two and because this is a national post, every step of every journey has to be explainable after the fact.

We are hiring two Senior Software Engineers. Each leads one area of the platform, and both work as a single team alongside the Chief Architect, the Designer team, a product designer, and the client's ePOS and integration partners:

  • Journey Engine a .NET runtime, cross-compiled to WebAssembly and embedded in a TypeScript application. Host-agnostic, BCL-only, with no persistence of its own: journey state lives in an opaque blob held by the caller.
  • POS Host Runtime the TypeScript applet that runs a journey inside a third-party ePOS solution. It owns the journey loop in the browser, drives counter peripherals (printers, scanners, card terminals) through a host bridge, survives suspend and resume mid-transaction, and hands the result to the till's basket exactly once.

Please tell us which area you are applying for; the interview is tailored to it.

We develop AI-first and expect heavy use of AI-assisted tooling with architecture, correctness and judgement remaining yours. That judgement is the job: knowing what deterministic and never repeated must mean at a till, and catching an ambiguous specification before it ships.

Duties and Responsibilities

  • Lead the design and delivery of one area of the PJE platform, working from the runtime specification with the Chief Architect.
  • Own the contracts in your area between engine and host, and with the Designer including their versioning and the cost of breaking them.
  • Troubleshoot and resolve technical issues across the engine/host boundary.
  • Own the automated testing story for your area: tests are part of the deliverable, not a hand-off to a test engineer.
  • Translate requirements and the specification into designs and JIRA stories, and challenge the specification where it is wrong or incomplete.
  • Mentor other developers and take part in code reviews.

Qualifications

Core, both positions

  • Post-secondary education in Computer Science or Software Engineering.
  • Substantial experience leading the delivery of a non-trivial component or service, end to end.
  • Strong in C#/.NET or TypeScript, with working ability or willingness to learn the other the two areas share one message contract and one team.
  • Experience with JSON, JSON Schema and contract-driven design between components.
  • Understands that tests matter as much as the code, and is comfortable owning the automated testing of their own work rather than delegating it.
  • Comfortable building from a written specification, and able to say clearly when the specification is wrong or incomplete rather than code around it.
  • Take non-functional requirements seriously: performance, traceability, and security are first class concerns, not afterthoughts.
  • Experience building reusable libraries or SDKs consumed by others, with an eye for clean, stable public APIs and versioning.
  • Experience with Git workflows and CI/CD pipelines (Azure DevOps, GitHub Actions)
  • Able to meet the security clearance requirements of the target Escher client.

Focus areas, be strong in at least one

Journey Engine (.NET)

  • Has built or maintained a workflow engine, rules engine, state machine or similar execution runtime.
  • Understands deterministic evaluation, immutability and idempotency and takes seriously the problem of proving them.
  • Experience writing .NET for a constrained environment, and profiling and optimising within its limits (WebAssembly here; comparable environments such as Unity are acceptable).
  • Experience sandboxing user-authored expressions or scripts: what they may read, what they must never reach.
  • Experience in POS, payments or other transactional systems where a duplicated or lost commit has real cost.

POS Host Runtime (TypeScript)

  • Experience architecting large, multi-component JavaScript/HTML applications.
  • Experience building embedded or hosted JavaScript applications Electron, Capacitor, embedded webviews, or widgets running inside a third party's page.
  • Solid browser platform knowledge: DOM, iframes, cross-document messaging, sandboxing, and the practicalities of code you do not control the page for.
  • Experience integrating with hardware peripherals or device services from a browser or embedded runtime.

Technical Skills

All positions

  • .NET / C# / .NET Core and TypeScript / JavaScript (strong in one; working ability or willingness to learn the other).
  • JSON and JSON Schema.
  • Git workflows; CI/CD pipelines (Azure DevOps, GitHub Actions).
  • Experience with >NET / JavaScript interoperability a plus.

Journey Engine

  • WebAssembly experience especially building WebAssembly with .NET a strong plus, but not required.

POS Host Runtime

  • Exposure to WebAssembly or other compiled-to-browser runtimes, and consuming them from JavaScript, a plus.
  • Experience with React and Material Design a plus.

Why Join Escher?

At Escher, you’ll be part of a global team with employees on four continents supporting customers from across 35 countries. Here, people truly are our greatest strength, and we mean it. At Escher, you’ll have the support of an experienced leadership team and a group of dedicated employees that have been helping postal operators redefine customer engagement for over 30 years.

What We Have to Offer

Escher offers a competitive compensation package, training opportunities and free coffee and snacks when in the office, and so much more! Most importantly, a career at Escher is one that is both rich and rewarding with many opportunities and room for growth. This is truly a unique opportunity to be part of an exceptional team, helping to transform some of the biggest organizations in the world, and influencing the future of postal operations. If you’re up for the challenge, we want to hear from you!

Escher is an equal opportunity employer. We will not discriminate and will take affirmative actions and measures to ensure against discrimination in employment, recruitment, advertisements for employment, compensation, termination, upgrading, promotions, and other conditions of employment against any employee or job applicant on the basis of race, color, gender, national origin, age, religion, creed, disability, veteran’s status, sexual orientation, gender identity or gender expression.

*Salary range for this role is $110,000-$140,000 annually based on experience, qualifications, and location.