About the Role
Job Overview
Every day, billions of people use the Web to stay informed, entertained, and educated. On Android, Chromium is the technology that makes it possible. Could your insights unlock next-generation Web performance for the Arm platform? Can your security expertise ensure everyone's safer online? If so, let's make it better! Arm's Userspace Enablement team is seeking a skilled, and motivated C/C++ engineer to work on the Android and Chromium open-source projects.
Responsibilities
In this role, you'll collect and analyse performance data to find optimisation opportunities on today's hardware. You will also help get Chromium running well on tomorrow's Arm systems. You'll work with our team and across the company to improve the LLVM compiler and toolchain, the V8 JavaScript engine, the Linux kernel and scheduler, as well as the Arm architecture and future CPU technologies. Your day-to-day will involve:
- Tracing, analysing, benchmarking, and investigating web workloads with Perfetto and Simpleperf to understand bottlenecks
- Developing, testing, and improving Chromium using the C, C++, and Rust programming languages
- Preparing experimental builds for other teams within Arm and improving our continuous integration, testing, benchmarking, and delivery systems
- Working on sandboxing, inter-process communication, and security topics
Required Skills and Experience
- Strong C and C++ fundamentals
- A curiosity about all aspects of computer architecture and design, code-generation, compilers, linkers, ABIs, kernels, and assembly language
- Strong presentation and persuasion skills
- A good grasp of statistics and data analysis
“Nice To Have” Skills and Experience
- Experience with one other programming language (e.g. Python, TypeScript, Java, Rust)
- Experience with SIMD or GPGPU programming techniques
- Experience/interest in core web technologies (HTML, CSS, JavaScript)
In Return
It's an opportunity to learn from the best in the industry. Your line manager will support you and offer ongoing feedback, and development opportunities. You will be given some flexibility and freedom in how you decide to complete your projects/tasks. All meetings are remote-friendly: we encourage hybrid working and maintaining a great work-life balance.
Requirements
C and C++ fundamentals
Strong understanding of C and C++ programming languages is essential.
Computer architecture knowledge
Curiosity about computer architecture, design, and related technologies is important.
Presentation skills
Strong presentation and persuasion skills are required.
Data analysis skills
A good grasp of statistics and data analysis is necessary.
Nice to Have
Experience with another programming language such as Python, TypeScript, Java, or Rust is beneficial.
Experience with SIMD or GPGPU programming techniques is a plus.
Interest or experience in core web technologies like HTML, CSS, and JavaScript is advantageous.
Benefits
Learning opportunities
Opportunity to learn from industry experts with ongoing feedback and development.
Flexible work environment
Flexibility in how you complete your projects/tasks is provided.
Remote-friendly meetings
All meetings are remote-friendly, promoting a hybrid work model.