Embedded Software Engineer - Perception Systems (C++/Linux)
Software Engineering
Peoria, IL, USA
Posted on Jul 7, 2026
Job Description
ARi is a fast-growing global engineering firm headquartered in East Peoria, IL, USA. Our power of “i” represents the innovation, intelligence, ingenuity, and insight that differentiates us from our competition. With 1,500+ engineering talent worldwide, representing multiple nationalities and countries, we are well-positioned to deliver sophisticated and custom solutions to our clients.
Duties & Responsibilities
- Design, develop, integrate, and test embedded software for safety-critical machine applications with a focus on camera and radar-based perception systems.
- Develop high-performance embedded applications using C++ on Linux platforms.
- Design, implement, and optimize radar and camera data processing pipelines for perception and autonomous machine functionality.
- Integrate perception software with embedded hardware, sensors, and machine control systems.
- Debug, troubleshoot, and resolve software, hardware, and system-level issues using industry-standard debugging tools.
- Develop and execute software validation plans, including integration, functional, regression, and system-level testing.
- Collaborate with systems, machine controls, validation, and global engineering teams throughout the software development lifecycle.
- Improve software performance, scalability, stability, and reliability through continuous optimization.
- Participate in software architecture discussions, code reviews, and technical design reviews.
- Support source control, software releases, and configuration management using Git and modern development practices.
Required Skills
Required Technical Skills
- Strong proficiency in C/C++ programming and object-oriented software design.
- Experience developing embedded software on Linux platforms.
- Hands-on experience with camera and radar data processing.
- Experience with embedded communication protocols such as CAN and Ethernet.
- Strong system-level debugging and troubleshooting skills.
- Experience using Git, compilers, debuggers, and software development tools.
- Knowledge of software integration, validation, and testing methodologies.
Preferred Technical Skills
- NVIDIA development ecosystem (CUDA, TensorRT, Jetson, DRIVE platform).
- GStreamer and multimedia pipeline development.
- Experience with robotics, autonomous systems, perception, or sensor fusion.
- Experience with unit testing frameworks such as Google Test (GTest) or C Test.
- Familiarity with real-time embedded systems and safety-critical software development.
Education & Experience
- Bachelor's or Master's degree in Computer Engineering, Computer Science, Electrical Engineering, Robotics, or a related technical discipline.
- 5+ years of experience developing embedded software using C++ in Linux environments.
- Experience developing software for embedded, robotics, autonomous, automotive, or industrial machine applications is preferred.
Top 3 Skills
- Embedded C/C++ software development on Linux.
- Camera and radar perception processing.
- Embedded system integration, debugging, and troubleshooting.
Soft Skills
Required
- Strong analytical and problem-solving skills.
- Excellent verbal and written communication.
- Ability to work effectively in a collaborative, cross-functional, and global engineering environment.
- Self-motivated with strong organizational and time management skills.
Preferred
- Experience leading technical discussions and mentoring junior engineers.
- Ability to manage multiple priorities in a fast-paced product development environment.