Embedded Software Engineer - Perception Systems (C++/Linux)

ARi
ARi

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

  1. Embedded C/C++ software development on Linux.
  2. Camera and radar perception processing.
  3. 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.