Senior C++ Software Engineer

Arm
Cambridge, United Kingdom
14 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

Artificial Intelligence
ARM
C++
Software Quality
Data Structures
Software Design Patterns
Middleware
Embedded Software
Firmware
Python
Node.js
Software Architecture
Software Engineering
Software Systems
System Programming
System Software
Multithreading
Information Technology
Bare Metal
Free and Open-Source Software
Operational Systems
Programming Languages

Job description

In this role, you will work on all aspects of our software stack, from bare metal firmware to middleware and application development, in the areas of compute, vision and embedded - with safety, security and AI in mind. You will help us creating a unique developer experience for our customers as well as you will very actively use and contribute to open source software at various layers of our stack.

We seek individuals with exposure, knowledge and excitement about many aspects of system software, helping us to expanding our developer community here at Arm.

If you are similarly passionate about groundbreaking technologies as we are, we'd like to hear from you.

Responsibilities:

  • Design, implement and integrate our core software stack in Arm's automotive compute subsystems.
  • Work with engineers across the organization to bring up and demonstrate new compute/AI platforms with excellent performance.
  • Define and create better tools and infrastructure to enable the rest of the team to write performant and high-quality software.
  • Help plan and prioritize engineering work packages in coordination with project management and tech leadership.
  • Mentor other engineers and uphold high code quality and maintainability standards., Our 10x mindset guides how we engineer, collaborate, and grow. Understand what it means and how to reflect 10x in your work: https://careers.arm.com/en/10x-mindset

Accommodations at Arm

At Arm, we want to build extraordinary teams. If you need an adjustment or an accommodation during the recruitment process, please email accommodations@arm.com. To note, by sending us the requested information, you consent to its use by Arm to arrange for appropriate accommodations. All accommodation or adjustment requests will be treated with confidentiality, and information concerning these requests will only be disclosed as necessary to provide the accommodation. Although this is not an exhaustive list, examples of support include breaks between interviews, having documents read aloud, or office accessibility. Please email us about anything we can do to accommodate you during the recruitment process.

Hybrid Working at Arm

Arm's approach to hybrid working is designed to create a working environment that supports both high performance and personal wellbeing. We believe in bringing people together face to face to enable us to work at pace, whilst recognizing the value of flexibility. Within that framework, we empower groups/teams to determine their own hybrid working patterns, depending on the work and the team's needs. Details of what this means for each role will be shared upon application. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution. Please talk to us to find out more about what this could look like for you.

Requirements

Do you have experience in Software development?, Do you have a Master's degree?, * Bachelor's or Master's Degree or equivalent experience in Computer Science, Electrical Engineering, or a related field.

  • 5+ years of prior experience designing and developing large scale software systems and frameworks.
  • Excellent C/C++ skills with a deep understanding of the C++ standard library.
  • Deep knowledge of software architecture, design patterns, algorithms and data structures.

"Nice To Have" Skills and Experience :

  • Knowledge of Arm architectures and experience in embedded software development.
  • Fluency and passion in additional programming languages, such as Rust, Python or Node.js.
  • Deep knowledge about systems programming, parallel/multi-threaded computing and operating system fundamentals.
  • Exposure to performance critical areas such as graphics programming, AI / ML software stacks, or high-bandwidth real-time communication.

About the company

Arm is the industry’s highest-performing and most power-efficient compute platform with unmatched scale that touches 100 percent of the connected global population. To meet the insatiable demand for compute, Arm is delivering advanced solutions that allow the world’s leading technology companies to unleash the unprecedented experiences and capabilities of AI. Together with the world’s largest computing ecosystem and 22 million software developers, we are building the future of AI on Arm.

Apply for this position