Performance Optimization Software Engineer
Linaro is hiring a software developer for our Performance Optimization team. The primary responsibility of the role will be to work with various open source communities, analyze current performance of the projects, find potential bottlenecks, and work to improve the execution performance of the source code on Arm64 platforms. This role will require working with engineers in Linaro, as well as engineers from the various open source communities, and Linaro customers.
Linaro has vast experience in doing performance optimization for Arm platforms. We worked on many aspects of the performance analysis: from reducing memory and energy consumption to simply making things run faster. The focus of this role is mainly on execution time.
Apart from improving performance on various open source projects, which imply working with different programming languages and build environments, we also strive to ensure that the projects we work on don’t regress in the future. Linaro has a performance regression analysis platform that we can leverage for that, but the engineer in this role is responsible for ensuring that this will work as expected by helping whenever needed to integrate our current platform with the different open source projects they would work on.
A day in the life of this team will involve working with the community on the priority projects selected by Linaro customers as requiring performance optimization, identifying potential performance bottlenecks, and working to fix them. That could involve, amongst other things, changes in the algorithms or writing assembly code that is optimized for Arm64 processors. We also need to ensure that the work we do is not lost in the future. So integrating the open source project in Linaro's performance regression analysis platform is essential to keep monitoring any optimizations we do.
The ideal candidate is someone that can work with various programming languages and has knowledge on how to run benchmarks and performance analysis tools to find potential performance bottlenecks. Performance analysis and statistics experience is a must, as the person will have to know how to make good measurements (reducing noise in the measurements, for instance). Having worked with Arm64 platforms and knowledge of the Arm64 assembly language is a plus.
Linaro is a great place to work. If you have a passion for open source, cutting edge software for devices, and you want to be part of a true development community, then you belong at Linaro. Linaro offers you the opportunity to work remotely with an outstanding environment for professional growth, all while working alongside a team of world-class open source and Arm software experts working with leading-edge technology.
Required travel: Some domestic and international travel will be required for conferences and team working sprints.
Key responsibilities will be a subset of the following:
Required skills and experience:
Desired skills and experience: