# OTX Runtime Engineer

> Salvo Software · United States (Remote) · Full-time · Posted 2026-05-04

**Workplace:** remote

**Department:** Firmware Development

## Description

### About Salvo Software

Salvo Software is a global firm that provides cost-effective software solutions to guide enterprises and startups through digital transformation. We build products that sit at the intersection of automotive diagnostics, embedded systems, and modern software architecture — shipping tools that real engineers rely on in production environments around the world.

### Role Overview

We are looking for a Senior OTX Runtime Engineer to design and ship a production-grade runtime for the ISO 13209 Open Test sequence eXchange (OTX) standard. This is a deeply technical, high-ownership role at the core of Salvo's diagnostic toolchain.

You will own the full runtime stack — from XML deserialization and the object model through the type system, evaluator, executor, and extension framework — and integrate it with a D-Server layer that speaks ODX, UDS, and the D-PDU API. The work demands equal fluency in language-implementation concepts, Kotlin Multiplatform engineering, and automotive diagnostic protocols.

### Key Responsibilities

### OTX Runtime Core

-   Design and implement an ISO 13209-compliant OTX runtime, covering the full object model, deserializer, and type system.
-   Build a tree-walking interpreter for the OTX XML-based DSL, including AST design using sealed/algebraic data types.
-   Implement a variable scoping and parameter binding engine faithful to the OTX specification.
-   Develop the evaluator and executor pipeline, ensuring correct handling of procedural flows, conditions, loops, and exception handling as defined in ISO 13209-1/2.
-   Design and implement the OTX extension framework to support runtime-loadable extensions.
-   Handle streaming XML parsing with namespace resolution and xsi:type polymorphic deserialization.

### D-Server & Diagnostic Integration

-   Integrate the runtime with a D-Server layer: implement ODX parsing, service catalog management, and UDS request/response encoding and decoding.
-   Implement built-in OTX extensions including DiagCom adapter, PDU-to-J2534 adapter, and log:/file:/str:/ext:/flash:/even: extensions.
-   Develop diagnostic application logic targeting J2534 and D-PDU API (ISO 22900-2) diagnostic interfaces.
-   Support flash programming workflows across multiple OEM configurations.

### Kotlin Multiplatform & Quality

-   Ship the runtime as a Kotlin Multiplatform (KMP) library targeting JVM and native platforms.
-   Write robust concurrent code using Kotlin Coroutines and Mutex primitives; debug and resolve production deadlocks.
-   Define and maintain a comprehensive test suite covering OTX conformance, edge cases in diagnostic protocol encoding, and runtime stability.
-   Participate in design reviews, contribute to internal documentation, and mentor team members on OTX and diagnostic protocol topics.

## Requirements

### Must-Have Experience

-   Shipped an OTX-compliant runtime to production in any language.
-   Participated in development of a D-Server diagnostic interface, including ODX parsing and executing UDS services across multiple OEMs.
-   Deep, subject-matter-expert knowledge of ISO 13209-1/2 (OTX) and ISO 22901-1 (ODX).
-   Shipped at least one Kotlin Multiplatform (KMP) library to production.
-   Production experience debugging concurrency issues using Kotlin Coroutines and Mutex.
-   Implemented a tree-walking interpreter for an XML-based DSL.
-   Designed ASTs using sealed or algebraic data types.
-   Handled streaming XML parsing with namespace resolution and xsi:type polymorphism.
-   Strong command of Kotlin; candidates with equivalent depth in Java, Scala, or C# will also be considered.

### Diagnostic Protocol Knowledge

-   Subject-matter expert in UDS (ISO 14229), ISO-TP (ISO 15765), and CAN/CAN-FD (ISO 11898).
-   Experience developing diagnostic applications targeting J2534 and/or D-PDU API (ISO 22900-2).
-   Working knowledge of KW2000 and OBD-II (SAE J1979).
-   Experience with flash programming is a strong plus.

### Nice to Have

-   Hands-on experience with commercial OTX authoring tools (e.g., ETAS EDIABAS OTX Studio, SOFTING).
-   Familiarity with commercial ODX authoring tools (e.g., Mazel & Quack OTX/ODX Editor).
-   Experience with heavy-duty vehicle diagnostics (SAE J1939).
-   Background in automotive OEM or Tier-1 supplier environments.

## Apply

[Apply at Salvo Software](https://apply.workable.com/salvo-software/j/89212BD61C/apply)

---
Powered by [Workable](https://www.workable.com)
