OTX Runtime Engineer

Salvo Software

About The Position

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.

Requirements

  • 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.
  • 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).

Nice To Haves

  • Experience with flash programming is a strong plus.
  • 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.

Responsibilities

  • 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.
  • 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.
  • 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.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service