Job Posting for Senior, Software Engineer, Embedded (Linux Kernel) at Magic Leap - Multiple Locations
Job Description
Magic Leap is seeking a Senior Engineer who has experience working with embedded mobile operating systems. In this role, you will provide your expertise to help us design, optimize, and develop an operating system capable of supporting the most optimal user experience ever seen.
If you are the successful candidate, you will get to work on a system that requires strict timing tolerances under heavy loads, novel approaches to displaying content, and much more. You will get to make tough technical decisions that help shape the direction of our product.
As the ideal candidate, you will have a significant track record of working on embedded device drivers.
Responsibilities:
Architect, Design, Implement, Debug HW-SW drivers for the Magic Leap Platform, including but not limited to device drivers for memory (flash and DDR), SPI, I2C, and GPIO drivers. Architecture, Design will include writing the driver input/output details, peripheral usage, and memory usage details. Implementation will be done to meet product ship acceptance timelines.
Architect, Design, Implement, Linux IOCTLs for the Magic Leap Platform. These will be specific to the Magic Leap platform and can enhance the performance of the device by providing optimized kernel APIs to allow data to flow more efficiently. API changes will have to be documented to allow smooth integration with other software teams.
Debug timing, race conditions, memory issues on a daily basis in a timely manner which may include use of JTAG debuggers, logic analyzers, etc.
Part of team to deliver full Platform SW to rest of Magic Leap SW team, this includes writing drivers for all needed hardware peripherals, writing the software to boot the Operating System (including memory initialization, and platform initialization).
Assist factory with debugging HW-SW issues related to HW bring up; in order to build Magic Leap hardware with quality and deliver units on time to various other teams.
Work with other teams: HW, apps SW, middleware SW to debug cross-functional issues such as memory corruption, timing and performance issues. Write reports on the problem statement and how it was solved to be used as reference for future issues.
Qualifications
Required:
5-8 years experience in embedded software development
Fluent in C and C development
Experience with embedded development practices
Experience desired in Linux and other micro kernels, with sensitivity to performance, memory utilization, security and extensible architectures
Experience with kernel crash analysis and resolution
Experience in writing drivers for various peripherals over various interfaces: I2C, SPI, USB, PCIE
Experience with using JTAG debuggers, logic analyzers and other debuggers
Experience in designing and implementing asynchronous or concurrent multithreaded systems
Must understand common protocols for communication with hardware and other software modules
Must be a good communicator and self-motivated to complete projects, and enjoy hw-sw debugging
Preferred:
2-4 years experience with real-time and time-critical systems
Experience in a high-volume production environment
Experience with commonly-used mobile operating systems (i.e. Android or iOS)
Ability to work directly with hardware team for device bring up and debugging a plus
Experience with embedded databases and interprocessor communication is a plus
Experience with ACPI and bios development is a plus.
Education
BA/BS is required
MS or higher is preferred
Additional Information
All your information will be kept confidential according to Equal Employment Opportunities guidelines.
Salary.com Estimation for Senior, Software Engineer, Embedded (Linux Kernel) in Sunnyvale, CA
$136,209 to $170,254
If your compensation planning software is too rigid to deploy winning incentive strategies, it’s time to find an adaptable solution.
Compensation Planning
Enhance your organization's compensation strategy with salary data sets that HR and team managers can use to pay your staff right.
Surveys & Data Sets
Sign up to receive alerts about other jobs with skills like those required for the Senior, Software Engineer, Embedded (Linux Kernel).
Click the checkbox next to the jobs that you are interested in.
View Core, Job Family, and Industry Job Skills and Competency Data for more than 15,000 Job Titles
Skills Library
Not the job you're looking for? Here are some other Senior, Software Engineer, Embedded (Linux Kernel) jobs in the Sunnyvale, CA area that may be a better fit.
We don't have any other Senior, Software Engineer, Embedded (Linux Kernel) jobs in the Sunnyvale, CA area right now.