Job Description
We are seeking an experienced Embedded Software Engineer to join our team. This role involves working with an Automotive Original Equipment Manufacturer in the industrial and agricultural industry, supporting the product development & optimization of automated and autonomous control application software using C in an embedded environment (Linux based), following Scrum methodology.
The ideal candidate will have strong technical skills, including advanced experience in Embedded Linux Controller Application development with Embedded C and intermediate to advance experience working under ROS2 systems (Linux Jazzy/humble). Additionally, they should have basic to intermediate experience with Communication Protocols (J1939,CAN, CAN2B, CANFD) and knowledge/basic experience with MQTT, ETH. Experience with Configuration and Change Management tools (e.g. Git, GitHub) is also required.
Responsibilities
* Actively support and share technical guidance to the team, coaching in technical topics, provide right direction, result-oriented and responsible to deliver tasks as per customer expectations as a team, while engaging directly in technical discussions with stakeholders and customers.
* Responsible for software development activities, using corporate guidelines and techniques to ensure performance to specifications.
* Ensure high-quality design supported by testing and verification methods.
* Responsible for creation and maintenance of documentation.
* Proactively discuss technically with the customer and project stakeholders about approach, activities, risks, and issues.
* Development of the software design which covers 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.
Mandatory Skills
* 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 (go-to-person).
* 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).
* Ability 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).
* Experience in 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 Skills
* 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).
Language
English: C1 Advanced