This position is listed on behalf of a partner company, who manages all applications and next steps. Our partner is looking for a Senior C#/.NET Diagnostic Software Engineer based in India.
This is a senior software engineering prospect focused on developing Windows-based diagnostic applications for automotive electronic control units.
You will work hands-on with C#/.NET, UDS communication, CAN/CAN FD, and ECU firmware programming workflows.
The role combines software architecture, diagnostic protocol implementation, hardware integration, and reliable flashing processes.
You will build solutions that support vehicle diagnostics and ECU programming while addressing communication, performance, and recovery requirements.
The position requires strong knowledge of automotive diagnostic standards and practical experience working with CAN hardware and APIs.
You will also work with established engineering tools and development practices, including Visual Studio, Git, CANoe, and CANalyzer.
This opportunity is well suited to an experienced engineer who can contribute independently to technically demanding automotive software projects.
Accountabilities:
- Design, develop, and maintain Windows-based automotive diagnostic applications using C# and .NET.
- Implement and integrate UDS communication according to ISO 14229.
- Develop communication workflows using ISO-TP in accordance with ISO 15765.
- Integrate CAN and CAN FD hardware and associated APIs into diagnostic applications.
- Develop and maintain ECU diagnostics and firmware flashing workflows.
- Implement UDS services including Diagnostic Session Control (0x10), ECU Reset (0x11), Security Access (0x27), Request Download (0x34), Transfer Data (0x36), and Transfer Exit (0x37).
- Implement checksum and CRC verification mechanisms for firmware programming workflows.
- Build reliable retry, timeout, error-handling, and recovery mechanisms for diagnostic and flashing operations.
- Apply MVVM architecture and object-oriente