OTX Runtime Engineer
TLDR
Design and ship a production-grade runtime for the ISO 13209 OTX standard, integrating it with a D-Server layer and focusing on Kotlin Multiplatform engineering.
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.
Salvo Software builds advanced diagnostic tools and systems, primarily in the automotive and powersports sectors. We focus on delivering innovative, high-impact engineering solutions for manufacturing and enterprise operations while partnering with businesses to navigate the complexities of digital transformation. Our commitment to technical excellence and practical engineering drives our success in creating real-world applications.