This is a full-time role for an
ML Deployment Software Engineer ( C / C++, Embedded / Edge).
The role involves developing, optimizing, and implementing artificial intelligence (AI) models and DSP algorithms for audio. It focuses on low-level programming for operating systems and embedded systems, targeting deployment on the web, local environments, and resource-constrained embedded devices, while maintaining real-time performance.
Work will primarily be based in Austria.
Key Responsibilities :
Compiling AI models from high-level languages to low-level programming, writing and maintaining embedded software, often in C / C++ or Python, on various architectures, such as x86 and ARM. Deploy and integrate AI models directly into applications that run on the device, enabling real-time solutions for voice processing tasks.
Hardware Integration :
Deploy AI models on a variety of edge devices, from microcontrollers to gateways, and ensure they work efficiently with specific hardware accelerators (e.g., CPUs, DSPs, GPUs, NPUs).
Compress, quantize, and prune machine learning models to make them efficient enough to run on local environments, edge hardware with limited resources.
Profiling and debugging models and systems at the system level to analyze performance metrics like CPU / GPU utilization and latency.
MLOps and managing the deployment and updating of AI models in the field, including the use of CI / CD pipelines.
Necessary skills
Bachelor's / Master's / Ph.D. degree in Computer Science / AI / Applied Mathematics / Physics or related fields, specialized in audio, acoustics, and speech signal processing.
Experience with MLOps tools and platforms designed for local and edge deployment, such as NVIDIA Triton Inference Server, Edge Impulse, or ONNX runtime.
Proficiency in programming languages such as C / C++ and Python is essential.
Deep understanding of Python internals or interoperability (Cython, CPython API, PyBind11)
Capability to port high-level Python logic (e.g., signal processing, ML inference) into low-level, efficient C code, for real-time performance
Application of general software engineering best practices, such as version control, testing, and documentation. Skills in software development, programming languages relevant to embedded systems (e.g., C, C++), and an understanding of system architecture.
The ability to approach problems from a user-centric perspective to create solutions that add real value.
The ability to work in a team environment.
Preferred skills
Understanding of machine learning concepts, model optimization techniques, and the ability to work with model conversion tools. Strong knowledge of machine learning concepts, model development, and popular frameworks (e.g., TensorFlow, PyTorch, etc).
Preferably, experience in Audio digital signal processing and working experience with FFMPEG and other similar audio transcoding platforms is a plus.
Strong foundation in embedded systems, including firmware development, real-time operating systems (RTOS), and communication protocols (e.g., SPI, I2C, Ethernet).
An understanding of electronics and hardware interfaces is crucial for successful integration.
Software Engineer • Wien, Wien, Österreich