Principal Software Engineer (Memory)

Plantation, FL 33322 | Temporary

Post Date: 05/29/2018 Job ID: 000000511 Industry: Software Engineer

TRC Professional Solutions, on behalf of the Client, is hiring for a Principal Software Engineer for a 6 month extendable contract opportunity in the Greater Ft Lauderdale Area in Florida.
The ideal candidate will have extensive experience in embedded software on Linux or Android. As a Principal Engineer, you will lead memory initiatives and be responsible for analysis, design and software development to reach required memory targets. Candidate must be able demonstrate extraordinary skills in attention to system software memory management, design and development frameworks, tools for detecting leaks, accounting memory in Linux, design maintainable and scalable software taking into account resources leaks, bad patterns, miss-use of APIs etc., lead of investigation and fixing bottlenecks. Seeking strong communication skills and the ability to work in an environment with interdisciplinary teams.
Must have Requirements/Experience:
Experience defining memory KPIs and making proper system software architecture design, understand principles and design patterns of such systems, design testing cases and metrics
Experience diagnosing and fixing memory/resource bottlenecks
Experience in use Valgrind or similar tools including extensions and APIs
ELF format organization and understanding how dynamic linker works
Knowledge in ARM EABI, stack organization and how use it in practice (stack unwinding)
Analysis of procfs, smaps, maps, and deep knowledge of physical meaning and usage of vss, pss, uss numbers
System and application memory allocation, custom allocators, analysis for fragmentations, resources leaks
Balance between RAM vs. Flash consumption, file systems advanced understanding
Extensive software development experience with C/C++, Linux software development environment; experience in Linux IPC and multithreading programming
Ability to establish test cycle: explain to testers essential parts of testing for memory/resources leaks in RAM or Flash
Excellent communication, training and documentation skills

Experience in below areas are a plus:
Development experience for Linux OS or Android; middleware, kernel, and device drivers
Contribution to Open Source with accepted commits
Advanced memory profiling and analysis taking into account CMA, PMM, ION, dmabuf or similar technologies
Understanding difference Linux vs. Android linkers and ability to explain why this discrepancy was introduced by Android and its side effects
Experience working on performance for computer vision, graphics, multimedia, gaming
Memory profiling and analysis tools development e.g. memory leaks detectors, allocators, guards, etc.

Master degree in Computer Science

Please submit updated resumes to


Not ready to apply?

Send an email reminder to:

Share This Job:

Related Jobs: