{"id":3194739,"url":"https://alion.io/job/escher-group-senior-software-engineer","title":"Senior Software Engineer","company":{"id":56842,"name":"Escher Group","domain":"eschergroup.com","url":"https://alion.io/company/escher-group","size_band":"201-500","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"BambooHR","truth_index":null},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":"contractor","work_mode":"on_site","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Boston, United States"],"countries":["US"],"hiring_countries":[],"hiring_countries_total":0,"salary":{"min":110000,"max":140000,"currency":"USD","period":"year","gross":null,"usd_annual":140000},"salary_estimate":null,"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":".NET","optional":false},{"name":"Azure DevOps","optional":false},{"name":"C#","optional":false},{"name":"CI/CD","optional":false},{"name":"Git","optional":false},{"name":"GitHub Actions","optional":false},{"name":"JavaScript","optional":false},{"name":"Material Design","optional":false},{"name":"React.js","optional":false},{"name":"TypeScript","optional":false},{"name":"WebAssembly","optional":false},{"name":"Azure","optional":true}],"status":"live","first_seen_at":"2026-10-09T00:00:00Z","employer_posted_date":"2026-10-09","last_verified_at":"2026-10-27T15:29:15Z","board_verified":true,"closed_at":null,"days_open":18,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":18},"description":"Escher Group\nEscher 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.\nPosition Overview\nEscher 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.\nWe 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:\nJourney 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.\nPOS 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.\nPlease tell us which area you are applying for; the interview is tailored to it.\nWe 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.\nDuties and Responsibilities\nLead the design and delivery of one area of the PJE platform, working from the runtime specification with the Chief Architect.\nOwn the contracts in your area - between engine and host, and with the Designer - including their versioning and the cost of breaking them.\nTroubleshoot and resolve technical issues across the engine/host boundary.\nOwn the automated testing story for your area: tests are part of the deliverable, not a hand-off to a test engineer.\nTranslate requirements and the specification into designs and JIRA stories, and challenge the specification where it is wrong or incomplete.\nMentor other developers and take part in code reviews.\nQualifications\nCore, both positions\nPost-secondary education in Computer Science or Software Engineering.\nSubstantial experience leading the delivery of a non-trivial component or service, end to end.\nStrong in C#/.NET or TypeScript, with working ability or willingness to learn the other - the two areas share one message contract and one team.\nExperience with JSON, JSON Schema and contract-driven design between components.\nUnderstands that tests matter as much as the code, and is comfortable owning the automated testing of their own work rather than delegating it.\nComfortable building from a written specification, and able to say clearly when the specification is wrong or incomplete rather than code around it.\nTake non-functional requirements seriously: performance, traceability, and security are first class concerns, not afterthoughts.\nExperience building reusable libraries or SDKs consumed by others, with an eye for clean, stable public APIs and versioning.\nExperience with Git workflows and CI/CD pipelines (Azure DevOps, GitHub Actions)\nAble to meet the security clearance requirements of the target Escher client.\nFocus areas, be strong in at least one\nJourney Engine (.NET)\nHas built or maintained a workflow engine, rules engine, state machine or similar execution runtime.\nUnderstands deterministic evaluation, immutability and idempotency - and takes seriously the problem of proving them.\nExperience writing .NET for a constrained environment, and profiling and optimising within its limits (WebAssembly here; comparable environments such as Unity are acceptable).\nExperience sandboxing user-authored expressions or scripts: what they may read, what they must never reach.\nExperience in POS, payments or other transactional systems where a duplicated or lost commit has real cost.\nPOS Host Runtime (TypeScript)\nExperience architecting large, multi-component JavaScript/HTML applications.\nExperience building embedded or hosted JavaScript applications - Electron, Capacitor, embedded webviews, or widgets running inside a third party's page.\nSolid browser platform knowledge: DOM, iframes, cross-document messaging, sandboxing, and the practicalities of code you do not control the page for.\nExperience integrating with hardware peripherals or device services from a browser or embedded runtime.\nTechnical Skills\nAll positions\n.NET / C# / .NET Core and TypeScript / JavaScript (strong in one; working ability or willingness to learn the other).\nJSON and JSON Schema.\nGit workflows; CI/CD pipelines (Azure DevOps, GitHub Actions).\nExperience with >NET / JavaScript interoperability a plus.\nJourney Engine\nWebAssembly experience - especially building WebAssembly with .NET - a strong plus, but not required.\nPOS Host Runtime\nExposure to WebAssembly or other compiled-to-browser runtimes, and consuming them from JavaScript, a plus.\nExperience with React and Material Design a plus.\nWhy Join Escher?\nAt 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.\nWhat We Have to Offer\nEscher 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!\n\nEscher 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.\n\n*Salary range for this role is $110,000-$140,000 annually based on experience, qualifications, and location.","description_format":"text","description_chars":7284,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[]},"benefits":[],"hiring_locations":[],"hiring_excludes":[],"relocation_offered":false,"industries":["POS Systems","Logistics","Digital Government","Courier Services"],"lifecycle":[{"event":"open","at":"2026-10-24T03:55:22Z"}],"visa":[],"liveness":{"score":74,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.822,"p_room":0.9,"age_days":18,"expected_fill_days":35,"reasons":["conf:0","win:mid"],"computed_at":"2026-10-27T05:46:45Z"},"pay":{"stated_usd_annual":140000,"is_top_pay":false},"html_url":"https://alion.io/job/escher-group-senior-software-engineer","json_url":"https://alion.io/job/escher-group-senior-software-engineer.json","meta":{"generated_at":"2026-10-27T19:43:00Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":10463,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-28T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":56842},"rest":"https://alion.io/mcp/rest/get_company?id=56842"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fescher-group-senior-software-engineer"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fescher-group-senior-software-engineer"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fescher-group-senior-software-engineer"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/escher-group-senior-software-engineer\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fescher-group-senior-software-engineer"}]}