• students/interns
  • contractors
  • consultants
  • temporary
  • graduate
  • experienced professionals
  • Category 1
  • Category 2
  • Category 3
  • Category 4
  • Category 5
  • Category 6
  • Country 1
  • Country 2
  • Country 3
  • Country 4
  • Country 5
    Search

    Graduate Software Engineer

    • 15208
    • Software Engineering
    • Graduates
    • Central Engineering - GPU
    • Central Engineering - GPU Engineering
    • UK
    • Cambridge
    • UK

    Share:

    We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.

    Job Description

    Are you looking for an exciting and meaningful role on the cutting edge of parallel processing on mobile GPU technology? 

    You will join a dynamic Agile software development team working on the OpenCL drivers for the next generation Mali™ mobile GPUs. You will develop with the latest yet-to-be-published Android versions and will help craft the technologies that the mobile market will see in years to come. 

    If you wish to influence the products and technology that billions of people will use around the globe, then this is an unparalleled opportunity.


    “At the end of the talk, Son shook Segars’ hand. He said that Arm is indispensable not just to SoftBank, but to the whole of humankind”

    https://www.wired.co.uk/article/softbank-vision-fund 

    You will need embedded software development and optimization skills, but previous experience of GPUs is not essential. 

    This inclusive multinational development team is located in a pleasant (and growing) campus in Cambridge, the technological centre of the UK. 

    Job Purpose 

    Our team writes the layer of the driver that implements the popular OpenCL and RenderScript APIs, which provide massively parallel execution of general purpose (C-like) code on Mali GPUs, often known as GPGPU (General Purpose computing on the GPU). If you want to develop your skills and understanding in these technologies this is the opportunity for you. 

    Our many customers have performance-critical GPGPU use cases that include:

    • Machine learning (ML)
    • Image processing & computer vision (CV)
    • Video encoding and decoding
    • Virtual reality (VR), and augmented reality (AR). 

    Mobile devices are highly constrained environments, and our challenge is to provide this complex functionality, while improving both dependability and efficiency. 

    Join us and together we will make GPGPU and Mali a success in our customers hands. 

    Day to day activities: 

    The role will involve bringing up the driver on new GPUs, the design and implementation of a roadmap of new features and tests, as well as improving the benchmarking, maintenance and optimisation of existing areas of the driver. 

    You will work in a Linux environment, coding and debugging for Arm-based targets including models, FPGAs and silicon from our partner companies (thereby covering past, present and future generations of our designs). 

    We value proactivity and enthusiasm and look to our engineers to be the source of new ideas and innovations. 

    As a member of an Agile team you will have the chance to try your hand at all aspects of our work. Engineers grow their expertise through in-house and externally hosted training, and through peer code reviews. 

    You will be working closely together with our community of engineering teams across Arm’s European design centres to develop drivers for the current and the next generation of Arm Mali GPUs. 

    Especially close is our relationship with the LLVM-based compute compiler team (who are in the same building). 

    One of the phenomenal things about working at Arm is that if you have a question about another component, whether that be software, tooling, or even the hardware underneath, you can speak directly to the in-house designer, most of whom are in Cambridge. 

    Over the years, engineers develop into specialised experts, generalists, or transition to other disciplines such as project and product management. 

    What will I be accountable for? 

    • Writing code to implement the required task (feature, test, bugfix, etc).
    • Test and analyse the functionality and performance of your code (both using models FPGAs and silicon platforms).
    • Reviewing other people’s code.
    • Investigating issues with our driver.
    • Engaging with the rest of the team for investigation, estimation and planning purposes.
    • Promoting and demonstrate the Arm core beliefs and behaviours.

    Job Requirements

    What skills, experience and qualifications do I need? 

    Essential 

    • Experience in C programming
    • Awareness of efficient programming concepts
    • Good written and spoken English.
    • A good understanding of embedded hardware architectures
    • Proficiency in problem solving and debugging.
    • Good interpersonal team-working skills, self-motivated and results focused.
    • Understanding of software engineering development practices
    • A practical, organized and analytical approach to work. 

    Desirable 

    • Experience with programming with C++
    • Experience with using OpenCL, CUDA, or Renderscript
    • Knowledge of the internal operation of compilers (particularly LLVM)
    • Scripting languages, especially Python and bash
    • Knowledge of software optimisation and instrumentation techniques
    • Experience developing software for Linux or Android based systems.
    • Knowledge of version control and bug tracking tools.
    • Experience in the creation and maintenance of test suites.
    • Experience in creating design and test specifications.
    • Experience with Agile development processes
    • Experience of driver or HAL development.
    • Experience of software development for a commercial organization.
    • The option to travel occasionally to meet our teams in other sites.

    What are the desired behaviours for this role?

    Arm is proud to have a set of behaviours that differentiate our talent in the marketplace. These are embedded in all our roles and applicants are encouraged to showcase their attitudes/behaviours as part of the application process: 

    • Operates effectively and openly in teams and shares both knowledge and successful partnerships
    • Builds strong and positive relationships based on mutual trust
    • Actively seeks out and supports alternative viewpoints and ideas
    • Applies critical thinking to select the best way forward
    • Demonstrates a positive attitude in gaining insight from team experiences and is receptive to feedback
    • Passionate about the success of others and actively provides support for their development
    • Listens and explores alternative perspectives before carefully shaping work that will deliver impactful results
    • Motivates rather than pushes when influencing colleagues
    • Acts with a thoughtful sense of urgency
    • Demonstrates an effective, can-do attitude
    • Thinks and acts in the best interests of our customers and partners
    Strives to achieve the most optimal outcomes for Arm and our customers

    ARM Benefits

    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.

    About the office

    At our global HQ in Cambridge, England we house the majority of our engineering and our corporate groups that deliver our extraordinary success. As a world-renowned university town, Cambridge boasts both a beautiful countryside and a historical town center. Local activities include punting on the River Cam and the many museums that reside within Cambridge University.

    Cambridge, UK - Global HQ
    Arm Ltd.
    110 Fulbourn Road
    Cambridge
    GB-CB1 9NJ
    See on Google maps