5-7 years of experience in embedded Linux software development
Strong C or C++ programming skills
Proficiency in Python or shell scripting
Hands-on experience with ARM or similar embedded hardware
Deep understanding of Linux processes and system-level debugging
Ability to analyze resource use and manage concurrency
Responsibilities
Develop and debug embedded Linux software on capture hardware
Build reliable services to preserve recordings during long sessions
Measure and enhance system performance and power consumption
Collaborate with hardware and test engineers to reproduce field failures
Validate software fixes across various device configurations
Benefits
Encouragement to apply even if not meeting all qualifications
Focus on capability and potential over a perfect match
Opportunity to work on cutting-edge technology in robotics
Collaborative work environment with hardware and software teams
Potential for professional growth in a specialized field
Full Job Description
About the Role
Build the embedded Linux software that turns cameras and sensors into recording systems people can use every day. Your work will preserve the timing and integrity of the data that Mecka collects for robot learning, from the first board bring-up through years of operation.
Bring depth in camera systems or device platforms. You will solve problems close to the hardware, where throughput, power, storage, and recovery must work together through long recording sessions and interruptions. Relevant Specializations
Bring depth in at least one of these areas:
Camera systems: Linux drivers, capture and encoding, sensor synchronization, buffering, storage throughput, and sustained recording performance.
Device platforms: boot and system images, provisioning, device identity, remote updates, rollback, and recovery after interrupted installations.
What You Will Do
Develop and debug embedded Linux software on real capture hardware, from board bring-up through deployment.
Build reliable services and data paths that preserve recordings through long sessions and interrupted operations.
Measure and improve system performance, power consumption, resource use, and recovery behavior.
Reproduce field failures with hardware and test engineers, and validate fixes across supported device configurations.
Skills and Experience
Strong C or C++ skills and proficiency in Python or shell scripting for embedded development.
Understanding of Linux processes, threads, memory management, I/O, filesystems, and system-level debugging.
Hands-on experience developing and troubleshooting software on ARM or comparable embedded hardware.
Ability to profile resource use and reason about concurrency, timing, data integrity, and failure recovery.
Experience building reproducible software releases and testing behavior under realistic hardware and operating conditions.
Nice to Have
Experience with V4L2, GStreamer, camera ISPs, Yocto, Buildroot, signed updates, or hardware-in-the-loop testing.
A Note on Applying
Studies show women and candidates from underrepresented groups often only apply when they meet 100% of the listed qualifications, while others apply after meeting 60%. If you don't check every box above but believe you can do the job, we encourage you to apply - we're looking for capability and trajectory, not a perfect checklist match.