Job Overview:
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!
We are looking for a range of experienced individuals to 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:
1. 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.
2. Models vs. RTL Co-Verification: Collaborate with the verification team to ensure models achieve bit-accurate alignment with hardware RTL designs.
3. Enhancing Frameworks: Develop and maintain C/C++ frameworks that support Media IP modelling, ensuring feature completeness, scalability, and seamless testing.
4. Code Optimisation: Implement algorithms with a strong focus on efficiency. Minimise computational and memory resource usage while meeting performance goals.
5. 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.
Required Skills and Experience:
1. Modern C++ Proficiency: Extensive experience with modern C++ standards (C++11 and newer). Strong understanding of the Standard Template Library (STL) for efficient programming.
2. 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.
3. Problem-Solving and Debugging: Proven ability to quickly identify, isolate, and resolve software issues. Skilled at addressing challenges in both development and debugging environments.
4. 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:
1. 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.
2. Video Codec Experience: Familiarity with standard video codecs (e.g., H.264, H.265, AV1) and their integration in media pipelines.
3. GPU Programming: Hands-on experience with GPU programming technologies, such as CUDA or OpenCL, to optimise performance for high-computation tasks.
4. Scripting Knowledge: Proficiency in at least one scripting language like Python for automation and tool integration.
5. Mentoring Junior Engineers: Experience guiding junior engineers, sharing knowledge, and helping them grow into confident team contributors.
6. 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.
#J-18808-Ljbffr