Back to Jobs
Recently postedFull timeTechnology

Systems Software & Middleware Engineer (C++)

MaxinsightsSanta Clara🇺🇸United States

Quick overview

SeniorityMid Senior
Employment typeFull Time
Work modeOn Site
LocationSanta Clara, United States
RoboticsC++PythonLinux

Job description

Job Description:

Location: Santa Clara, CA, United States
Work Arrangement: On-site

About the Role

We are looking for a Systems Software & Middleware Engineer to develop and optimize high-performance software for robotics data collection systems. In this role, you will work across software and hardware interfaces to build reliable device-side data recording systems, develop efficient data communication middleware, and improve overall system performance.

You will collaborate closely with hardware, sensor, algorithm, testing, and data platform teams to integrate components, troubleshoot issues, and deliver robust software for real-world robotics applications.

Key Responsibilities

  • System Integration & Optimization: Debug and optimize integrated hardware and software systems for data collection, working closely with hardware engineers to validate system functionality, improve stability, and enhance performance.

  • Device-Side Data Recording: Develop on-device data recording systems that manage video, audio, IMU (inertial measurement unit) data, and device status information, including data organization, buffering, storage, and integrity validation.

  • High-Performance Middleware Development: Design and implement device-side middleware for efficient data exchange, including publish-subscribe messaging, inter-process communication (IPC), shared memory, message queues, and zero-copy data transfer.

  • Cross-Functional Integration & Delivery: Collaborate with sensor, algorithm, hardware, testing, and data platform teams to integrate system components, validate performance, troubleshoot issues, and support product delivery.

Required Qualifications

  • Bachelor's degree in Computer Science, Software Engineering, Electrical Engineering, Automation, or a related technical field.

  • Strong proficiency in C++ or Python, with solid programming fundamentals, good software engineering practices, familiarity with common design patterns, and experience with code refactoring.

  • Proficiency in C++11 or later, Linux development environments, and build tools such as GCC, G++, and CMake.

  • Strong foundation in Linux systems programming, including process and thread management, memory management, network programming (TCP/UDP), and serial communication.

  • Strong debugging and problem-solving skills, with the ability to independently own a software module throughout its lifecycle, from design and development through testing, deployment, and maintenance.

Preferred Qualifications

  • Experience with embedded Linux systems, including Device Tree Source (DTS) configuration, device driver configuration, or system boot process debugging.

  • Familiarity with multimedia frameworks and pipelines, including V4L2, GStreamer, and FFmpeg, with experience optimizing video and audio processing workflows.

  • Experience working with hardware-specific multimedia frameworks or embedded media stacks is a plus.

Default Benefits:

  • Health insurance

  • Vision care

  • Dental coverage

  • 401(k)

  • Paid holidays

  • PTO (Paid Time Off)

  • Sick leave

Similar jobs