Job Summary
We are seeking a skilled Embedded Software Engineer to join our team. This role involves working with an Automotive Original Equipment Manufacturer in the industrial and agricultural industry to support product development & optimization of automated and autonomous control application software using C, in an embedded environment (Linux based), following Scrum methodology.
Main Responsibilities:
* Actively support and share technical guidance to the team, coaching in technical topics, provide right direction, result oriented and responsible to deliver the tasks as per the customer expectation as a team.
* Engage directly in technical discussions with stakeholders and customers.
* Responsible for software development activities, using corporate guidelines and techniques to ensure performance to specifications.
* Ensure a high-quality design supported by testing and verification methods.
* Creation and maintenance of documentation.
* Proactively discussing technically with the customer and project stakeholders about approach, activities, risks and issues.
* Development of the software design which covers the related software requirements and respects the defined software architecture.
* Perform peer reviews to improve implementation quality.
* Early validation of Feature proposal and re-design as needed.
Requirements:
* 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 Advance 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).
* Able to translate and breakdown system requirements into features.
* Solid experience in embedded system architectures, Microcontrollers, Embedded C/C++, compilers, and developer environment.
* Advance Software Development Process Knowledge and experience.
* Experience with agile methodologies (SAFe).
* Customer facing communication, Team player with solid communication skills.
* Strong problem-solving skills, ability to solve technical problems independently and support others when needed.
* Intercultural orientation.
* Embrace and adapt to changes.
* Proactive and collaborative attitude.
* Result oriented, customer centric.
* C1 English level.
* Ability to Travel to US.
Nice-to-Have Requirements:
* 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).
* English: C1 Advanced.