Staff Software Engineer, Embedded Linux
Magic LeapAbout the role
A new paradigm of computing
Magic Leap is pioneer in spatial computing, developing groundbreaking augmented reality technology that seamlessly blends digital content with the real world. As the creator of the next computing platform, our mixed reality devices unlock new possibilities for how people interact with and experience their surroundings.
Magic Leap could be your place if you want to be part of a united team where everyone is empowered and trusted to make an impact. At Magic Leap, you can explore innovative solutions and use your talents to solve real-world problems. Working alongside industry experts, you can grow your skills and amplify human potential at the intersection of the physical and digital worlds. We know that successful change and progress accelerate diverse perspectives. As we shape our future, everyone's voice matters. Together, we can reimagine the world of work and, with our bold partners, make the impossible possible.
The opportunity
The Product Development and Engineering roles are core of Magic Leap’s revolutionary AR capabilities. These highly collaborative teams are responsible for our organization's engineering and technical operations, performing cutting-edge and complex scientific research and development that is 'defined as we build' to create new AR products, features, and marketplaces. Activities include undertaking research, design, development, and implementation activities to improve Magic Leap’s AR products and services; designing, constructing, testing, and operating equipment; ensuring that standards of quality, cost, safety, reliability, timeliness, and performance are met in production processes; interpreting plans, drawings, and specifications; and collaborating across all Magic Leap teams to ensure our AR product and features provide a high-quality, immersive experience, meeting and exceeding our customer’s needs and our business objectives.
As a Staff Software Engineer in our Embedded Engineering Team, you'll be at the forefront of designing and optimizing device drivers and kernel subsystems required to produce an unparalleled user experience. Your role will focus on, demanding precise timing under significant workloads and innovative scheduling techniques. You'll have the opportunity to make critical technical decisions, significantly influencing the direction and success of our product.
What you’ll do
- Be the technical lead of a small team of Linux kernel engineers, coordinating sprint tasks and helping remove technical roadblocks.
- Design and implement kernel modules and device drivers, working directly within the Linux kernel environment to add new product features and enhance system reliability.
- Debug and resolve complex hardware-software integration issues, utilizing tools such as JTAG debuggers and logic analyzers to maintain system stability and performance.
- Maintain custom Linux distributions on embedded platforms using tools like Buildroot or Yocto, ensuring optimal performance and integration.
- Collaborate with cross-functional teams, including Hardware, Applications, and Middleware, to troubleshoot and resolve memory corruption, timing, and performance issues, and document solutions for future reference.
- Support internal customers as they encounter issues with the API or feature set that we provide them.
- Contribute to the development of the next-generation spatial computing platform, applying strict timing tolerances and careful allocation of compute and memory resources to have a system that performs well while conserving battery power.
- Participate in direct hardware team interactions for device bring-up and debugging, ensuring seamless integration and functionality of hardware and software components.
- Influence the technical direction of our product through making critical decisions in the development and implementation of embedded software solutions.
The experience you bring
- Minimum 7+ years of experience in embedded software development.
- BA/BS in Computer Science, Computer Engineering, or a related field. We are most interested in your total experience and professional achievements.
- In-depth knowledge of embedded Linux kernel development, including experience with custom Linux distribution creation.
- Experience working with complex memory systems, including dedicated SRAM, shared memory systems, and cache-incoherent systems.
- Proficient in C and fluent in C++, with a strong grasp of embedded development practices.
- Familiarity with optimizing Linux performance, managing memory utilization, and developing extensible architectures.
- Proven experience in architecting and implementing drivers for peripherals using interfaces such as I2C, SPI, USB, and PCIe.
- Skilled in
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s