Job Description
Senior Software Engineer
Hands-on experience with CAN protocol–based systems, experience with UDS for diagnostics and software flashing, experience implementing CCS for configuration and control workflows, Experience working with J1939 for signal-based CAN communication, Solid understanding of CAN frames, signals, SIDs, DIDs, and timing constraints, Familiarity with ISO-TP for multi-frame CAN communication., Visual Studio and .NET Core / .NET 6+,
Automotive Software & Embedded Systems
IT
Fulltime
Software Engineering
Bachelors or master’s in computer science or ECE or relevant fields
3 years
Bengaluru
Responsibilities:
About the Role:
We are seeking a Software Engineer with strong experience in CAN-based desktop application development. The ideal candidate will have hands-on experience building .NET desktop applications and working extensively with CAN communication protocols, including CCS, UDS, and J1939. The role involves developing robust, protocol-driven desktop tools used for diagnostics, configuration, data visualization, and software updates.
Key Responsibilities:
• Design, develop, and maintain desktop applications using C# and .NET.
• Build and enhance UI components using Avalonia UI or WPF, adhering to MVVM architecture (Optional)
• Integrate desktop applications with CAN communication layers.
• Implement and manage protocol workflows using CCS, UDS, and J1939.
• Handle CAN message transmission, reception, decoding, and validation.
• Develop features related to diagnostics, configuration, and data visualization.
• Work extensively with XAML, data binding, commands, and reusable UI components.
• Collaborate with cross-functional teams, including backend, embedded, and QA teams.
• Write clean, maintainable, and efficient code following established coding standards.
• Participate in debugging, performance tuning, and code reviews.
• Follow version control best practices using Git.
Requirements:
Required Skills & Qualifications:
• Hands-on experience with Avalonia UI or WPF for desktop UI development(Optional)
• Strong understanding of MVVM architecture, data binding, and command patterns. (Optional)
• Mandatory hands-on experience with CAN protocol–based systems.
• Practical experience implementing CCS protocol for configuration and control workflows.
• Strong experience with UDS protocol for diagnostics and software flashing.
• Experience working with J1939 protocol for signal-based CAN communication.
• Proficiency in handling CAN frames, signals, SIDs, DIDs, and protocol timing constraints.
• Familiarity with ISO-TP for multi-frame CAN communication.
• Proficiency with Visual Studio and .NET Core / .NET 6+.
• Strong analytical, debugging, and problem-solving skills.
• Good communication skills and ability to work effectively in a team.
Additional Skills:
• Experience with CAN tools and interfaces such as Peak or Vector.
• Knowledge of JSON-based configuration and offline-capable applications.
• Experience with local storage mechanisms (SQLite or file-based storage).
• Familiarity with REST API integration.
• Understanding of secure client–server communication principles.
• Exposure to CI/CD pipelines and DevOps workflows.