Back to results

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

  • Peoria, IL, United States

Applications open in a new tab.

Job details

Experience
5+ years of experience developing embedded software using C++ in Linux environments.
Posting language
English
Posted

Original 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.
More about this job

Skills

  • C++
  • Linux
  • Process data
  • Machine control systems
  • Troubleshoot
  • Debugging
  • Software development
  • Git
  • C
  • Communication skills
  • Troubleshooting
  • Debuggers
  • Software development tools
  • Robotics
  • Unit testing
  • Embedded systems
  • Computer engineering
  • Computer science
  • Electrical engineering
  • ICT system integration
  • Problem solving
  • Time management
  • Coaching

Report this job