onsite
Embedded Software Engineer for Mobile Work Machine Automation
Software Engineer
Develop embedded software for autonomous mobile work machines, implementing real‑time control, CAN communication, and computer‑vision algorithms using C++, CMake, and modern CI/CD pipelines.
About the role
Key Responsibilities
- Design, implement, and maintain high‑performance C++ code for embedded controllers in mobile work machines.
- Develop and integrate CAN bus communication stacks to enable reliable data exchange between sensors, actuators, and higher‑level systems.
- Apply computer‑vision techniques for perception and guidance, processing camera and lidar data on resource‑constrained hardware.
- Set up and maintain CI/CD pipelines, automated testing, and build systems using CMake to ensure rapid, reliable releases.
- Collaborate with cross‑functional teams (mechanical, electrical, and system engineers) to define requirements, perform integration testing, and troubleshoot field issues.
Requirements
- Strong proficiency in modern C++ (C++14/17) and experience with embedded development on microcontrollers or SoCs.
- Hands‑on knowledge of CAN bus protocols and real‑time communication in safety‑critical environments.
- Experience building and maintaining CI/CD workflows, automated unit/integration tests, and using CMake for complex builds.
- Familiarity with computer‑vision libraries (e.g., OpenCV) and ability to optimize algorithms for embedded platforms.
- Solid understanding of software engineering best practices, version control (Git), and debugging tools for embedded systems.
Skills
ccicdcomputer vision