What are the responsibilities and job description for the Embedded Software Engineer - Perception Systems (C++/Linux) position at ARI?
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
Required Technical Skills
Required
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 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.
- 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.
- 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.
- Embedded C/C software development on Linux.
- Camera and radar perception processing.
- Embedded system integration, debugging, and troubleshooting.
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.
- Experience leading technical discussions and mentoring junior engineers.
- Ability to manage multiple priorities in a fast-paced product development environment.
Salary : $85,000 - $90,000