This job might no longer be available.
Principal, Software Engineer, Performance
2 years ago
Job Description:
Seeking candidates with extensive experience in embedded software on Linux or Android. This individual will lead software performance and be responsible for analysis, design and software development to reach required performance targets. This individual must be able to demonstrate extraordinary skills in attention to system performance development: understanding complex software systems, design maintainable and scalable software, performance features, and leading 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 early system requirements to product KPIs, design, coding, testing, validation
- Experience in hardware analysis and its impact to KPIs
- Experience in performance oriented system architecture design
- Experience in practical performance:
- issues analysis including data statistical evaluation and deep code profiling, bottleneck localization
- producing patches which solves findings for full AOSP stack
- recommendations/development of test cases to cover discovered issues for future
- Extensive experience with system analysis for embedded systems for latency, system interconnect, throughput and bandwidth problems
- CPU/GPU profiling and analysis.
- Extensive software development experience with C/C++, Linux software development environment; experience in Linux Inter-process Communication(IPC) & Multi-threading programming
- 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) and in general how VMM works in Linux
- Resources and power management for embedded system
- ELF format organization, stack organization and how use it in practice will be great plus
- Performance tools development
Education:
- Master or Doctorate degree in Computer Science or equivalent work experience
Additional Information
- All your information will be kept confidential according to Equal Employment Opportunities guidelines
Create Your Profile — Game companies can contact you with their relevant job openings.