Project Overview
We are seeking an experienced Embedded Software Engineer to join our team in supporting the product development and optimization of automated and autonomous control application software using C, in an embedded environment (Linux based), following Scrum methodology.
The ideal candidate will have a strong background in embedded system architectures, Microcontrollers, Embedded C/C++, compilers, and developer environment, with experience in customer-facing communication and teamwork. They will be responsible for actively supporting and sharing technical guidance to the team, coaching in technical topics, providing right direction, result-oriented, and responsible to deliver tasks as per customer expectations.
Key Responsibilities:
* Responsible for software development activities, ensuring high-quality design supported by testing and verification methods.
* Creation and maintenance of documentation.
* Proactive discussion with customers and project stakeholders about approach, activities, risks, and issues.
* Development of the software design which covers related software requirements and respects defined software architecture.
* Perform peer reviews to improve implementation quality.
Mandatory Skills and Qualifications:
* 7+ years of experience working in automotive or similar industry over embedded software development.
* Advanced experience in Embedded Linux Controller Application development with Embedded C.
* Intermediate to Advanced experience working under ROS2 systems (Linux Jazzy/humble).
* Basic to Intermediate Experience with Communication Protocols (J1939,CAN, CAN2B, CANFD).
* Knowledge/ basic experience with MQTT, ETH.
* Experience with Configuration and Change Management tools (e.g. Git, GitHub).
* Ability to translate and breakdown system requirements into features.
Nice-to-Have Skills and Qualifications:
* Knowledge/ basic experience with other programming languages (Python/C++) is highly desired.
* Experience with Behavioral tree design is highly desired.
* Experience with Gazebo.
* Knowledge in safety-related processes (ISO26262).
* Knowledge in security-related processes (ISO21434).
Requirements Engineering:
* Strong knowledge about Quality assurance, Software release procedures, and capability models (e.g. ASPICE, CMMI).
* Experience Working with diagnostics (UDS ISO 14229, SAEJ1939).
Languages:
* English: C1 Advanced.
Other Requirements:
* C1 English level.
* Ability to Travel to US.