Arm: Senior Software Optimization Engineer at Arm (San Jose, CA) (San Jose, CA)
Posted: Dec 6, 2017
As a Senior Software Optimization Engineer at ARM focused on the Mobile Compute segment, you work in a team of open-source developers who share your passion and help ARM maintain its leadership in the low-power market. You focus on Open Source support for the highest performance mobile platforms found in smartphones, tablets and laptops.
On this team your work involves enabling and optimizing software workloads for client compute solutions from smartphones to laptops (Android, ChromeOS, Linux, Web browser, JIT compilers, technologies, etc..). You work on a range of development platforms, software models, and early silicon, sometimes many months before IP is made public by Partners. You work with some of the greatest household names in our industry to help develop, optimize, and deliver the software needed to support cutting-edge ARM IP. You also work closely with partners in the USA and Asia and with software teams in Cambridge, UK to enable key partners and software providers within the ARM software ecosystem.
What will I be accountable for?
- Conduct workload analysis for ARM based platforms
- Optimize software, write, and upstream patches
- Provide innovative solutions
- Collaborate with key partners on technical projects
- Collaborate closely with open-source communities
What skills, experience, and qualifications do I need?
- BS or MS degree (or equivalent work experience), ideally in Computer Science preferred, although other degrees would be considered with relevant professional experience.
- A minimum of five (5) years of experience with software profiling, instrumentation and optimization
- Software development experience in C/C++
- Detailed understanding of a CPU’s internals (pipeline, caches, memory...)
- Documented contributions to at least one open source software project
- Experience with version control systems, particularly distributed tools such as Git
Desirable Skills & Experience:
- Knowledge of web browsers, in particular Chrome, Blink, WebKit
- Knowledge of compilers (parsing, AST, code generation, code optimization, JIT compilation)
- Knowledge of the ARM Architecture
- Familiarity with testing methodology and automated testing systems
- Experience with 32 and 64bit platform architecture and Operating Systems
At Arm, we are proud to have core beliefs that reflect our unique culture and guide our decisions. Our beliefs define how we work together, and how we evaluate candidates. Here is a preview:
- We, Not I
- Take daily responsibility to make the Global Arm community thrive
- Realize that we win when we collaborate — and that everyone misses out when we don’t
- Passion for Progress
- Difficult things can take unexpected directions. Stick with it
- The essence of progress is that it can’t stop. Grow with it and own your own progress
- Be Your Brilliant Self
- Be quirky not egocentric
- Make trust our default position