Shama AI
ML Deployment Software Engineer ( C/C++ , Embedded/ Edge)
Shama AIAustria7 hours ago
Full-timeEngineering, Information Technology

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: 

 

·      Software development: 

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). 

·      Model optimization: 

Compress, quantize, and prune machine learning models to make them efficient enough to run on local environments, edge hardware with limited resources. 


  • Performance analysis and Validation: 

Profiling and debugging models and systems at the system level to analyze performance metrics like CPU/GPU utilization and latency. 

  • Deployment and maintenance: 

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.

  • Tools and Platforms: 

Experience with MLOps tools and platforms designed for local and edge deployment, such as NVIDIA Triton Inference Server, Edge Impulse, or ONNX runtime. 

  • Programming languages: 

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 

  • Software engineering: 

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. 

  • Problem-solving: 

The ability to approach problems from a user-centric perspective to create solutions that add real value. 

  • Team-work:

The ability to work in a team environment. 


Preferred skills

  • Machine learning: 

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).

  • Audio Signal Processing 

Preferably, experience in Audio digital signal processing and working experience with FFMPEG and other similar audio transcoding platforms is a plus. 

  • Embedded systems: 

Strong foundation in embedded systems, including firmware development, real-time operating systems (RTOS), and communication protocols (e.g., SPI, I2C, Ethernet). 

  • Hardware familiarity: 

An understanding of electronics and hardware interfaces is crucial for successful integration. 

Key Skills

Ranked by relevance