Are you flexible, with a variety of software development skills and committed to extend the breadth and depth of your knowledge?
Arm is seeking a Software Engineer to work on all aspects of the software life-cycle in our Mobile Computing team.
Responsibilities include porting, debugging, analyzing and optimizing software performance, particularly in one or more these areas: Android OS, ChromeOS, Web browsers, Virtual Machines, JIT compilers. The responsibilities also include collaborating with international teams and the open source community, maintaining and improving an automated build and test frameworks.
Essential Skills & Experience
- Software development experience in C/C++
- Experience of software profiling, analyses and optimisation
- Detailed understanding of a CPU’s internals (pipeline, caches, memory...)
- Experience with version control systems, particularly distributed tools such as Git
- Good written and interpersonal skills
Desirable Skills & Experience
The following skills are not essential for this role, but experience in any of the following areas would improve your application:
- Documented contributions to at least one open source software project, or
- Familiarity with open-source project development cycles and contribution processes
- Experience with Android porting or development (OS level)
- Development experience on embedded platforms and/or real-time operating systems
- Experience with standard GNU/Linux or LLVM tool chains, shells and build tools
- Experience with web browser development (Chromium, webkit, Firefox...)
- Understanding of VM or JIT technology, such as interpreter, JIT compiler, garbage collectors, code generation...
- Knowledge of the Arm architecture