Senior Software Engineer - Media IP Modelling

Arm Limited
12 days ago

Role details

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

Job location

Tech stack

Artificial Intelligence
Build Automation
C++
Nvidia CUDA
Computer Programming
Continuous Integration
Data Structures
Software Debugging
H.264/MPEG-4 AVC
Image Quality
Internet Service Provider
Python
OpenCL
Software Engineering
Subsystems
Video Codec
Scripting (Bash/Python/Go/Ruby)
Standard Template Library (STL)
Gerrit
High Efficiency Video Coding (HEVC)
Gpu Programming
Gitlab
GIT
Hardware Infrastructure
Software Version Control
Jenkins

Job description

The Systems Media IP group is responsible for the development of Image Signal Processors (ISPs), Display Processors, and Video codecs for deploying within Arm Compute Subsystems for various end markets, including automotive, IoT, and client market segments. Our intellectual property encompasses RTL, reference drivers, tools, and libraries, enabling our customers to build upon our work to create innovative products!

Join our dedicated team of software engineers, passionate about crafting innovative technology and solving real-world challenges. You'll work across multiple projects, collaborate with experts in modelling, design, verification, and image quality, and make a significant impact from day one. We value hands-on experience, ownership, and a grounded, friendly environment.

Responsibilities

Your key responsibilities will include:

  • Developing C/C++ Models: Design and implement robust models for various Media IPs, simulating the behaviour of hardware components to ensure accurate and high-performance functionality.
  • Models vs. RTL Co-Verification: Collaborate with the verification team to ensure models achieve bit-accurate alignment with hardware RTL designs.
  • Enhancing Frameworks: Develop and maintain C/C++ frameworks that support Media IP modelling, ensuring feature completeness, scalability, and seamless testing.
  • Code Optimisation: Implement algorithms with a strong focus on efficiency. Minimise computational and memory resource usage while meeting performance goals.
  • Collaboration with Image Quality Specialists and Researchers: Work with experts to create test cases using real images. Add model features to enable prototyping and innovation, fostering new advancements., 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

  • Modern C++ Proficiency: Extensive experience with modern C++ standards (C++11 and newer). Strong understanding of the Standard Template Library (STL) for efficient programming.
  • Awareness of Algorithms and Data Structures: Understand their use cases, strengths, and limitations. While AI and libraries handle many implementations, knowing when and why to apply these concepts is crucial for solving complex problems.
  • Problem-Solving and Debugging: Proven ability to quickly identify, isolate, and resolve software issues. Skilled at addressing challenges in both development and debugging environments.
  • Strong Communication Skills: Ability to convey technical ideas clearly and concisely. Effective in verbal and written communication for team discussions, cross-team collaboration, and documentation.

"Nice To Have" Skills And Experience

  • Image Processing Fundamentals: A basic understanding of image processing techniques, such as de-noising, filtering, tone mapping, demosaicing, and other related algorithms, enabling you to contribute meaningfully to our media-focused projects.
  • Video Codec Experience: Familiarity with standard video codecs (e.g., H.264, H.265, AV1) and their integration in media pipelines.
  • GPU Programming: Hands-on experience with GPU programming technologies, such as CUDA or OpenCL, to optimise performance for high-computation tasks.
  • Scripting Knowledge: Proficiency in at least one scripting language like Python for automation and tool integration.
  • Mentoring Junior Engineers: Experience guiding junior engineers, sharing knowledge, and helping them grow into confident team contributors.
  • CI/CD and Version Control: Familiarity with tools like Jenkins for automated builds and testing. Proficient in Git and collaboration platforms such as Gerrit or GitLab for managing codebases.

In Return

You will get to utilise your engineering skills to build multimedia technologies and influence millions of devices for years to come. You will be able to drive and bring your ideas to a wider audience, while building your technical leadership and influencing skills.

Apply for this position