Description
SENIOR FULL-STACK ENGINEER, DEVICE DIAGNOSTICS Asset Science | Montréal (Québec), Canada
ABOUT ASSET SCIENCE
Asset Science is the shop-floor operating platform for the secondary device market: receiving, diagnostics, data clearing, grading, inventory, workflow automation, and certification, all from one platform.
Over 12 million devices a year at 99.99% uptime.
We did not build this in a lab.
We built it on the production floor, inside one of North America's largest refurbishment operations.
Every feature exists because an operator needed it, not because an engineer guessed.
Our platform spans the full stack: the web portals our customers and warehouse operators live in, the Go services that power them, and the C and C++ device-communication core that talks directly to phones over USB to run real hardware diagnostics.
We hold the deepest test coverage in the industry—133 tests on Android and 83 on iOS—plus ADISA-accredited, NIST-compliant data clearing running across multiple devices at once.
THE MOST IMPORTANT THING ABOUT THIS ROLE
We are building an agent-first engineering organization, and we want you to help lead it.
This is not a hypothesis.
Engineers here design and operate fleets of AI agents that do the work: implementing features, fixing bugs, writing tests, and shipping.
Humans set direction and approve at the right gates.
This is how we build now, in production, and it is the single most important capability we are hiring for.
Think of it like running a kitchen.
We are not hiring another pair of hands at the stove, and we are not hiring someone to manage people.
We are hiring the chef who runs a kitchen of AI agents: planning the work, deciding which agent does what, running several at once, tasting the work before it leaves the pass, and being accountable for what ships.
To be clear: you manage agents, not people, and this is not a path into people management.
Over time this role can grow into owning our agentic development practice and the roadmap for our dark-factory development model.
That is real technical leadership, earned by being the best in the building at making agents do the work, not by managing headcount.
WHERE YOU WILL WORK, AND WHAT WE DO NOT YET KNOW
The team is fully remote today.
We are actively considering a return to office: the decision is not made, and fully on-site versus hybrid is unresolved.
We are not going to pretend otherwise in a posting.
Be based in the Greater Montréal area, or willing to relocate here.The office will be on the Island of Montréal, close to a metro station.
The exact address is not finalized.Be comfortable with the possibility of working on-site full time, because that is one of the outcomes on the table.If fully remote is a hard requirement for you, this is probably not the right role.
Better to know now than three months in.Ask us during the process.
You will get a straight answer.
WHAT YOU WILL OWN
Three connected layers of our diagnostics product:
The device-communication core: The native C and C++ engine that talks directly to Apple and Android phones over USB to run hardware diagnostics, flashing, and data clearing.
Built on the open-source Apple and Android device libraries.The desktop diagnostics app: The Electron and React application our operators use on the floor.
It detects connected devices, runs the diagnostic test suites, and reports results.The client-portal backend: Go microservices with MongoDB, GraphQL and REST, including our data-collection and customer-management services.
WHAT YOU WILL DO
Design and run AI agent workloads: Build and improve the processes and guardrails that let agents implement features, fix bugs, and ship, with human approval at the right points.Build and maintain the native core: Extend Apple and Android comms, diagnostics, and flashing, plus the bridge between the native layer and the UI and device-state handling.Backend development: Build and operate the Go and MongoDB microservices behind the client portal.Troubleshooting: Diagnose problems across the full hardware-to-software boundary, where a flaky USB connection, a driver issue, and a software bug all look alike.Quality & Performance: Write tests across the stack and keep CI/CD green.Documentation: Document as you go, so the next person, and our agents, can move fast.
WHAT WE ARE LOOKING FOR
Agentic Development (The Defining Requirement)
Real in-production experience doing software work with AI coding agents such as Claude Code.
Not chat-style assistance, but driving multi-step changes that land in real codebases.Planning and decomposition: Take a business objective and break it into work agents can execute, deciding what each agent does and in what order.Multi-agent orchestration: Run several agents in parallel, keep them aligned, and coordinate their output.Human-in-the-loop design: Decide where a person reviews, where the agent proceeds alone, and where it must stop and escalate.Verification and evaluation: Prove agent output is correct and safe to ship through review automation, tests, and evaluation, rather than trusting it by default.
(The hardest skill to fake and the one we value most).Judgment: Clear judgment on when not to use an agent.Guardrails and security: Mastery over prompt injection, context limits, and defining action boundaries.Cost awareness: Mindful of efficiency and the cost of agent runs.Force-multiplier mindset: Build reusable context and workflows so every engineer's agents get better.
Full-Stack Engineering
C and C++: Comfortable in a real native codebase (Visual Studio, MSBuild, vcpkg, Windows).React: Deep knowledge of hooks, component architecture, and state management (e.g., Redux Toolkit).
Electron is a strong plus.Backend service development: Go with MongoDB, GraphQL, and REST.
Deep Go is a plus, but strong fundamentals with fast ramping capability is acceptable.Testing & CI/CD: Sound unit-testing discipline and experience with GitHub Actions or comparable tools.
Nice to Have
ADB, Android device tooling, and flashing.libimobiledevice and the Apple device ecosystem (usbmuxd, lockdown, idevicerestore, ideviceinstaller, Apple Configurator, cfgutil).USB debugging and hardware diagnostics.Node-API and native add-on development (C to Node).Microservices, Docker, and Kubernetes in production.GCP, AWS, and Infrastructure as Code (Terraform).PostgreSQL and Elasticsearch.Objective-C (iOS) and Java (Android).Warehouse, repair-depot, or factory tooling at scale.Auth0, OAuth, Sentry, and observability practices.Reverse engineering of device protocols and firmware behavior.
LANGUAGE OF WORK French is the common language of work at Asset Science in Quebec.
Offers of employment, employment contracts, documents relating to conditions of employment, and written communications to staff are available in French, and every member of our team has the right to work in French.
This position also requires the ability to work in English.
Section 46 of the Charter of the French language requires us to tell you why, so here it is:
The diagnostics codebase, its inline documentation, and the open-source libraries we build on (libimobiledevice, usbmuxd, ADB tooling, and related projects) exist in English only and are maintained by international communities that operate in English.Vendor and platform technical documentation for this stack (including Apple and Android) is published in English without a French version.The role collaborates daily with technical counterparts and customers outside Quebec (including the US, Japan, and the UK) whose operations are supported in English.
HOW TO APPLY
Apply with your resume.
In your cover note, tell us about real work you drove with Claude Code or an equivalent agent: what the agent did, where you set the gates, and what shipped.
We will let every candidate we interview know where they stand within 45 days of their last interview.No decision about your application is made exclusively by automated processing.We do not require Canadian work experience, but you must be legally authorized to work in Canada.
Asset Science · Montréal (Québec), Canada · assetscience.com