The Embedded Software Engineer for Connected Services is responsible for the development, integration, and validation of embedded software within a connected vehicle platform. The project focuses on enabling advanced vehicle connectivity capabilities, including secure communication between in-vehicle systems and cloud/backend services, supporting use cases such as over-the-air updates, remote diagnostics, data acquisition, and execution of vehicle functions. The role contributes to building scalable, reliable, and high-performance software running on embedded control units, ensuring seamless interaction across the vehicle eco-system (ECUs, networks, backend platforms) in a software-defined vehicle environment.
Key Responsibilities
Embedded Software Development
• Design, develop, and maintain embedded software components using C++ (design, patterns, antipatterns, debugging)
• Implement functionalities for connectivity and vehicle services
System Integration & Connectivity
• Integrate software with ECUs and in-vehicle networks (CAN, Ethernet, etc.)
• Develop and maintain connectivity features (WiFi, Bluetooth, cellular networks, geo-positioning)
• Ensure end-to-end communication between vehicle and backend systems
Automotive Domain Implementation
• Apply deep knowledge of automotive protocols and architectures (CAN, J1939, UDS, DoIP, SOME/IP, diagnostics, E/E architectures, Automotive Ethernet)
• Ensure correct system behavior across complex in-vehicle system architectures
Linux & Platform Engineering
• Develop and troubleshoot software in Linux environments (CLI, kernel, libraries, TPM)
• Contribute to system stability, performance, and security
Service-Oriented Design & IPC
• Design and implement service-oriented solutions
• Work with IPC and communication technologies (D-Bus, gRPC, MQTT, HTTP, sockets, pipes, queues)
Automation & Tooling
• Use Python and Shell scripting for automation (build, test, integration)
• Improve development and testing efficiency through automation and tooling
Integration, Testing & Validation
• Perform embedded software integration across software & system components
• Ensure proper validation, testing, and debugging across software components and systems
Code Quality
• Perform and contribute to code reviews
• Ensure clean, maintainable, and high-quality code
Collaboration
• Work in international, cross-functional, and distributed teams
• Collaborate with stakeholders (architects, backend teams, system engineers)
• Communicate effectively in English in a multicultural environment
India Remote (Country) Full-time