5-7 years of experience in embedded Linux and Android software development
Strong C or C++ programming skills; proficiency in Python or shell scripting
Deep understanding of Linux or Android system internals
Hands-on experience with ARM or similar embedded hardware
Ability to analyze resource use and manage concurrency effectively
Responsibilities
Develop and debug embedded software on capture hardware from board bring-up to deployment
Build reliable services that ensure data preservation during long recording sessions
Measure and enhance system performance, power consumption, and recovery behavior
Collaborate with hardware and test engineers to reproduce and validate field failures
Test software behavior under realistic hardware and operating conditions
Benefits
Opportunity to work on cutting-edge technology in robotics and data collection
Collaborative environment that encourages initiative and ownership of projects
Focus on personal and professional growth with a culture of learning
Flexible work arrangements to support work-life balance
Encouragement to apply even if not meeting every qualification, fostering a diverse applicant pool
Full Job Description
About the Role
You will build the embedded Linux and Android software that makes every recording count. Mecka's ability to collect useful robot-learning data at scale depends on cameras and sensors that record accurately and keep working through demanding everyday use.
You will own critical software from board bring-up through deployment, with depth in camera systems or device platforms. Bring strong systems programming and hardware debugging skills to problems where timing, 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, Android camera HALs, 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 and Android 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.
What You Bring
Strong C or C++ skills and proficiency in Python or shell scripting for embedded development.
Understanding of Linux or Android system internals, including 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, AOSP, Android HALs, Yocto, Buildroot, signed updates, or hardware-in-the-loop testing.
About You
You are ambitious about what you build. You can point to results you personally delivered.
You care deeply about your craft, pursue difficult questions, and learn quickly.
You take initiative and own problems through to results. You work independently, make decisions, and bring others in when needed.
You communicate honestly. You own mistakes, share credit, and help the people around you succeed.
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.