The Software (CE-SW) group is responsible for developing and improving the software ecosystem around Arm's next generation architectures and systems. This means working with processors and other hardware technology not yet available to the public. You will join a team of Software Engineers who share a passion for leaving their mark on the future of computing.
We are looking for highly capable engineers to work in the areas of Client/Server/IoT, ready to use their knowledge and experience to ensure we continue to deliver software with the level of quality demanded by our customers.
If you are similarly passionate about innovative technologies, then we would love to hear from you!
Responsibilities:
- Actively participate in software design, development and test of reference application processor firmware and platform software.
- Develop and maintain automated test cases and test suites (smoke, functional, regression, performance, negative/fault injection).
- Develop, implement and own automation frameworks, including fixtures, plugins, markers, parametrization and test ergonomics for authors.
- Integrate automation with CI/CD pipelines (GitLab CI/Jenkins/GitHub Actions): create, maintain and optimize pipeline jobs and runners, support parallel and matrix jobs, artifact collection and retention.
- Implement SUT adapters and provisioning logic to operate across FVP, emulation and FPGA/SoC targets: console automation, flashing/programming flows, snapshots/checkpoints and boot validation.
- Work with low-level software (bootloaders, device drivers), firmware and pre-silicon validation activities; translate firmware/board bring-up requirements into automated tests.
- Build and maintain artifact & reporting pipelines and automate publishing of results to test management systems.
- Maintain, monitor and optimize test frameworks and CI/CD pipelines — reduce flakiness, shorten provisioning and execution time, and improve developer productivity.
- Triage failures and work cross-functionally with firmware, hardware and platform engineers to root-cause issues and upstream fixes.
Required Skills and Experience:
- 3–6 years of relevant professional experience in software development, test/validation engineering or similar roles.
- Solid C/C++ / Python skills and ability to understand and debug low-level code (firmware, drivers); some assembly knowledge and strong debugging skills preferred.
- Proven experience with software testing or software development.
- Experience building and maintaining CI/CD pipelines (GitLab CI, Jenkins, GitHub Actions or similar) and knowledge of runner/executor models. Demonstrated ability to optimize and harden pipelines for reliability and performance.
- Expertise in application and low-level systems, with a strong understanding of system architecture (preferably ARM), OS fundamentals, bootloaders, and device drivers. Proficiency in Linux/Windows operating systems and driver development is preferred.
- Good understanding of test methodologies: designing test cases, test data, reliability, flakiness handling, and automated test reporting.
- Strong interpersonal skills; excellent written and spoken English.
“Nice To Have” Skills and Experience:
- Experience with Python programming and writing shell scripts.
- Basic understanding of the Linux kernel, system software and device drivers, and Android internals
- Familiarity with open-source project development cycles and contribution processes.
- Experience of software profiling, instrumentation, and optimization.
- Verification and validation of firmware.
- A knowledge of how to test software using various techniques alongside an awareness of the value of CI and automated test systems.
- Experience with Security Development Lifecycle (SDL) practices.
- Familiarity and flexibility in the use of various software development lifecycle methods including Agile.
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
#LI-SA3
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.
Equal Opportunities at Arm
Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.