Senior Software Engineer: AI (C/C++) Ref 2022/0003/001 (closed)

 

Salary Market Aligned

Location Singapore

Consultant Jun Lim (R1329913)

Job Ref 2022/0003/001

Date Posted 10 March 2022

Our client is a rapidly growing organisation focused on end-to-end AI engineering. Over the next few years, the Firm is focused on building a vast array of hardware and software products to cater to the growing demand for computer vision and AI applications in Smart Cities, Industry 4.0, defence and medical areas.

Headquartered in Europe, the Firm has clients across the European Union, Middle East, and India. It has operations throughout Asia and Europe and continues to expand globally.

The Role

The Firm is looking for a Senior Software Engineer: AI (C/C++) to be a part of its world-class team. In this role, you will have responsibilities throughout the entire AI stack. Candidates with curiosity, excellence, and the ability to learn quickly will enjoy this role.

Key Responsibilities

  • Write efficient, well-tested C++ code

  • Test, evaluate, and integrate new sensor hardware into the perception system

  • Work with ML engineers to implement and deploy new models

  • Develop and maintain large-scale perception and ML regression tests to aid rapid software development and evaluate performance

  • Work with platform and UI engineers to display useful sensor information

  • Optimise pre-processing/post-processing code to run efficiently on the target device and leverage CUDA kernels to minimise latency and runtimes

  • Build multimedia processing pipelines, including container parsing, format support, codecs, media capture, audio/video synchronisation, real-time communication, validation, and tuning

  • Enable hardware-accelerated video processing, drivers for hardware-accelerated codec blocks, buffer sharing, and synchronise with GPU and display

  • Optimise and improve video codec efficiency, encode rate control, speed, video, pre/post-processing, and error resilience

  • Debug and diagnose quality of end-to-end video experience on the lossy network in real-time communication scenarios

Key Requirements

  • Excellent C/C++ programming and Object-Oriented design

  • Experience with GStreamer, OpenCV, EGL framework, CUDA, TensorRT, NVIDIA visual profiler

  • Experience with video codec standards like H.264/AVC, H.265/HEVC, VP8/VP9

  • Experience with software codecs (OpenH264/x264/x265/libvpx)

  • Experience with drafting or modifying video encoders

  • Experience in WebRTC, building FFmpeg filters and FFmpeg APIs

  • Experience in embedded Computer Vision (Open CV), SIMD, and parallel computing, with a deep understanding of CV algorithms and multimedia image formats

  • Experience with TensorRT as well as ML frameworks like Pytorch, TensorFlow, MXNet, etc.

  • Efficient in SW development in Linux, with a deep understanding of operating system e.g. Linux

  • Good understanding of Data Structures and Algorithms

  • Good understanding of the client multimedia stack, including containers, codecs, and AV synchronisation

  • Strong interest in artificial intelligence and computer vision, awareness of latest developments in deep learning

Good to Have

  • Experience with the application of computer vision and/or AI to video and/or audio streams

  • Experience writing CUDA kernels and TensorRT plugins

  • Good knowledge in SoCs e.g. Tegra, with efficient use of Software development tools like debuggers

Why Join the Firm

  • Be a part of a people-first company that nurtures and rewards employees

  • The best place to work on cutting-edge technologies and innovative products

  • Fast moving, challenging, and unique business problems

  • Flat organisation and commitment to personal development

  • Diverse work environment and highly collaborative team ethics

  • Opportunities for international relocation and transfer

  • Competitive salary and rewards

If you are interested to work at the cutting edge of technology for a high-growth organisation, we would like to talk to you.

Please click the APPLY NOW button and indicate your notice period in your CV. Data provided is for recruitment purposes only.

We thank you for your interest in this position and regret that only shortlisted candidates will be notified.