2021 Graduate Software Engineer
5d ago

Job Description

Arm has a range of vacancies for enthusiastic graduates with a passion for embedded software development, Open Source software and CPU Architecture.

If you have a software background and a willingness to learn, you will be considered for work in one of these areas :

  • Software design and implementation of features for our reference Mali Graphics processors (enabling our next generation Mali mobile IPs for APIs such as GLES, Vulkan, OpenCL, EGL) on Android
  • Compiler development using LLVM for GPGPU kernels
  • Compiler development including open source compilation technology for e.g. Apache TVM targeting Arm's CPUs, GPUs and NPUs.
  • Improvements and performance optimisations for Arm Compute Library and ArmNN.
  • Model Conditioning and sophisticated machine language framework optimisations in frameworks like Tensorflow and Pytorch.
  • Performance analysis of NPUs, GPUs or CPUs
  • Arm Secure Firmware development
  • Software stack development to enable Arm IP.
  • Operating system development (Linux, Zephyr, FreeRTOS, mbedOS, etc)
  • Verification of Arm CPUs using full-stack operating system software
  • Development of Software Tools for CPU Verification using Random Instruction Generation
  • Software optimisation (JIT compilers, Android, ChromeOS, )
  • Build environments & Automation tooling
  • If you have an interest in CPU, GPU or NPU architecture and you are passionate about software, whether it’s kernel, driver, application or tools development;
  • If you’d like to know more about how hardware and software interact, then this is an outstanding opportunity for you!

    What will I be accountable for?

    As a Graduate, you will be placed in a development team at Arm’s offices in Cambridge, UK where you will have a dedicated mentor, and be able to get to grips with the problems ranging across many software areas.

    You will work across all aspects of the software lifecycle whilst being supported by and learning from the rest of the team.

    Whilst a lot of our work does involve Open Source software, many tasks require working with development platforms, or simulated hardware environments where features are being developed and tested before the physical devices have been built, so the problems you will be encouraged to understand and pursue are ones that are yet unknown to the general community.

    Job Requirements

    Currently enrolled in a bachelor’s or master’s program, on track to earn a degree in computer science, or a related field

    Essential Skills & Qualities

  • A real passion for computing that goes beyond your studies
  • A creative and structured approach to problem-solving
  • Proficient knowledge of one of C / C++. Candidates with proficiency in Python will be considered for roles in our Machine Learning Group.
  • A strong will and eagerness for learning and self-improvement
  • Desirable Skills and Qualities

    A wide range of roles is available. Depending on the area you choose to pursue, an interest in any of the following would support your application :

  • 3D or GPGPU APIs
  • Knowledge of a leading RISC based computer architecture, ideally Arm
  • Evidence of Open Source project interaction or contribution (patches, bug reports, )
  • Operating system kernel or device drivers
  • Knowledge of low-level assembler programming
  • Compilation technology, JIT (Just In Time) compilers
  • Machine language frameworks like Tensorflow, PyTorch or Apache MXNet.
  • Android, ChromeOS, RedHat, Debian internals / middleware development
  • Linux development or validation
  • Domain specific and novel compiler frameworks like MLIR, Glow, Spiral, Halide, Tiramisu or Apache TVM.
  • Zephyr, FreeRTOS, other RTOS development or validation
  • Low level device driver development and integration experience
  • Understanding of CPU architecture and micro-architecture features (such as caches, MMU, SMP, coherency, CPU pipelines)
  • Familiarity with embedded power management techniques or security technologies
  • An understanding of radio protocol standards such as Bluetooth and / or Wireless LAN
  • Hands on experience with hardware and software debuggers
  • Benefits

    Your particular benefits package will depend on position and type of employment and may be subject to change. Your package will be confirmed on offer of employment.

    Arm’s benefits program provides permanent employees with the opportunity to stay innovative and healthy, ensure the wellness of their families, and create a positive working environment.

  • Annual Bonus Plan
  • Discretionary Cash Award
  • Group Personal Pension Plan with enhanced company contribution
  • Medical, Travel, Health & Life Insurances
  • Holiday, 25 days annual leave with option to buy an additional 5 days per year
  • Sabbatical, 20 paid days every four-year of service
  • Volunteering, One (1) paid working day each year (TeamARM)
  • Varies by location : cycle to work, free car parking, gym on site, team and social events
  • About Arm

    Arm® technology is at the heart of a computing and connectivity revolution that is transforming the way people live and businesses operate.

    From the unmissable to the invisible; our advanced, energy-efficient processor designs are enabling the intelligence in 86 billion silicon chips and securely powering products from the sensor to the smartphone to the supercomputer.

    With more than 1,000 technology partners including the world’s most famous business and consumer brands, we are driving Arm innovation into all areas compute is happening inside the chip, the network and the cloud.

    With offices around the world, Arm is a diverse community of dedicated, innovative and highly talented professionals. By enabling an inclusive, meritocratic and open workplace where all our people can grow and succeed, we encourage our people to share their unique contributions to Arm's success in the global marketplace.

    Report this job

    Thank you for reporting this job!

    Your feedback will help us improve the quality of our services.

    My Email
    By clicking on "Continue", I give neuvoo consent to process my data and to send me email alerts, as detailed in neuvoo's Privacy Policy . I may withdraw my consent or unsubscribe at any time.
    Application form