Arbetsbeskrivning
HaleyTekis a leading innovator in the automotive infotainment industry, dedicated to delivering cutting-edge technology solutions. We are committed to enhance the reliability, efficiency, and user experience of the infotainment system by developing robust and secure software download mechanisms and comprehensive diagnostics capabilities
Position overview: We are seeking a talented Infotainment Software Developer with strong C/C++ skills to join our innovative team. In this role, you will be pivotal in developing cutting-edge infotainment solutions for the next generation of vehicles. Your work will span across the Android platform and embedded Linux/QNX environments, involving low-level coding, device driver development, and board bring-ups.
Key Responsibilities:
Develop and Maintain Infotainment Software: Design, implement, and optimize software solutions for in-vehicle infotainment systems using C/C++.
Software Download Systems: Design, implement, and maintain systems for the secure download and update of infotainment software, ensuring smooth and reliable deployment across vehicle fleets.
Diagnostics Development: Develop diagnostic tools and systems for monitoring and analyzing the performance of infotainment software, identifying issues and potential improvements.
Protocol Implementation: Implement and support standard automotive diagnostics protocols such as UDS (Unified Diagnostic Services) and DoIP (Diagnostics over IP).
Embedded Linux/QNX Development: Develop and debug software in embedded Linux or QNX environments, focusing on performance and reliability.
Collaborate Across Teams: Work closely with hardware engineers, system architects, and other software developers to design and implement comprehensive infotainment solutions.
Quality oriented solutions: Conduct code reviews, write unit tests, and participate in continuous integration processes to maintain high-quality code standards.
Qualifications:
Fluency in C/C++: Proven experience in software development using C/C++, with a deep understanding of object-oriented programming and low-level coding.
Experience in Automotive Diagnostics: Familiarity with automotive diagnostics tools and protocols, such as UDS, OBD-II, and DoIP.
Software Update Systems: Experience in designing and managing software update systems, including OTA (Over-the-Air) updates
Android Platform Experience: Hands-on experience in developing applications for the Android platform, including knowledge of Android NDK.
Embedded Systems Knowledge: Strong background in working with embedded Linux or QNX, with a focus on system programming and performance optimization.
Device Driver Development: Experience in writing and debugging device drivers for various hardware components.
Board Bring-up Skills: Familiarity with the board bring-up process, including hardware-software integration and debugging techniques.
Problem-Solving Skills: Excellent analytical skills, with a proactive approach to identifying and resolving software issues.
Team Collaboration: Ability to work effectively in a multidisciplinary team environment, with good communication skills.
Attention to Detail: High level of attention to detail and commitment to quality assurance.