This job might no longer be available.
Lead Performance Engineer, Software Systems
3 years ago
Company Description
Magic Leap is an eclectic group of people who share a magical vision of the future. And we’re growing.
Our mission is to harmonize people and technology to create a better, more unified world. Our vision is to amplify the best parts of you and to advance the human spirit.
Job Description
Seeking candidates with extensive experience in embedded software on Linux or Android. Engineer that will lead performance and be responsible for analysis, design and software development to reach required Performance targets. Candidate must be able to demonstrate extraordinary skills in attention to system Performance development: understanding complex software systems, perform performance or power-driven design, propose and develop performance features, technical leading of investigation and fixing bottlenecks. Seeking strong communication skills and the ability to work in an environment with interdisciplinary teams.
Experience in the domains below are a must:
- Experience in establishing performance processes: from understanding KPIs to design, coding, testing, validation
- Experience in performance-oriented system architecture design
- Experience in practical performance:
- performance test setup according to KPIs
- proposal, design and implementation of performance improvements or features including operating system engineering
- data statistical evaluation and testing stabilization
- lead engineers for problems diagnosing, bottleneck localization and deep-dive analysis
- Patching code to remove bottlenecks
- Graphics problems analysis, preferable on Vulkan or OpenGL/OpenES
- Extensive experience with system analysis for embedded systems for latency, system interconnect, throughput and bandwidth problems
- CPU/GPU/RAM/Storage profiling and analysis.
- Extensive software development experience with C/C++, Linux software development environment; experience in Linux Inter-process Communication(IPC) & Multi-threading programming
- Skills in using Linux/Android OSS performance tools, ability to select tools based on problem
- Strong understanding of how MM works in Linux
- Excellent communication, training, and documentation skills
Experience in below areas are a plus:
- Development experience for Linux kernel, and device drivers
- Memory profiling and analysis using Valgrind, smem; of memory layout (heap, stack, bss/data, text), localization of corruption for heap and stack allocations
- Resources and power management for embedded system
- ELF format organization, ARM EABI, stack organization and how use it in practice will be a great plus
- Performance tools development
Education:
- MS in Computer Science or equivalent work experience
- Ph.D. preferred
Additional Information:- All your information will be kept confidential according to Equal Employment Opportunities guidelines
#LI-CP1
Create Your Profile — Game companies can contact you with their relevant job openings.