Software Engineer - Optimisation

We design scalable, energy efficient-processors and related technologies to deliver the intelligence in applications ranging from sensors to servers, including smartphones, tablets, enterprise infrastructure and the Internet of Things.

Arm’s technology is found in billions of connected devices, from mobile to server to IoT. Ensuring that these devices have the ability to communicate securely is vital to nurturing and growing these ecosystems. The Security Libraries team works on ensuring that high quality open-source security software is available to the designers and users of these devices. To achieve this, we work closely with our partners and the open-source community, both on projects where we contribute (such as OpenSSL), and projects where Arm leads the development (such as Mbed TLS).


Job Overview:

We are looking for a software engineer to help us work on open-source security libraries, such as OpenSSL and Mbed TLS. The technical work will involve low-level and embedded development in C, and includes performance optimisation; feature work (e.g., adding support for new crypto algorithms); and analysing and addressing security vulnerabilities. There will also be significant interaction with the open-source community - responding to issues, reviewing submitted code, discussing feature requests, etc.

You will be working in a friendly and supportive team where you will have the opportunity to learn from the extensive crypto experience of some of our senior team members - this is a great opportunity to develop and grow your skills.

You must have excellent C skills, and be capable of writing and reviewing highly robust, performance-sensitive code. Experience in assembly-level development and software optimisation would also be very relevant.

Rust experience would be very nice to have. Experience with SIMD optimisation (e.g., using NEON) would be great. Cryptography experience is valuable, but it is also a strength if you have a strong mathematics background or keen interest in cryptography.

Responsibilites:

  • Developing optimisations for existing algorithms
  • Adding support for new hardware features
  • Implementing cryptographic protocols and standards
  • Analysing vulnerability reports and developing fixes
  • Collaborating with the open-source community

Essential skills:

  • Strong C and low-level development skills
  • Enthusiasm and interest in security & cryptography
  • Software optimisation
  • Low-level (assembly) development

Nice-to-have experience:

  • Rust
  • Cryptography expertise
  • Open Source experience
  • Experience of TLS development

In Return:

Our offices are amazing places to collaborate, but now we've mastered working from home, that will remain an option for part of the week.

If you are interested but unsure whether you tick all the boxes, we would love you to reach out anyway! We are keen to welcome versatile people into Arm.

#LI-MS

Apply now


Add to shortlist

Login or create a free user account to upload your CV and shortlist jobs.

Create account

Other jobs at Arm Ltd

Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:
Closing date:

Looking for something specific?